1、嵌入式系统原理与应用课程教学大纲一、课程基本信息课程代码:230449课程名称:嵌入式系统原理与应用英文名称:Principle and Application of Embedded System课程类别:专业课 学 时:72(其中实验32学时)学分:3.5适用对象: 计算机科学与技术业考核方式:考试(平时成绩占总评成绩的30%,期末考试成绩占70%)先修课程:计算机组成原理、操作系统、编译原理二、课程简介嵌入式系统原理与应用是计算机科学技术专业的一门专业课,讲述嵌入式系统的基本理论、原理。本课程是一门既与硬件关系紧密,又与嵌入式操作系统、嵌入式软件关系十分紧密课程。它围绕目前流行的32位A
2、RM处理器和源码开放的Linux操作系统,讲述嵌入式系统的概念,软、硬件组成,开发过程以及嵌入式应用程序开发设计方法。本课程的知识将为学生今后从事嵌入式系统研究与开发打下坚实的基础。The principle of embedded system is an important course of computer science and technology, which introduce the principles and the theory of embedded system. This curriculum is tied closely with not only hardw
3、are but also embedded operating system and embedded software. It introduce the conception of embedded system, components of software and hardware, developing progresses and designing methods of embedded programming which based on the 32bit arm processor and operating system of opened linux. The know
4、ledge of this course would be solid foundation for the student who would be engaged in researching or developing about embedded system.三、课程性质与教学目的嵌入式系统原理与应用课程的性质:该课程是计算机科学与技术专业的专业课。嵌入式系统原理与应用课程的教学目的:通过对基于ARM嵌入式芯片的系统的基本组织结构与工作原理的学习, 使学生对计算机系统的硬件部分有一个全面的了解,对嵌入式软件的开发过程有一个清楚的认识,通过对嵌入式操作系统的工作原理的学习,使学生对嵌入
5、式操作系统有一个清晰的认识,提高学生在嵌入式软件设计设计能力及解决实际问题的动手能力,为后续专业课程的学习打下坚实的基础 。四、教学内容及要求 第一章 嵌入式系统导论(一) 目的与要求1 掌握嵌入式系统的特点2 掌握嵌入式系统与通用计算机系统的区别3 了解嵌入式系统在日常生活种的应用4 掌握影响嵌入式系统实时性和可靠性的主要因素5 了解嵌入式系统的发展趋势(二) 教学内容1 主要内容嵌入式系统概述、嵌入式系统的应用领域、嵌入式系统的实时性与可靠性、嵌入式系统的发展趋势2 基本概念与知识点嵌入式系统的发展过程、嵌入式系统的特点、嵌入式系统的分类、嵌入式系统的应用领域、嵌入式系统的可靠性、嵌入式系
6、统的实时性、嵌入式系统的发展趋势3 问题与应用(能力要求)a) 掌握嵌入式系统的概念。b) 嵌入式系统与通用计算机系统的区别是什么?c) 了解嵌入式系统在发展历程中的几个阶段?d) 掌握嵌入式系统的特点是什么?e) 了解嵌入式系统的分类。f) 嵌入式系统的可靠性分为几个方面?嵌入式软件可靠性有哪些措施可以用来保证?(三) 课后练习1 什么是嵌入式系统?嵌入式系统与通用计算机系统的异同是什么?2 嵌入式系统的特点是什么?3 按实时性来分,嵌入式系统可以分为几类?它们的特点是什么?4 按软件结构来分,嵌入式系统可分为几类?它们的优缺点是什么?分别适用于哪些系统?5 前后台系统的组成和运行模式是怎样
7、的?需要考虑的主要因素有哪些?主要性能指标是什么?6 单处理器多任务系统由哪些部分组成?其运行方式如何?7 嵌入式系统的主要应用领域有哪些?8 影响嵌入式软件可靠性的主要因素有哪些?如何保证嵌入式软件的可靠性?9 影响系统响应时间的主要因素有哪些?10描述嵌入式系统的发展历程和发展趋势。(四) 教学方法与手段课堂讲授为主,布置部分作业,在讲解时多举一些嵌入式系统的应用实例,使学生对嵌入式系统有更好的认识与理解。第2章 嵌入式硬件系统(一) 目的与要求1 掌握嵌入式系统的硬件的基本组成2 了解嵌入式微处理器的基本组成和运行模式3 基本了解ARM芯片的指令系统(二) 教学内容1 主要内容嵌入式硬件
8、的基本组、嵌入式微处理器,总线、存储器、指令系统、输入输出接口和设备2 基本概念与知识点嵌入式系统的基本组成、CISC与RISC指令系统的对比、嵌入式微处理器的特点、嵌入式微处理器的体系结构、嵌入式微处理器的分类、AMBA总线、PCI总线、ARM指令系统3 问题与应用(能力要求)a) 要求了解在嵌入式微处理器中算术格式的表示格式。b) 要求了解嵌入式微处理器中的流水线。c) 要求掌握ARM芯片的指令集。d) 理解影响嵌入式处理器价格的因素。e) 掌握ARM芯片中具有的各种处理器模式。f) 掌握ARM芯片中的寄存器。(三) 课后练习1 嵌入式硬件系统由那些部分组成?2 嵌入式系统处理器的分类、特
9、点是什么?主流的嵌入式处理器有哪些?3 ARM有几种异常?其异常处理方式和X86有什么不同?4 ARM有几种运行模式?哪些具有特权?如何改变处理器的模式?运行模式和寄存器的关系如何?什么是影子寄存器?(四) 教学方法与手段课堂讲授为主,结合课堂练习为辅,布置部分作业。第3章 嵌入式软件系统(一) 目的与要求1 了解嵌入式软件系统的体系结构、分类和运行流程2 掌握嵌入式操作系统的功能和特点3 基本掌握嵌入式软件开发工具的特点和软件开发的过程4 了解嵌入式软件开发工具的发展趋势。(二) 教学内容1 主要内容嵌入式软件系统概述、分类、体系结构、嵌入式操作系统简介、嵌入式软件开发工具2 基本概念与知识
10、点软件同传统的工业相比的独特性质、嵌入式软件的特点、嵌入式软件的分类、嵌入式软件体系结构、嵌入式软件运行流程、嵌入式操作系统的分类、嵌入式操作系统的体系结构、嵌入式操作系统的组成、内核的功能、嵌入式操作系统的发展趋势3 问题与应用(能力要求)a) 了解常见的嵌入式软件开发工具ADS的使用。b) 掌握什么是宿主机,什么是目标机。c) 掌握交叉开发环境的搭建。d) 掌握交叉编译、调试的过程与步骤。(三) 课后练习1 嵌入式软件的种类与特点是什么?2 嵌入式软件的体系结构包括哪几个部分?每部分的作用是什么?3 嵌入式软件的运行流程一般分为几个阶段?每个阶段完成的主要工作是什么?4 什么是交叉调试?交
11、叉调试的方式有哪几种?5 嵌入式软件固化运行与调试运行环境有何不同?(四) 教学方法与手段课堂讲授为主,结合课堂练习为辅,布置部分作业。安排一次试验,让学生熟悉嵌入式软件交叉开发环境。第4章 嵌入式实时内核基础(一) 目的与要求1 掌握嵌入式实时内核的实时性、可移植性、可剪裁可配置性、可靠性的具体含义和影响因素2 了解实时内核的任务管理、中断管理、时间管理、共享资源的互斥管理、同步与通信管理、内存管理、IO管理、出错管理、用户扩展管理和电源管理的主要内容3 掌握嵌入式实时内核的重要性能指标(二) 教学内容1 主要内容嵌入式实时内核的关键设计问题、嵌入式实时内核的主要功能、嵌入式实时内核的重要性
12、能指标2 基本概念与知识点实时性、可移植性、可剪裁可配置性、可靠性、应用编程接口、任务管理、中断管理、时间管理、共享资源的互斥管理、同步与通信管理、内存管理、IO管理、出错管理、用户扩展管理、电源管理、中断时序图、中断延迟时间、内核最大关中断时间、中断响应时间、中断恢复时间、非屏蔽中断、中断处理时间、任务上下文切换时间、任务响应时间、系统调用的执行时间3 问题与应用(能力要求)a) 掌握不同的调度算法对系统实时性的影响。b) 掌握差分时间链的特点和常见操作。c) 掌握中断的特点与过程。(三) 实践环节与课后练习1 嵌入式实时内核设计的关键问题包括哪些方面?2 任务响应时间受到哪些因素的影响?3
13、 采用专门的栈处理中断,有哪些好处?4 试编程实现差分时间链的插入与删除节点的算法。(四) 教学方法与手段课堂讲授为主,结合课堂提问为辅,布置部分作业。安排一次试验,让学生掌握差分时间链,进一步了解嵌入式软件的开发过程。第5章 任务管理与调度(一) 目的与要求1 掌握任务的定义、任务的三种基本状态转变2 掌握在嵌入式系统中各种调度算法的具体思想3 掌握优先级反转解决机制,时序图和多处理器调度算法。(二) 教学内容1 主要内容任务管理与调度概述、任务的概念、任务管理、任务调度、优先级反转、多处理器调度2 基本概念与知识点任务管理与调度概述、任务的概念、特性、内容、参数、任务管理、任务控制块、任务
14、切换、任务队列、任务管理机制、优先级抢占调度、时间片轮转调度、静态调度、动态调度、静态调度与动态调度的比较、优先级反转、优先级继承协议、优先级天花板协议、多处理器调度3 问题与应用(能力要求)a) 掌握嵌入式系统中任务的状态变迁。b) 掌握优先级的位图算法。c) 掌握RMS调度算法。d) 要求的在优先级反转的情况下,能画出任务的执行序列图。(三) 课后练习1 请解释什么叫RMS和EDF调度算法,并分别说明CPU使用率的可调度范围。2 什么叫任务切换?任务切换通常在什么时候进行?任务切换的主要工作内容是什么?3 基于RMS调度算法,为表5-11中的任务分配优先级(假定数字越大,优先级越低)。如果
15、所有任务的运行时间均为6ms,请问这些任务是否可调度?请用图示和文字描述的方式对任务的运行情况进行详细说明。任务周期/msT125T260T350T4150T575T6504 什么叫优先级反转?解决优先级反转有哪些主要方法?(四) 教学方法与手段课堂讲授为主,结合课堂提问为辅,布置部分作业。第6章 同步、互斥和通信(一) 目的与要求1 掌握信号量的分类及其基本用法2 掌握用PV操作来实现任务之间的同步3 了解嵌入式系统中的邮箱、消息队列、事件和异步信号机制。(二) 教学内容1 主要内容信号量、邮箱与消息队列、事件、异步信号2 基本概念与知识点信号量的种类及用途、互斥信号量、二值信号量、计数信号
16、量、信号量机制的主要数据结构、信号量机制的主要功能、任务间的通信方式、消息、邮箱、队列、消息队列机制的主要数据结构、消息队列机制的主要功能、事件机制、事件机制的主要数据结构、事件机制的主要功能、异步信号机制的概述、异步信号机制与中断机制的比较、异步信号机制与事件机制的比较、异步信号机制的主要数据结构、异步信号机制的主要功能3 问题与应用(能力要求)a) 掌握生产者与消费者问题的解决方法。b) 什么是事件?有什么特点?c) 掌握异步信好与中断机制的异同点。d) 掌握异步信号与事件机制的异同点。(三) 课后练习1 嵌入式操作系统内核提供的同步、互斥与通信机制主要有哪些?2 在创建互斥信号量、二值信
17、号量和计数信号量是由哪些异同点?3 任务等待消息的方式有哪几种?当任务试图接收消息时,什么情况下系统可能发生任务的重新调度?4 请列表说明异步信号机制与中断的异同点。(四) 教学方法与手段课堂讲授为主,结合课堂提问为辅,布置部分作业。第7章 中断和时间管理(一) 目的与要求1 掌握中断的概念、分类、中断的处理过程2 了解实时内核的中断管理和用户中断服务程序3 了解时间管理的基本功能、差分时间链在时间管理中的应用。(二) 教学内容1 主要内容中断管理、时间管理2 基本概念与知识点中断的分类、中断处理过程、实时内核的中断管理、硬件时钟设备、时间管理3 问题与应用(能力要求)a) 中断处理过程分为几
18、个阶段?b) 中断响应过程主要包括哪些操作?c) 中断服务程序的主要内容有哪些?(三) 课后练习1 请阐述中断的概念,并说明中断与自陷、异常之间在概念上有哪些联系与区别.2 请说明在系统时钟中断服务程序中,主要完成哪些工作。3 以一种开源的嵌入式操作系统为例,就该操作系统所采用的中断管理方式进行详细分析,并写出分析报告。4 中断是如何分类的?5 描述中断处理的基本过程。(四) 教学方法与手段课堂讲授为主,结合课堂提问为辅,布置部分作业。第8章 内存管理和I/O管理(一) 目的与要求1 掌握在嵌入式操作系统中内存管理的基本方法2 了解内存管理机制3 了解I/O管理的基本功能。(二) 教学内容1
19、主要内容内存管理、I/O管理2 基本概念与知识点内存保护、内存管理机制、固定大小存储区管理、可变大小存储区管理、内存映射、I/O管理的功能、I/O系统的实现考虑3 问题与应用(能力要求)a) 为什么嵌入式系统通常采用快速而确定的内存管理,而不采用虚拟存储技术?b) 试编程模拟嵌入式操作系统中的固定大小存储区管理、可变大小存储区管理方式。c) 嵌入式操作系统中I/O管理的功能有哪些?d) 嵌入式操作系统中内存保护是如何实现的?(三) 实践环节与课后练习1 内存主要存放哪些内容,实时系统在进行内存管理时通常需要考虑哪些因素?2 以一种开源的嵌入式操作系统为例,就该操作系统所采用的内存管理方式进行详
20、细分析,并写出分析报告。3 以一种开源的嵌入式操作系统为例,就该操作系统所采用的I/O管理方式进行详细分析,并写出分析报告。4 以一个具体的设备为例,基于主设备号、设备名表和文件描述符的I/O管理机制,对I/O设备管理的具体过程进行描述。(四) 教学方法与手段课堂讲授五、各教学环节学时分配教学环节教学时数课程内容讲课习题课讨论课实验其他教学环节小计第一章66第二章12618第三章639第四章44第五章81312第六章628第七章336第八章639合计5131872六、推荐教材和教学参考资源1. 罗蕾.嵌入式实时操作系统及应用开发.北京航空航天大学出版社2. 陈赜.ARM9嵌入式技术及LINUX高级实践教程.北京航空航天大学出版社3 .贾智平.嵌入式原理与接口技术.清华大学出版社