嵌入式系统定义:
广义的嵌入式系统:
凡是带有微处理器的专用系统都可以 称为嵌入式系统。如单片机系统和带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开发