《嵌入式系统原理与应用》课程教学大纲
一、课程基本信息
课程代码:230449
课程名称:嵌入式系统原理与应用
英文名称:Principle and Application of Embedded System 课程类别:专业课
学 时:72(其中实验32学时) 学 分:3.5
适用对象: 计算机科学与技术业
考核方式:考试(平时成绩占总评成绩的30%,期末考试成绩占70%) 先修课程:计算机组成原理、操作系统、编译原理
二、课程简介
嵌入式系统原理与应用是计算机科学技术专业的一门专业课,讲述嵌入式系统的基本理论、原理。本课程是一门既与硬件关系紧密,又与嵌入式操作系统、嵌入式软件关系十分紧密课程。它围绕目前流行的32位ARM处理器和源码开放的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 hardware 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 knowledge of this course would be solid foundation for the student who would be engaged in researching or developing about embedded system. 三、课程性质与教学目的
嵌入式系统原理与应用课程的性质:该课程是计算机科学与技术专业的专业课。 嵌入式系统原理与应用课程的教学目的:通过对基于ARM嵌入式芯片的系统的基本组织结构与工作原理的学习, 使学生对计算机系统的硬件部分有一个全面的了解,对嵌入式软件的开发过程有一个清楚的认识,通过对嵌入式操作系统的工作原理的学习,使学生对嵌入式操作系统有一个清晰的认识,提高学生在嵌入式软件设计设计能力及解决实际问题的动手能力,为后续专业课程的学习打下坚实的基础 。 四、教学内容及要求
第一章 嵌入式系统导论 (一)目的与要求
1
1.掌握嵌入式系统的特点
2.掌握嵌入式系统与通用计算机系统的区别 3.了解嵌入式系统在日常生活种的应用
4.掌握影响嵌入式系统实时性和可靠性的主要因素 5.了解嵌入式系统的发展趋势 (二)教学内容
1. 主要内容
嵌入式系统概述、嵌入式系统的应用领域、嵌入式系统的实时性与可靠性、嵌入式系统的发展趋势 2.基本概念与知识点
嵌入式系统的发展过程、嵌入式系统的特点、嵌入式系统的分类、嵌入式系统的应用领域、嵌入式系统的可靠性、嵌入式系统的实时性、嵌入式系统的发展趋势
3.问题与应用(能力要求)
a) 掌握嵌入式系统的概念。
b) 嵌入式系统与通用计算机系统的区别是什么? c) 了解嵌入式系统在发展历程中的几个阶段? d) 掌握嵌入式系统的特点是什么?
e) 了解嵌入式系统的分类。
f) 嵌入式系统的可靠性分为几个方面?嵌入式软件可靠性有哪些措
施可以用来保证?
(三)课后练习
1.什么是嵌入式系统?嵌入式系统与通用计算机系统的异同是什么? 2.嵌入式系统的特点是什么?
3.按实时性来分,嵌入式系统可以分为几类?它们的特点是什么? 4.按软件结构来分,嵌入式系统可分为几类?它们的优缺点是什么?分别适用于哪些系统?
5.前后台系统的组成和运行模式是怎样的?需要考虑的主要因素有哪些?
主要性能指标是什么?
6.单处理器多任务系统由哪些部分组成?其运行方式如何? 7.嵌入式系统的主要应用领域有哪些?
8.影响嵌入式软件可靠性的主要因素有哪些?如何保证嵌入式软件的可靠性?
9. 影响系统响应时间的主要因素有哪些?
2
10.描述嵌入式系统的发展历程和发展趋势。 (四)教学方法与手段
课堂讲授为主,布置部分作业,在讲解时多举一些嵌入式系统的应用实例,使学生对嵌入式系统有更好的认识与理解。 第2章 嵌入式硬件系统
(一)目的与要求
1.掌握嵌入式系统的硬件的基本组成
2.了解嵌入式微处理器的基本组成和运行模式 3.基本了解ARM芯片的指令系统 (二)教学内容
1.主要内容
嵌入式硬件的基本组、嵌入式微处理器,总线、存储器、指令系统、输入输出接口和设备 2.基本概念与知识点
嵌入式系统的基本组成、CISC与RISC指令系统的对比、嵌入式微处理器的特点、嵌入式微处理器的体系结构、嵌入式微处理器的分类、AMBA总线、PCI总线、ARM指令系统
3.问题与应用(能力要求)
a) 要求了解在嵌入式微处理器中算术格式的表示格式。 b) 要求了解嵌入式微处理器中的流水线。 c) 要求掌握ARM芯片的指令集。
d) 理解影响嵌入式处理器价格的因素。
e) 掌握ARM芯片中具有的各种处理器模式。 f) 掌握ARM芯片中的寄存器。
(三)课后练习
1.嵌入式硬件系统由那些部分组成?
2.嵌入式系统处理器的分类、特点是什么?主流的嵌入式处理器有哪些?
3.ARM有几种异常?其异常处理方式和X86有什么不同?
4.ARM有几种运行模式?哪些具有特权?如何改变处理器的模式?运行模式和寄存器的关系如何?什么是影子寄存器?
(四)教学方法与手段
课堂讲授为主,结合课堂练习为辅,布置部分作业。
3
第3章 嵌入式软件系统 (一)目的与要求
1.了解嵌入式软件系统的体系结构、分类和运行流程 2.掌握嵌入式操作系统的功能和特点
3.基本掌握嵌入式软件开发工具的特点和软件开发的过程 4.了解嵌入式软件开发工具的发展趋势。 (二)教学内容
1.主要内容
嵌入式软件系统概述、分类、体系结构、嵌入式操作系统简介、嵌入式软件开发工具 2.基本概念与知识点
软件同传统的工业相比的独特性质、嵌入式软件的特点、嵌入式软件的分类、嵌入式软件体系结构、嵌入式软件运行流程、嵌入式操作系统的分类、嵌入式操作系统的体系结构、嵌入式操作系统的组成、内核的功能、嵌入式操作系统的发展趋势 3.问题与应用(能力要求)
a) 了解常见的嵌入式软件开发工具ADS的使用。 b) 掌握什么是宿主机,什么是目标机。 c) 掌握交叉开发环境的搭建。
d) 掌握交叉编译、调试的过程与步骤。
(三)课后练习
1.嵌入式软件的种类与特点是什么?
2.嵌入式软件的体系结构包括哪几个部分?每部分的作用是什么? 3.嵌入式软件的运行流程一般分为几个阶段?每个阶段完成的主要工作是什么?
4.什么是交叉调试?交叉调试的方式有哪几种? 5.嵌入式软件固化运行与调试运行环境有何不同? (四)教学方法与手段
课堂讲授为主,结合课堂练习为辅,布置部分作业。安排一次试验,让学生熟悉嵌入式软件交叉开发环境。 第4章 嵌入式实时内核基础
(一)目的与要求
1.掌握嵌入式实时内核的实时性、可移植性、可剪裁可配置性、可靠性
4
的具体含义和影响因素
2.了解实时内核的任务管理、中断管理、时间管理、共享资源的互斥管理、同步与通信管理、内存管理、IO管理、出错管理、用户扩展管理和电源管理的主要内容
3.掌握嵌入式实时内核的重要性能指标 (二)教学内容
1.主要内容
嵌入式实时内核的关键设计问题、嵌入式实时内核的主要功能、嵌入式实时内核的重要性能指标
2.基本概念与知识点
实时性、可移植性、可剪裁可配置性、可靠性、应用编程接口、任务管理、中断管理、时间管理、共享资源的互斥管理、同步与通信管理、内存管理、IO管理、出错管理、用户扩展管理、电源管理、中断时序图、中断延迟时间、内核最大关中断时间、中断响应时间、中断恢复时间、非屏蔽中断、中断处理时间、任务上下文切换时间、任务响应时间、系统调用的执行时间 3.问题与应用(能力要求)
a) 掌握不同的调度算法对系统实时性的影响。 b) 掌握差分时间链的特点和常见操作。 c) 掌握中断的特点与过程。
(三)实践环节与课后练习
1.嵌入式实时内核设计的关键问题包括哪些方面? 2.任务响应时间受到哪些因素的影响? 3.采用专门的栈处理中断,有哪些好处?
4.试编程实现差分时间链的插入与删除节点的算法。 (四)教学方法与手段
课堂讲授为主,结合课堂提问为辅,布置部分作业。安排一次试验,让学生掌握差分时间链,进一步了解嵌入式软件的开发过程。 第5章 任务管理与调度
(一)目的与要求
1.掌握任务的定义、任务的三种基本状态转变 2.掌握在嵌入式系统中各种调度算法的具体思想
3.掌握优先级反转解决机制,时序图和多处理器调度算法。 (二)教学内容
5