分类: 嵌入式
2010-09-07 17:26:37
Linux系统管理与编程基础 http://blog.chinaunix.net/u3/117680/showart.php?id=2320993
定义
嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
广义的嵌入式系统
凡是带有微处理器的专用系统都可以称为嵌入式系统。如单片机系统和带OS的ARM系统。
各类单片机系统,在完成较为单一的专业功能时具有简洁高效的特点。但是由于他们没有操作系统,所以管理硬件和软件的能力有限,在实现复杂的多任务功能时往往困难重重,甚至无法实现。
狭义的嵌入式系统
是指那些使用嵌入式微处理器构成的独立系统,具有操作系统,完成特定功能,用于特定场合
嵌入式系统的应用远远超过了各种通用计算机
一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器:
键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的
在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域
嵌入式系统的组成
总体上嵌入式系统可以划分成硬件和软件两部分
硬件一般由高性能的微处理器和外围的接口电路组成
软件一般由实时操作系统和其上运行的应用软件构成
嵌入式系统与一般PC系统区别
设备名称 |
嵌入式系统 |
PC |
CPU |
嵌入式处理器(ARM,MIPS,Score+) |
CPU(Intel、AMD等) |
内存 |
SDRAM芯片 |
SDRAM或DDR内存条 |
存储设备 |
Flash芯片 |
硬盘 |
输入设备 |
触摸屏,按键 |
鼠标、键盘、麦克等 |
输出设备 |
LCD |
显示器 |
其它设备 |
音频芯片、USB芯片、网卡芯片等 |
主板集成或外接卡 |
名称 |
嵌入式系统 |
PC |
引导代码 |
Bootloader引导,针对不同电路进行移植 |
主板的BIOS引导,无须改动 |
操作系统 |
Linux、WinCE、VxWorks等,需要移植 |
Windows、Linux等,无需移植 |
驱动程序 |
每个设备驱动针对电路板进行开发或移植,一般不能直接下载使用 |
操作系统含有大多数驱动程序,或下载直接使用 |
开发环境 |
交叉编译 |
本机编译 |
协议栈 |
需要移植 |
操作系统或第三方提供 |
n 嵌入式系统专用于特定的应用,而PC是通用计算机。
n 使用多种类型的处理器和处理器体系结构。
n 关注成本。
n 大多有功耗约束。
n 经常在极端的环境下运行。
n 系统资源比PC少的多。
n 需要专用工具和方法进行开发设计。
n 嵌入式系统的数量远远超过PC。
嵌入式系统的特点
系统内核小
嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
专用性强
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
系统精简
嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
实时性操作系统
这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
专用的开发工具和开发环境
历史
v20 世纪70 年代:单片机
v20 世纪80 年代:嵌入式操作系统
v20 世纪90 年代:实时多任务操作系统
嵌入式处理器
嵌入式处理器是嵌入式系统的核心部件,与通用处理器的最大差异在于其大多工作在为特定用户群设计的系统中。
嵌入式处理器通常把通用计算机中许多由板块完成的任务集成在芯片内部,从而有利于嵌入式系统趋于小型化,并具有高效率、高可靠性等特征。
目前,市面上有1000多种嵌入式处理器芯片,包括ARM系列、MIPS系列、PowerPC系列等等。
v嵌入式微控制器(MCU)
v嵌入式微处理器(MPU)
v嵌入式DSP处理器(EDSP)
v嵌入式片上系统(SOC)
ARM
ARM,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,ARM技术正在逐步渗入到我们生活的各个方面。
嵌入式操作系统
嵌入式操作系统是嵌入式应用软件的基础和开发平台。嵌入式系统具有操作系统的最基本的功能:
v 进程调度
v 内存管理
v 设备管理
v 文件管理
v 操作系统接口(API调用)
嵌入式操作系统具有的特点:
v 可裁减,可配置。
v 有一定的实时性。
外围硬件设备
外围设备是指在一个嵌入式系统当中,嵌入式处理器以外的完成存储、通信、调试、显示等辅助功能的其它部件,根据外围设备的功能可分为以下3类:
存储器:SRAM、DRAM、NAND FLASH、 NOR FLASH等
接口:并口、RS232串口、SPI串行接口、USB通用串行总线、以太网接口等
人机接口:LCD、触摸屏、键盘等
嵌入式操作系统
1. 嵌入式Linux
Linux本身所具备的源码开放、内核可裁减等种种特性使其成为一种重要的嵌入式操作系统
随着嵌入式Linux技术的成熟,定制更加方便,同时支持更多的平台
2. WinCE
WinCE的缺点是体积庞大,价格昂贵,不完全开放源码。因此随着嵌入式操作系统领域日益激烈的竞争,微软不得不应付来自Linux等免费系统的冲击
3. VxWorks
VxWorks是美国WindRiver公司专门为实时嵌入式系统设计开发的操作系统软件。VxWorks拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在实时嵌入式操作系统领域占据一席之地,但其昂贵的价格让不少厂商望而却步
4. µC/OS
µC/OS是一个典型的实时操作系统。它是研究和学习实时操作系统的重要选择。
特点:源码公开、代码结构清晰、可移植性好、可裁减、可固化、内核属于抢占式,最多可以管理60个任务。
嵌入式软件组成
应用层:特定的应用程序
文件系统/图形用户应用程序接口
OS层: 实时操作系统
驱动层:设备驱动程序、HAL、BSP
嵌入式开发分类
硬件开发: 电路设计
驱动开发
系统开发: Linux开发
WINCE开发
软件开发: 应用程序
图形界面
Linux系统管理与编程基础 http://blog.chinaunix.net/u3/117680/showart.php?id=2320993