第一章 嵌入式系统概论
嵌入式系统概述
什么是嵌入式系统
国内一般定义:360百科解释
嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统特点
特点:
应用的特定性和广泛性
技术、知识、资金的密集性
高效性
较长的生命周期
高可靠性
软硬一体,软件为主
无自举开发能力
嵌入式系统与PC的不同
一般专用于特定的任务,而PC是一个通用计算机。
使用多种类型的处理器和处理器体系结构。
极其关注成本
有实时约束
使用实时多任务操作系统
软件故障造成的后果比PC系统更严重
大多有功耗约束
经常在极端的环境下运行
系统资源比PC少的多
通常所有的目标代码存放在ROM中
需要专用工具和方法进行开发设计
嵌入式系统的数量远远超过PC
嵌入式系统的基本结构
嵌入式系统的构架
嵌入式系统的硬件软件和硬件
硬件
嵌入式处理器
分类:
★嵌入式微控制器(Microcontroller Unit)
★嵌入式DSP处理器EDSP(Embedded Digital Signal Processor)
★嵌入式微处理器(Embedded Microprocessor Unit)
★嵌入式片上系统SOC(System On Chip)
由于本文主要介绍ARM为主的嵌入式系统,其他三种不做详细介绍,DSP有可能另写一点笔记
嵌入式微处理器
是具有32位以上的处理器,具有较高的性能.
具有体积小,功耗少,成本低,可靠性高的特点.
例如
ARM/Strong (ARM公司) 后续文章内容
PowerPC (MOTOROL公司)
68000 (MOTOROL公司)
MIPS(MIPS公司)
ARM
ARM:架构采用32位精简指令集(RISC)处理器架构,从ARM9开始ARM都采用了哈佛体系结构,这是一种将指令与数据分开存放在各自独立的存储器结构,独立的程序存储器与数据存储器使处理器的处理能力得到较大的提高。
ARM多采用流水线技术,此技术通过多个功率部件并行工作来缩短程序执行时间,使指令能在多条流水线上流动,从而提高处理器的效率和吞吐率。
ARM9采用五级流水线技术。 功耗较小,应用于移动电子、航天航空、汽车电子等领域
嵌入式操作系统
嵌入式操作系统是嵌入式应用软件的基础和开发平台.嵌入式系统的出现,解决了嵌入式软件开发标准化的难题.
嵌入式系统具有操作系统的最基本的功能:
进程调度
内存管理
设备管理
文件管理
操作系统接口(API调用)
具有的特点:
系统可裁减,可配置.
系统具备网络支持功能
系统具有一定的实时性
分类
实时嵌入式系统与非实时嵌入式系统
实时系统
定义:能够对外部事件做出及时响应的系统。响应时间要有保证。
对外部事件的响应包括:
事件发生时要识别出来
在给定时间约束内必须输出结果
特点:
实时系统必须产生正确的结果
实时系统的响应必须在预定的周期内完成
具有确定性的
嵌入式系统软件的层次结构
驱动层程序
实时操作系统(RTOS)
操作系统的应用程序接口(API)
应用程序
启动程序BootLoader介绍
PC与嵌入式操作系统的区别
对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input /Output System)完成的
对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。
系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。
因此在系统加电复位后,处理器将首先执行 Boot Loader 程序。
BootLoader的介绍
BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。
系统的启动通常有两种方式:
一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动
嵌入式系统的开发模式
嵌入式系统的软件使用交叉开发平台进行开发。
系统软件和应用软件在主机开发平台上开发
系统软件和应用软件在嵌入式硬件平台上运行。
宿主机(Host)是用来开发嵌入式软件的系统。
目标机(Target)是被开发的目的嵌入式系统。
交叉编译器 是进行交叉平台开发的主要软件工具。它是运行在一种处理器体系结构上,但是可以生成在另一种不同的处理器体系结构上运行的目标代码的编译器。