嵌入式软件设计是计算机科学与技术/软件工程专业嵌入式方向的专业方向课,是一门实践性、技术性很强的重要课程。本课程的主要任务是全面介绍基于ARM/嵌入式Linux操作系统的GNU C语言程序设计思想、方法与技术。通过本课程的学习,使学生掌握嵌入式软件设计的基本流程、基本知识、开发环境、软件架构和编程技巧,为后续从事嵌入式学习以及未来从事嵌入式系统开发工作,打下一个良好的基础。
本课程共计14章,主要内容如下:
1、概述:嵌入式系统概念、嵌入式软件设计概述;
2、嵌入式C编程综述:基于ARM平台的C直接编程方法(无操作系统);
3、ARM C程序优化设计:通过反汇编分析如何在ARM平台进行高效的C程序设计;
4、Linux操作系统:Linux的基础知识和基本操作命令;
5、Linux编程工具链、Makefile:介绍vi、GCC、gdb等工具链组件,以及软件工程工具Makefile的撰写方法;
6、嵌入式软件平台构建:Bootloader、OS内核、嵌入式软件设计流程等;
7、文件目录和内存操作:嵌入式Linux平台下使用C语言进行文件、目录和内存编程;
8、进程与线程:嵌入式Linux平台下使用C语言进行进程控制和线程编程;
9、信号:嵌入式Linux平台下使用C语言进行信号的产生、发送、捕获等操作;
10、进程间通信:嵌入式Linux平台下使用C语言进行信号量、共享内存、消息队列等操作;
11、套接字:套接字的原理介绍,服务器端和客户端套接字程序设计方法;
12、驱动程序及实例:模块和驱动程序设计原理介绍及实例分析;
13、STM32编程方法:STM32处理器简介及编程方法介绍;
14、Proteus虚拟仿真:Proteus仿真工具介绍及编程方法介绍。
本课程资源完备,课程内容共计80个知识点,配套有80个短视频(每个10分钟左右)和80份多媒体课件,每章课后均由配套习题,课程所有的代码均调试通过。课程资源适用于32学时课程,每周4学时,也可由任课教师灵活调整为48学时。