嵌入式软件设计
分享
课程详情
课程评价
spContent=本课程内容是授课教师十二年来的经验总结,课程资源制作历时近1年,包括77集授课视频(总时长约800分钟)、80份多媒体课件、16套课后习题,以及全部章节对应的代码资源。 课程内容组织为16节次,适合32学时~48学时授课使用。
—— 课程团队
课程概述

    嵌入式软件设计是计算机、软件工程等学科的专业方向课,是一门实践性、技术性很强的重要课程。本课程的主要任务是全面介绍基于ARM/嵌入式Linux操作系统的GNU C语言程序设计思想、方法,以及基于STM32处理器和Proteus的嵌入式仿真技术。通过本课程的学习,使学生掌握嵌入式软件设计的基本流程和方法。

授课目标

(1)了解嵌入式系统、嵌入式软件的基本概念

(2)熟练掌握嵌入式软件设计的开发工具链

(3)熟练掌握嵌入式Linux C编程的一般方法

(4)能够针对特定硬件编写驱动程序

(5)掌握STM32、Proteus的基本使用方法

课程大纲
知识点视频
知识点序号知识点名称
第一章   概述1.1嵌入式系统概述
1.2嵌入式软件设计概述
第二章   嵌入式C编程架构2.1软件架构
2.2C的面向对象化
2.3汉字处理
2.4屏幕操作
2.5输入事件
第三章   ARC C程序优化3.1优化思路
3.2变量的数据类型选择
3.3次数固定的循环优化
3.4次数不定的循环优化
3.5循环展开
3.6指针别名
3.7结构体
第四章   Linux操作系统4.1Linux简介
4.2Linux的shell
4.3Linux的基本操作
4.4Linux的网络命令
第五章-1   Linux C编程工具链5.1工具链概述
5.2编辑器vi
5.3gcc简介
5.4gcc的使用
5.5gdb简介
第五章-2   Makefile5.6Makefile工作原理
5.7Makefile实例分析
5.8Makefile设计
5.9Makefile综合实例
第六章   嵌入式软件平台构建6.1基于Linux的嵌入式平台
6.2BootLoader
6.3应用程序设计流程
第七章   文件目录和内存操作7.1文件的属性
7.2文件操作
7.3文件操作举例
7.4目录操作
7.5获取目录列表
7.6内存映像
7.7内存映像举例
第八章   进程与线程8.1进程创建
8.2在进程中启动程序
8.3等待进程结束
8.4线程简介
8.5多线程编程举例
8.6线程同步
8.7线程的属性
第九章   信号9.1信号简介
9.2发送和捕获信号
9.3更健壮的信号接口
9.4信号集处理
第十章   进程间通信10.1有名管道
10.2无名管道
10.3信号量简介
10.4信号量举例
10.5共享内存简介
10.6共享内存举例
10.7消息队列简介
10.8消息队列举例
第十一章   套接字11.1套接字简介
11.2套接字举例
11.3套接字接口函数
11.4网络套接字
11.5访问系统服务
11.6多客户
第十二章-1   模块与驱动程序12.1内核模块简介
12.2内核模块设计
12.3Linux设备驱动程序简介
12.4驱动程序的数据结构
12.5虚拟字符设备驱动程序实例
第十二章-2   驱动程序实例12.6蜂鸣器驱动程序
12.7中断按键驱动程序
12.8键盘驱动程序
第十三章   STM32编程方法13.1STM32简介
13.2STM32常用片内资源
13.3GPIO编程方法--寄存器方式
13.4LED流水灯实例--GPIO寄存器方式
13.5GPIO编程方法--标准库方式
13.6LED灯闪烁实例--GPIO标准库方式
第十四章   嵌入式软件仿真14.1Proteus工具介绍
14.2LED流水灯实例
14.3定时器实例
14.4外部按键中断实例


预备知识

1C or C++语言

2)计算机组织与结构

3ARM体系结构

4)操作系统原理

5Linux操作系统


证书要求

60分(含)以上发放合格证书,85分(含)以上发放优秀证书。

参考资料

《嵌入式软件设计》 赖晓晨主编 清华大学出版社   2016年第一版 ISBN:9787302429852

常见问题

赖晓晨老师的研究方向为嵌入式系统、人工智能、机器学习

联系方式:laixiaochen@dlut.edu.cn

欢迎联系保送及报考研究生