思维导图
一.嵌入式系统概述
(一) 嵌入式系统的定义
嵌入式系统是以应用为中心,以计算机技术为基础,且 软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
(二) 嵌入式系统的组成
1. 硬件层
硬件层包含: 嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设 备接口和I/O接口(A/D、D/A、I/O等) ;
2. 中间层(即:硬件适配层)
a.中间层的位置: 中间层在硬件层与软件层之间,也称为硬件抽象层 (Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP);
b.中间层的任务: 相关底层硬件的初始化及配置,设备驱动程序 ;
c.中间层的特点:
硬件相关性,直接操作底层硬件 ;
操作系统相关性: 为操作系统提供所需要的硬件操作接口;
3.系统软件层系统软件层由嵌入式操作系统(EOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块等组成。
4. 功能层
功能层由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能 。
(三) 嵌入式系统的特点
1.技术先进。将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物。
2.系统内核小。一般是应用于电子装置中,系统资源相对有限。
3.专用性强。软件和硬件结合非常紧密,应用具有一定的针对性。
4.系统精简。一般没有系统软件和应用软件的明显区分,减少不需要的功能降低复杂度,提供系统安全性。
5.系统软件要求具有高实时性。且软件要求固态存储,以提高速度。
6.嵌入式软件开发走向标准化,逐步形成丰富的可兼容的各种软件组件、函数库 等。
7.嵌入式系统本身不具备在其上进行进一步开发的能力。用户如果需 要修改其中的程序功能,需要借助于一套开发工具和环境
(四)嵌入式系统的应用
- 工业控制
- 交通管理
- 信息家电
- 智能家居
- 电子商务
- 环境工程与自然
- 机器人
- 机电产品
- 国防、军事
二.嵌入式处理器
(一)嵌入式系统的组成
看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
(二)嵌入式处理器的分类
嵌入式处理器可以分为以下几大类:
- 嵌入式微处理器;
- 嵌入式微控制器;
- 嵌入式DSP处理器;
- 嵌入式片上系统(SOC)。
(三) 典型的嵌入式处理器
(四) 嵌入式处理器的性能指标(重要)
- 主频 主频越高,单位时间内执行的指令数量就越多,处理器的速度就越快
- 处理器字长:处理器字长就是指处理器内部数据运算的基本位数,它是由运算器,寄存器,数据总线的位数决定的,字长越长,计算的精度就越高。例如,字短,计算位数又高,那么需要经历多次运算才能完成,势必影响处理器的运行速度。目前有8位,16位,32位,64位等类型,一般字长越长,性能越高。
- 数据通路速度:处理器在运行过程中,要不断地读取指令,数据等信息,并将运算结果存入内存,因此数据传送过程中数据通路的速度对处理器性能影响很大。数据通路速度主要决定于总线位数、总线频率及数据传输协议。
- 运算速度:与许多因素有关,CPU的主频、执行的操作 、内存的访问速度等,衡量有不同的方法。 根据不同类型指令在计算过程中出现的频率程度求平均值; 以每条指令执行所时钟周期数CPI来衡量运算速度 ; 以MIPS作为计算单位来衡量运算速度 。MIPS=指令条数/(执行时间 * 10^6)
- 高速缓冲(Cache)
- 处理器的系统架构:CPU是CISC结构还是RISC结构,是否是流水线技术,超标量技术,多数据流结构,等都直接决定了处理器性能的整体表现。
三.嵌入式操作系统
(一)嵌入式操作系统简介
(二)种类
非实时操作系统: 事件响应时间没有严格要求的操作系统。
主要应用 在消费电子产品中。如MP3、PDA、手机、电子书 等。Linux、uClinux、WinCE、Android 。
实时操作系统: 当外界事件或数据产生时,能够快速予以处理,并 在规定的时间之内来控制生产过程或对处理系统作 出响应,实现所有实时任务协调一致运行的操作系 统。主要面向控制、通信等领域的应用,如 VxWorks、QNX 、uC/OS-II 等
(二)基本概念
内核 :在多任务系统中,内核负责管理各个任务,为每个 任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。
不可剥夺型内核 :每个任务自我放弃CPU 的使用权。不允许剥夺某一任务正在使用CPU 权利。可剥夺型内核:较高优先级的任务一旦就绪,就可剥夺较低优先级任务CPU的使用权。
(三)嵌入式操作系统的主要特点
- 可装卸性,开放性、可伸缩性的体系结构。(如下载功能)
- 强实时性,EOS实时性一般较强,可用于各种控制系统中。
- 统一的接口,提供各种设备驱动接口。
- 操作方便、简单,提供友好的图形GUI,追求易学易用。
- 提供强大的网络功能,支持TCP/IP协议及其它协议。
- 强稳定性,弱交互性。 (不需要关机)
- 固化代码。
- 更好的硬件适应性,也就是良好的移植性。
(四) 几种典型的EOS
四. 嵌入式系统开发
(一) 嵌入式系统开发过程
(二) 常用的设计流程模型
(三) 开发环境及调试方法
开发的辅助工具:
编译器:将一种语言程序翻译成另一种语言的计算机程序(目标代码 )。常见的编译器有Visual C++、Borland C++以及Linux下的 GCC等。
链接器:对目标代码进行链接 。模块整合,分配资源,包括动态链接库与静态链接库。
定位器:嵌入式系统开发中,链接不是最终的动作,还需要一个 重定位器,经过重定位后,产生映像文件(Image File),下载到 ROM中,才可执行。 集成开发环境:Intergrated Development Enviroment,IDE用于程 序开发的应用软件,包括代码编辑器、编译器、链接器、定位器、 调试器和图形用户界面工具等。