嵌入式软件设计
嵌入式软件设计
5万+ 人选课
更新日期:2025/05/20
开课时间2025/03/03 - 2025/05/30
课程周期13 周
开课状态开课中
每周学时-
课程简介

第一次上课前首先看这里啊啊啊啊^0^^^^^^^^^^^^^

加入课程:注册中国大学MOOC的账号,通过课程查询找到本课程,加入课程学习

课程定位:本课程的定位为混合式课程,关于课程的各方面情况介绍,以先介绍纯线上MOOC课程,后补充SPOC课程建议的方式列出。

教学大纲:课程资源组织为16节课的形式(14章内容),大家可在下方看到以章节名目排列的课程大纲。

学时安排:本课程按照每周2次课,各2学时设计,8周完成课程全部32学时学习。同学们可以自由选择每周的学习时间。

课程资源简介:课程资源包括91集授课视频和拓展学习视频、106份非视频资料、16套课后习题、2套单元测试和1套期末测试,以及全部章节对应的代码资源。大家可以在本网站左边侧的课件栏目中找到所有课程资源。

教学活动安排:

1. 每章均有授课视频、课件等资源每节课后,均有自测题,需要同学们自学完成。

2. 每节课后均有作业题,包括5道左右选择题,以及数量不等的讨论题,用于检测学习效果。

3. 本课程在进行过程中,安排了两次单元测试,需要大家按时完成。

4. 本课程结课之前,需要所有同学按时完成一套期末考试题。

教师线上答疑及作业反馈:教师每周上线回复所有讨论问题。

课程技术:

1.进行本课程的纯线上教学时,须采用本平台的讨论区、作业区;

2.进行本课程实验时,同学们须自备计算机,并安装有Linux系统及C语言编辑器、编译器、链接器、调试器,即能够完成对课程实例的调试,对应学习目标2-4及学习目标5的虚拟驱动部分;安装Proteus虚拟仿真软件,能够完成课上虚拟仿真电路的设计与调试,对应学习目标6的Proteus部分。


混合式教学:

1. 教学模式

本课程采用混合式教学时,包括线上教学和线下教学两部分内容。线上环节中,同学们需要在课前自学完成当次课所有教学资源;线下环节中,教师可在自己的SPOC班中组织翻转课堂,进行课程内容讨论、答疑、课上练习、课堂测试、专题报告等内容。

2. SPOC教学建议

进行混合式SPOC教学的老师,可根据自己学校的实际情况,自行确定授课的时间和地点,推荐每周4学时,采用带有多媒体设备和圆桌教室组织翻转课堂。

3. 雨课堂技术

本课程推荐使用雨课堂软件进行线下翻转课堂教学,同学们可通过弹幕及时向教师提问,并随时解答教师安排的课内练习题。教师课通过对弹幕问题的回答,及时解决学生的问题,以及通过对学生回答问题的即时分析,了解学生的掌握情况,以实时调整教学节奏。

4.课程实验技术

(1)学生必须配备线上教学所需要的计算机及全部相关软件(如上所述),对应学习目标的2-5(不含实际设备驱动部分)和学习目标6的Proteus部分。

(2)在实验环节,进行SPOC教学的学校应配备基于ARM的实验设备,包括但不限于ARM9/10/11,Cortex A系列等处理器,即可完成本课程绝大部分实验,如需进行STM32部分的实际操作,还应配备有基于STM32的实验设备,对应学习目标5的实际设备驱动部分及学习目标6的STM32部分

5.即时联系方式

建议教师与学生建立微信群,以方便随时联系。

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