《嵌入式系统设计与应用》教学进度安排表
基本信息 | ||||||||||
课程代码 | 课程名称(中文) | 嵌入式系统设计与应用 | ||||||||
学分 | 课程名称(英文) | The Design and Application of Embedded System | ||||||||
总学时 | 嵌入式系统开发是什么 共 32 学时 (理论:24 学时,实践:8 学时) | 课程管理单位 | ||||||||
课程简介 | ||||||||||
课程性质: 是为计算机科学与技术、物联网工程专业本科生开设的专业必修课,同时还是软件工程、机器人工程的专业选修课。一般在《单片机应用技术》课程后,大二下学期开设。它是结合嵌入式芯片、电子技术、C语言、通信技术的一门综合应用开发课程,对培养学生的工程应用能力具有重要作用。 主要内容: 本课程以理论教学为主,并包含部分实验教学,使理论和实践更好结合。通过本课程的学习,使学生了解有关嵌入式系统的基本原理和设计方法,初步掌握嵌入式系统开发的过程、开发工具使用及常用的基本理论知识,如:交叉编译、文件处理、进程管理、串口通信、网络通信、嵌入式设备驱动等,使学生对于嵌入式系统的开发有一个系统的知识支撑,后续能够快速投入嵌入式相关的工作开发。 课程目标: 预期素质获得: 发掘学生自身的兴趣,对今后的职业进行规划,参与嵌入式领域讨论意识,并能以理性的、积极的态度关注问题的解决。鼓励学生通过实验进行创新。 预期能力获得: 通过学习嵌入式系统基本理论及其应用,培养分析与设计嵌入式系统的基本能力。培养自学、分析问题和解决问题的能力,以及认真负责的工作态度和严谨细致的工作作风。 预期知识获得: 1.熟悉嵌入式系统的基本概念;掌握ARM微处理器体系结构的基础知识。 2.掌握嵌入式系统的基本分析与设计方法,能进行典型嵌入式系统的分析与设计。 3.熟悉实时操作系统的基础知识。 4.掌握嵌入式编程技术,能进行典型嵌入式系统环境下程序设计。 基本要求: 有一定的程序开发基础,熟悉单片机开发。课程学习期间,能够将理论知识与实际结合,做一些简单的开发,如文件读写、进程管理与通信、网络通信、驱动程序等。 | ||||||||||
使用教材 | ||||||||||
使用教材: 《嵌入式系统设计与应用(第3版)》,张思民编著,清华大学出版社. | ||||||||||
教学安排 | ||||||||||
课次 | 教学周 | 理论学时 | 实践学时 | 教学内容 | 作业 (包含预习安排、练习题、知识拓展三部分) | 思考点 | ||||
1 | 1 | 2 | 0 | 一、嵌入式系统基础 1. 嵌入式系统简介; 2. 嵌入式系统的发展和应用领域; 3. 嵌入式操作系统; 4. 嵌入式系统的开发过程(重点); 5. 嵌入式系统应用方案。 | 生活中的嵌入式有哪些应用? | |||||
2 | 2 | 2 | 0 | 二、嵌入式系统硬件体系结构 1. 相关基础知识; 2. 嵌入式系统硬件平台(重点、难点); 3. ARM微处理器体系(重点); 4. 微处理器的结构。 | 练习题:解释嵌入式系统构成; 知识拓展:ARM处理器体系; 预习:Linux系统 | |||||
3 | 3 | 2 | 0 | 三、嵌入式Linux操作系统 1. Linux基本概念; 2. 嵌入式Linux文件系统(重点、难点); 3. Linux常用操作命令(重点); 4. Linux的文件编辑器; 5. Linux启动过程。 | 练习题:Linux各项命令的使用。 | |||||
4 | 4 | 2 | 0 | 四、嵌入式Linux程序开发基础 1. 嵌入式Linux编译器; 2. “文件包含”处理(重点); 3. Make命令和Makefile工程管理(重点、难点); 4. 嵌入式Linux汇编语言程序设计。 | 练习题:Linux程序编译的过程是哪些? | |||||
5 | 5 | 0 | 2 | 五、嵌入式Linux 开发基础操作 1. 认识Make与Makefile实际流程; 2. 编写Makefile文档,实现自动编译。 要求: 1. 编写基本的功能程序; 2. 按照Makefile隐式要求,编写工程文档; 3. 运行程序,检测。 | 练习题:Make和Makefile的应用 | |||||
6 | 6 | 1 | 1 | 六、嵌入式Linux程序开发shell与位运算(理论1学时+实践1学时) (一)理论教学 1. 嵌入式Linux shell编程(重点); 2. 位运算(重点、难点)。 (二)实践教学 1. Linux 的Shell编程; 2. 位运算程序编写。 | 练习题:Shell编程与位运算。 | |||||
7 | 7 | 1 | 1 | 七、嵌入式开发环境的建立 (一)理论教学 1. 建立主机开发环境(重点); 2. 配置超级终端minicom; 3. 建立数据共享服务; 4. 嵌入式系统开发板的烧写方法。 (二)实践教学 1. 虚拟机与开发板的连接; 2. 应用程序编写、交叉编译并写入开发板。 | 编写的hello.c 程序如何让其成功在开发板上运行? | |||||
8 | 8 | 1 | 1 | 八、文件处理 (一)理论教学 1. 嵌入式Linux的文件处理; 2. Open、Close、Read、Write、Lseek函数的使用(重点)。 (二)实践教学 文件操作实验: 要求:编写程序,包含2个功能: (1) 输入10个学生的2门课程的信息,包括学号、姓名、课程名和成绩;将这些信息存入文件中。 (2) 成绩查询:以姓名、学号和课程名称为条件,查询课程成绩。 | 练习题:文件的处理函数有哪些?其原型分别是什么? | |||||
9 | 9 | 2 | 0 | 九、进程与控制 1. 进程的概念 2. 管道通信; 3. 共享内存(重点、难点)。 | 练习题:进程间通信方式与原理; 预习:串口通信。 | |||||
10 | 10 | 2 | 0 | 十、串口通信 1. 嵌入式串口通信原理; 2. 嵌入式Linux串口通信技术(重点)。 | ||||||
11 | 11 | 0 | 2 | 十一、通信实验 1. 多进程及其通信实验(重点、难点)。 2. 串口通讯实验。 要求: 1. 实现多进程管理 2. 进程之间的通信 3. 串口通信参数设置及通信实现 | 知识拓展:嵌入式Linux的安全性保障措施有哪些? | |||||
12 | 12 | 2 | 0 | 十二、嵌入式网络应用开发 1. 网络编程的基础知识(重点); 2. Socket网络编程(重点、难点); | 练习题:Socket通信中的常用函数及原型描述 | |||||
13 | 13 | 1 | 1 | 十三、嵌入式网络应用开发 (一)理论教学 1. 嵌入式系统的Web服务器程序设计; 2. 开发新的TCP通信协议。 (二)实践教学 Socket网络通信实验。 要求: 1. 编写一个通过Socket发送信息的程序; 2. 编写一个通过Socket接收信息的程序; 3. 分别在虚拟机和实验箱上运行。 | 常见的Linux网络应用程序Apache的工作原理? | |||||
14 | 14 | 2 | 0 | 十四、嵌入式字符设备驱动程序设计 1. 嵌入式设备驱动程序基础(重点); 2. 字符设备驱动程序设计(重点); | 练习题:开发字符型设备驱动 预习:块设备驱动程序 | |||||
15 | 15 | 2 | 0 | 十五、嵌入式块设备驱动程序设计 1. 简单字符驱动程序设计示例(重点、难点); 2. 块设备驱动程序设计(难点)。 | ||||||
16 | 16 | 2 | 0 | 十六、期末总复习 总结本课程的基本内容。 | ||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论