admin 管理员组

文章数量: 887021


2024年2月18日发(作者:逗号运算符的语法规则)

《嵌入式系统设计与应用》课程教学大纲

基本信息

课程代码

学分

总学时

2

课程名称(中文)

课程名称(英文)

嵌入式系统设计与应用(B)

The Design and Application of Embedded System

共 48 学时

(理论: 38 学时,实践:10学时)

课程简介

课程性质:《嵌入式系统设计与应用》是为计算机科学与技术、电子信息工程、物联网工程专业本科生开设的专业基础必修课,大二下学期开设。它是结合嵌入式芯片、电子技术、C语言、通信技术的一门综合应用开发课程,对培养学生的工程应用能力具有重要作用。

主要内容:本课程以理论教学为主,并包含部分实验教学,使理论和实践更好结合。通过本课程的学习,使学生了解有关嵌入式系统的基本原理和设计方法,初步掌握嵌入式系统开发的过程、开发工具使用及常用的基本理论知识,如:交叉编译、文件处理、进程管理、串口通信、网络通信、嵌入式设备驱动等,使学生对于嵌入式系统的开发有一个系统的知识支撑,后续能够快速投入嵌入式相关的工作开发。

课程目标:

预期素质获得:发掘学生自身的兴趣,对今后的职业进行规划,参与嵌入式领域讨论意识,并能以理性的、积极的态度关注问题的解决。鼓励学生通过实验进行创新。

预期能力获得:学习嵌入式系统基本理论及其应用,学习嵌入式系统的组成及应用的知识;培养分析与设计嵌入式系统的基本能力。培养自学、分析问题和解决问题的能力,以及认真负责的工作态度和严谨细致的工作作风。

预期知识获得: 1.熟悉嵌入式系统的基本概念;掌握ARM微处理器体系结构的基础知识。2.掌握嵌入式系统的基本分析与设计方法,能进行典型嵌入式系统的分析与设计。3.熟悉实时操作系统的基础知识。4.掌握嵌入式编程技术,能进行典型嵌入式系统环境下程序设计。

基本要求:

有一定的程序开发基础,熟悉C语言编程,熟悉和了解Linux操作系统。

教材及教学参考资料

使用教材:

《嵌入式系统设计与应用(第3版)》,张思民编著,清华大学出版社,2019.08.

先修要求

修读条件:有程序开发基础,熟悉Linux系统。

先修课程:无

教学安排

课次 学时 教学内容

一、嵌入式系统基础

1. 嵌入式系统简介;

2. 嵌入式系统的发展和应用领域;

3. 嵌入式操作系统;

4. 嵌入式系统的开发过程(重点);

5. 嵌入式系统应用方案。

作业

(包含预习安排、练习题、知识拓展三部分)

思考点

生活中的嵌入式有哪些应用?

1 2

2、3 4

二、嵌入式系统硬件体系结构

1. 相关基础知识;

2. 嵌入式系统硬件平台(重点、难点);

3. ARM微处理器体系(重点);

4. 微处理器的结构。

三、嵌入式Linux操作系统

1. Linux基本概念;

2. 嵌入式Linux文件系统(重点、难点);

3. Linux常用操作命令(重点);

4. Linux的文件编辑器;

5. Linux启动过程。

练习题:解释嵌入式系统构成;

知识拓展:ARM处理器体系;

预习:Linux系统

练习题:Linux各项命令的使用。

4 2

5、6 4

四、嵌入式Linux程序开发基础 练习题:Linux程序编译的1. 嵌入式Linux编译器; 过程是哪些?

2. “文件包含”处理(重点);

3. Make命令和Makefile工程管理(重点、难点);

4. 嵌入式Linux汇编语言程序设计。

五、嵌入式Linux 开发基础操作

1. 认识Make与Makefile实际流程(重点);

2. 编写Makefile文档,实现自动编译。

要求:

1. 编写基本的功能程序;

2. 按照Makefile隐式要求,编写工程文档;

3. 运行程序,检测。

六、嵌入式Linux程序开发shell与位运算(实践2学时)

1. 嵌入式Linux shell编程(重点);

2. 位运算程序编写(重点)。

七、嵌入式开发环境的建立

(一)理论教学

1. 建立主机开发环境(重点);

2. 配置超级终端minicom;

3. 建立数据共享服务;

4. 嵌入式系统开发板的烧写方法。

(二)实践教学(实践2学时)

1. 虚拟机与开发板的连接;

2. 应用程序编写、交叉编译并写入开发板。

八、文件处理

(一)理论教学

1. 嵌入式Linux的文件处理;

2. Open、Close、Read、Write、Lseek函数的使用(重点)。

(二)实践教学(实践2学时)

文件操作实验:

要求:编写程序,包含2个功能:

(1) 输入10个学生的2门课程的信息,包括学号、姓名、课程名和成绩;将这些信息存入文件中。

(2) 成绩查询:以姓名、学号和课程名称为条件,查询课程成绩。

练习题:Make和Makefile的应用

7 2

8 2

练习题:Shell编程与位运算。

9、10 4

编写的hello.c 程序如何让其成功在开发板上运行?

11 2

12 2

练习题:文件的处理函数有哪些?其原型分别是什么?

13 2

14 2

九、进程与控制

1. 进程的概念

2. 管道通信;

3. 共享内存(重点、难点)。

十、串口通信

1. 嵌入式串口通信原理;

2. 嵌入式Linux串口通信技术(重点)。

十一、嵌入式网络应用开发

1. 网络编程的基础知识(重点);

2. Socket网络编程(重点、难点);

十二、嵌入式网络应用开发(实践2学时)

Socket网络通信实验。

要求:

1. 编写一个通过Socket发送信息的程序;

2. 编写一个通过Socket接收信息的程序;

3. 分别在虚拟机和实验箱上运行。

十三、嵌入式字符设备驱动程序设计

(一)理论教学

1. 嵌入式设备驱动程序基础(重点);

2. 字符设备驱动程序设计(重点)。

(二)实践教学

字符设备驱动程序设计实验(实践2学时)

1. 设备驱动程序的编写和编译

2. 用户应用程序的编写和编译

十四、设备驱动程序开发实例

1. GPIO设备驱动程序设计(重点);

2. 直流电机驱动程序的设计

十六、Android系统开发环境的建立

1. 创建Android应用程序(重点);

2. Android应用程序设计示例(重点)。

十七、综合应用实例:通过云端控制远程设备

1. 设计目标与系统结构

2. 开发板设备端程序设计(重点);

3. 服务器端网关程序设计(重点);

4. 手机端程序设计(重点)。

练习题:进程间通信方式与原理;

预习:串口通信。

15 2

16 2

练习题:Socket通信中的常用函数及原型描述

17 2

常见的Linux网络应用程序Apache的工作原理?

18 2

练习题:编写简单的字符型设备驱动。

19 2

20、21 4

练习题:设计一个GPIO控制程序。

22 2

练习题:设计一个通过手机

远程控制电机运行的程序。

23、24 4


本文标签: 系统 重点 设计 应用