分类: 嵌入式
2012-03-23 14:28:10
《嵌入式Linux应用开发详解》中说:嵌入式系统就是以应用为中心,以计算机技术为基础,软硬件可裁减,适合应用系统对功能、可靠性、成本、体积和功耗要求的专用的计算机系统。
《Linux与嵌入式系统》中引用IEE(电气工程师协会)的定义说:嵌入式系统是用来控制或监视机器、装置或工厂等大规模系统的设备。
而翻译过来的《嵌入式Linux》与《构建嵌入式Linux系统》中却都没有对“嵌入式系统”下一个明确的定义。
一般来讲,可以把由微处理器加上必要的外围电路,再根据需求对微处理器进行编程,这样组成的一个能够实现一定功能的完整系统叫做嵌入式系统。嵌入式系统是硬件与软件的统一,嵌入式系统中使用的微处理器叫做嵌入式处理器,嵌入式处理器是针对x86架构处理器而言的,广义上讲,可以把所有x86架构之外的其他处理器都叫做嵌入式处理器。但随着处理器设计技术的发展和各种新应用的产生,一些x86架构处理器也开始应用到嵌入式系统中,而嵌入式处理器也可以设计成诸如PC、笔记本电脑、服务器等产品,所以要给嵌入式系统和嵌入式处理器下严格的定义也就变得越来越困难。基于这些原因,我们主要讲讲嵌入式系统与嵌入式处理器的特点,了解了这些特点,至于叫什么名字就不必太在意了,名字只是一个代号而已,当然对于理论工作者来说,这或许是个值得花些时间去思考归纳的问题。
x86架构处理器主要用于设计成家用PC、笔记本电脑、服务器以及一些大型的计算机系统,x86架构处理器主要由逻辑算术运算单元、MMU以及片内cache组成,片内外设资源非常有限,其外设功能都需通过外接扩展芯片来实现,x86架构处理器使用的是复杂指令集CISC,每条指令所占字节数不完全一样,指令周期也不尽一致,而且内存空间与I/O空间是相互独立、分别寻址的。在电脑中,除BIOS之外的操作系统以及应用程序都被存放在硬盘上,只有需要的时候才被调入内存运行。电脑上的软件面对各种不同需求的广大用户,其程序代码相当冗长而复杂,涉及范围也最全面。
而嵌入式处理器常常是针对一定的应用进行设计,处理器内部除了逻辑算术运算单元、MMU和cache外,还集成了特定应用所需要的外设控制单元,比如以太网MAC、USB host、USB client、iic、UART、PCI、IDE、SPI等控制器,嵌入式处理器常常使用精简指令集RISC,每条指令的长度和执行时间都是固定的,而且嵌入式处理器的内存空间与I/O空间通常都是统一寻址的。另外嵌入式系统中一般都是把所有程序都烧写到非易失存储设备(如flash、EPROM等)上,系统加电后又把全部程序搬到内存中运行。嵌入式系统中的软件是根据特定需求编写的,相对较小且精简。
从系统功能上讲,用x86架构处理器设计出的台式机或者笔记本电脑,主要通过人机交互实现其功能,而用嵌入式处理器设计出的产品则一般都被嵌入在某种设备中自动完成功能。在嵌入式系统开发过程中,用x86架构处理器设计的电脑常常用作嵌入式系统开发主机,用来编辑和交叉编译嵌入式处理器的程序代码,外部连接一定的调试仿真设备还可以对嵌入式系统进行调试仿真。