嵌入式系统定义:
广义的嵌入式系统:
凡是带有微处理器的专用系统都可以 称为嵌入式系统。如单片机系统和带OS的ARM系统。各类单片机系统,在完成较为单一的专业功能时具有简洁高效的特点。但是由于他们没有操作系统,所以管理硬件和软件的能力有限,在实现复杂的多任务功能时往往困难重重,甚至无法实现。
狭义的嵌入式系统:
是指那些使用嵌入式微处理器构成的独立系统,具有操作系统,完成特定功能,用于特定场合。
嵌入式系统的组成:
总体上嵌入式系统可以划分成硬件和软件两部分 , 硬件一般由高性能的微处理器和外围的接口电路组成, 软件一般由实时操作系统和其上运行的应用软件构成
嵌入式系统的特点:
系统内核小
嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
专用性强
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
系统精简
嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
实时性操作系统
这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
专用的开发工具和开发环境
硬件部分:
嵌入式微处理器
外围硬件设备
软件部分:
嵌入式操作系统
特定的应用程序
嵌入式处理器:
嵌入式处理器是嵌入式系统的核心部件,与通用处理器的最大差异在于其大多工作在为
特定用户群设计的系统中。
嵌入式处理器通常把通用计算机中许多由板块完成的任务
集成在芯片内部,从而有利于嵌入式系统趋于小型化,并具有高效率、高可靠性等特征。
目前,市面上有1000多种嵌入式处理器芯片,包括ARM系列、MIPS系列、PowerPC系列等等。
外围硬件设备:
外围设备是指在一个嵌入式系统当中,嵌入式处理器以外的完成存储、通信、调试、显示等辅助功能的其它部件,根据外围设备的功能可分为以下3类:
存储器:SRAM、DRAM、NAND FLASH、 NOR FLASH等
接口:并口、RS232串口、SPI串行接口、USB通用串行总线、以太网接口等
人机接口:LCD、触摸屏、键盘等
嵌入式操作系统:
用户的其它应用程序都建立在OS之上
OS将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间
主要功能:
处理器管理
存储器管理
设备管理
文件管理
用户接口管理
嵌入式软件组成:
应用层:特定的应用程序
文件系统
/
图形用户应用程序接口
OS层: 实时操作系统
驱动层:设备驱动程序、HAL、BSP
嵌入式开发分类:
硬件开发: 电路设计
驱动开发
系统开发: Linux开发
WINCE开发
软件开发: 应用程序
图形界面
嵌入式系统开发流程:
通常基于linux系统的嵌入式开发步骤如下:
开发目标硬件系统:
如选择微处理器、Flash及其它外设等
建立交叉开发环境:
安装交叉编译工具链、安装开发调试工具
开发Bootloader:移植uboot,vivi
移植linux内核:如linux2.6.31内核
开发根文件系统:CRAMFS,YAFFS
开发相关硬件的驱动程序:led,adc等驱动
开发上层的应用程序:如QT GUI开发