嵌入式系统
| 项目 | 内容 |
|---|---|
| 来源 | 录播 |
| 章节 | 第六章-嵌入式技术应用 |
| 标签 | 讲义 |
| 页数 | 8 |
| 总字数 | 2853 |
| 原始课件 | 基础录播课/第六章-嵌入式技术应用/嵌入式系统.pdf |
本文由课件自动整理,页内文字按原始讲义阅读顺序还原;
[图]表示该位置存在图示,图示内容请对照原始课件查看。
目录
- 第 1 页 · 05
- 第 2 页 · 嵌入式系统
- 第 3 页 · 嵌入式系统
- 第 4 页 · 嵌入式系统
- 第 5 页 · 嵌入式系统
- 第 6 页 · 嵌入式系统
- 第 7 页 · 嵌入式系统
- 第 8 页 · 考试真题
第 1 页 · 05
嵌入式系统
第 2 页 · 嵌入式系统
•
嵌入式系统的组成:一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、
支撑软件以及应用软件组成。
①
嵌入式处理器。由于嵌入式系统一般是在恶劣的环境条件下工作,与一般处理器相比,嵌入式处
理器应可抵抗恶劣环境的影响,比如高温、寒冷、电磁、加速度等环境因素。为适应恶劣环境,
嵌入式处理器芯片除满足低功耗、体积小等需求外,根据不同环境需求,其工艺可分为民用、工
业和军用等三个档次。
②
相关支撑硬件。是指除嵌入式处理器以外的构成系统的其他硬件,包括存储器、定时器、总线、
I0接口以及相关专用硬件。
③
嵌入式操作系统。是指运行在嵌入式系统中的基础软件,主要用于管理计算机资源和应用软件。
与通用操作系统不同,嵌入式操作系统应具备实时性、可剪裁性和安全性等特征。
④
支撑软件。是指为应用软件开发与运行提供公共服务、软件开发、调试能力的软件,支撑软件的
公共服务通常运行在操作系统之上,以库的方式被应用软件所引用。
⑤
应用软件。应用软件是指为完成嵌入式系统的某一特定目标所开发的软件。
第 3 页 · 嵌入式系统
嵌入式系统应具备以下特性:
(1)专用性强。嵌入式系统面向特定应用需求,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌
入式系统的小型化。
(2)技术融合。嵌入式系统将先进的计算机技术、通信技术、半导体技术和电子技术与各个行业的具体应用相结合,是一
个技术密集、资金密集、高度分散、不断创新的知识集成系统。
(3)软硬一体软件为主。软件是嵌入式系统的主体,有IP核。嵌入式系统的硬件和软件都可以高效地设计,量体裁衣,去
除冗余,可以在同样的硅片面积上实现更高的性能。
(4)比通用计算机资源少。由于嵌入式系统通常只完成少数几个任务。设计时考虑到其经济性,不能使用通用CPU,这就
意味着管理的资源少,成本低,结构更简单。
(5)程序代码固化在非易失存储器中。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或
单片机本身中,而不是存在磁盘中。
(6)需专门开发工具和环境。嵌入式系统本身不具备开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进
行修改,必须有一套开发工具和环境才能进行开发。
(7)体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。
(8)对安全性和可靠性的要求高。
第 4 页 · 嵌入式系统
嵌入式系统分为硬件层、抽象层、操作系统层、中间件层和应用层等5层。
① 硬件层。硬件层主要是为嵌入式系统提供运行支撑的硬件环境,其核心是微处理器、
存储器(ROM、SDRAM、Flash等)、I/O接口和通用设备以及总线、电源、时钟
等。
② 抽象层。在硬件层和软件层之间为抽象层,主要实现对硬件层的硬件进行抽象,为
上层应用(操作系统)提供虚拟的硬件资源。
③ 操作系统层。操作系统层主要由嵌入式操作系统、文件系统、图形用户接口、网络
系统和通用组件等可配置模块组成。
④ 中间件层。中间件层一般位于操作系统之上,管理计算机资源和网络通信,中间件
层是连接两个独立应用的桥梁。
⑤ 应用层。应用层是指嵌入式系统的具体应用,主要包括不同的应用软件。
第 5 页 · 嵌入式系统
板级支持包(BSP, board support package):
•
是介于主板硬件和操作系统中驱动层程序之间的一层,隶属于设备驱动层,一般认为它属于操作系统一部分,主要是实
现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。
•
主要目的是为了屏蔽底层硬件的多样性。
具体功能包括:
1.
单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持
2.
为操作系统提供设备驱动程序和系统中断服务程序
3.
定制操作系统的功能,为软件系统提供一个实时多任务的运行环境
4.
初始化操作系统,为操作系统的正常运行做好准备。
主要具有以下两个特点:
① 硬件相关性,因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP需为操作
系统提供操作和控制具体硬件的方法。
② 操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式。
第 6 页 · 嵌入式系统
一般来说,BSP主要包括两个方面的内容:引导加载程序BootLoader和设备驱动程序。
BootLoader是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之前运行的一小段程序,通过这段程序,
可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境设置到一个合适的状态,以便为最终调用操作系
统内核做好准备。一般包括以下功能:
1.
片级初始化:主要完成微处理器的初始化,包括设置微处理器的核心寄存器和控制寄存器、微处理器的核心工作模
式及其局部总线模式等。片级初始化把微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个
纯硬件的初始化过程。
2.
板级初始化:通过正确地设置各种寄存器的内容来完成微处理器以外的其他硬件设备的初始化。例如,初始化LED
显示设备、初始化定时器、设置中断控制寄存器、初始化串口通信、初始化内存控制器、建立内存空间的地址映射
等。在此过程中,除了要设置各种硬件寄存器以外,还要设置某些软件的数据结构和参数。因此,这是一个同时包
含有软件和硬件在内的初始化过程。
3.
加载内核(系统级初始化):将操作系统和应用程序的映像从Flash存储器复制到系统的内存当中,然后跳转到系
统内核的第一条指令处继续执行。
第 7 页 · 嵌入式系统
•
在一个嵌入式系统当中,操作系统是可能有也可能无的。但无论如何,设备驱动程序是必不可
少的。所谓的设备驱动程序,就是一组库函数,用来对硬件进行初始化和管理,并向上层软件
提供良好的访问接口。
•
对于不同的硬件设备来说,它们的功能是不一样的,所以它们的设备驱动程序也是不一样的。
但是一般来说,大多数的设备驱动程序都会具备以下的一些基本功能。
•
硬件启动:在开机上电或系统重启的时候,对硬件进行初始化。
•
硬件关闭:将硬件设置为关机状态。
•
硬件停用:暂停使用这个硬件。
•
硬件启用:重新启用这个硬件。
•
读操作:从硬件中读取数据。
•
写操作:往硬件中写入数据。
第 8 页 · 考试真题
以下关于嵌入式系统硬件抽象层的叙述,错误的是()。
A.硬件抽象层与硬件密切相关,可对操作系统隐藏硬件的多样性
B.硬件抽象层将操作系统与硬件平台隔开
C.硬件抽象层使软硬件的设计与调试可以并行
D.硬件抽象层应包括设备驱动程序和任务调度
答案:D
试题分析:硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它
隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台
上进行移植。在基于硬件抽象层的开发中,软硬件的设计和调试具有无关性,并可完全地并行进行。硬
件的错误不会影响到系统软件的调试,同样软件设计的错误也不会影响硬件。