Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

XuetangX

嵌入式软件设计

East China University of Science and Technology via XuetangX

Overview






嵌入式软件设计是计算机科学与技术/软件工程专业嵌入式方向的专业方向课,是一门实践性、技术性很强的重要课程。本课程的主要任务是全面介绍基于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学时。




Syllabus

  • 第一章 概述
    • 1.1 嵌入式系统概述
    • 1.2 嵌入式软件设计概述
  • 第二章 嵌入式C编程架构
    • 2.1 软件架构
    • 2.2 C的面向对象化
    • 2.3 汉字处理
    • 2.4 屏幕操作
    • 2.5 输入事件
  • 第三章 ARC C程序优化
    • 3.1 优化思路
    • 3.2 变量的数据类型选择
    • 3.3 次数固定的循环优化
    • 3.4 次数不定的循环优化
    • 3.5 循环展开
    • 3.6 指针别名
    • 3.7 结构体
  • 第四章 Linux操作系统
    • 4.1 Linux简介
    • 4.2 Linux的shell
    • 4.3 Linux的基本操作
    • 4.4 Linux的网络命令
  • 第五章-1 Linux C编程工具链
    • 5.1 工具链概述
    • 5.2 编辑器vi
    • 5.3 gcc简介
    • 5.4 gcc的使用
    • 5.5 gdb简介
  • 第五章-2 Makefile
    • 5.6 Makefile工作原理
    • 5.7 Makefile实例分析
    • 5.8 Makefile设计
    • 5.9 Makefile综合实例
  • 第六章 嵌入式软件平台构建
    • 6.1 基于Linux的嵌入式平台
    • 6.2 BootLoader
    • 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.3 Linux设备驱动程序简介
    • 12.4 驱动程序的数据结构
    • 12.5 虚拟字符设备驱动程序实例
  • 第十二章-2 驱动程序实例
    • 12.6 蜂鸣器驱动程序
    • 12.7 中断按键驱动程序
    • 12.8 键盘驱动程序
  • 第十三章 STM32编程方法
    • 13.1 STM32简介
    • 13.2 STM32常用片内资源
    • 13.3 GPIO编程方法--寄存器方式
    • 13.4 LED流水灯实例--GPIO寄存器方式
    • 13.5 GPIO编程方法--标准库方式
    • 13.6 LED灯闪烁实例--GPIO标准库方式
  • 第十四章 嵌入式软件仿真
    • 14.1 Proteus简介
    • 14.2 流水灯仿真实例
    • 14.3 通用定时器仿真
    • 14.4 外部中断仿真
  • 期末考试

    Taught by

    Xiaochen Lai, Jianjian Shen, and Hui Liu

    Tags

    Reviews

    Start your review of 嵌入式软件设计

    Never Stop Learning.

    Get personalized course recommendations, track subjects and courses with reminders, and more.

    Someone learning on their laptop while sitting on the floor.