嵌入式系统Linux内核开发实战指南(ARM平台)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1部分 嵌入式系统硬件开发

第1章 嵌入式系统概述

1.1 嵌入式系统概念

到目前为止,对嵌入式系统概念并没有一个统一的定义,这里引用几个别人的定义:

《嵌入式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架构处理器设计的电脑常常用作嵌入式系统开发主机,用来编辑和交叉编译嵌入式处理器的程序代码,外部连接一定的调试仿真设备还可以对嵌入式系统进行调试仿真。

1.2 嵌入式处理器

目前市场上的嵌入式处理器林林总总,令人眼花缭乱,总结起来大致可以分为以下几类:

■ 各种单片机

这是最简单的嵌入式处理器,其内部架构可以看成是x86处理器的微缩版,片内外设资源也相当有限,外设功能都要靠外接扩线芯片来实现,如MCS-51系列、PIC系列等。

■ MC68K系列

具有代表性的主要有Motorola公司出的MC68332、MC68VZ328、MC68EZ328、MC68360(MC68K到PowerPC的过渡产品)等。

■ PowerPC系列

具有代表性的主要有Motorola公司出的850、860、8260,以及IBM公司出的405、440等。

■ ARM系列

生产ARM架构处理器芯片的厂家非常多,ARM处理器的应用也最为广泛,国内最常用的是Atmel公司以及三星公司出的各种ARM处理器,如AT40800、S3C4510、S3C2410等。

■ MIPS系列

如BroadCom公司出的BCM1250、BCM1125等,目前MIPS处理器已经发展到高速率、多级cache、内部多CPU、硬件多线程,再加上MIPS处理器与生俱来的简单化设计思想,使得MIPS处理器的性能得到极大提高,国产“龙芯”就是多核高性能MIPS架构处理器。

■ DSP(Digital Signal Process)

数字信号处理器,具有较强的运算能力以及数字信号处理能力,主要用于消费电子领域,如Philip的PNX1500/1700以及TI的DM642等。

1.3 嵌入式系统应用

嵌入式系统已经融合到各行各业、各个领域;嵌入式系统在电子产品中无处不在,小到手机、PDA、游戏机、冰箱、电视、洗衣机、饮水机等常用电器,大到汽车、轮船、火车、飞机、导弹、宇宙飞船、航天飞机、空间站、火星探测器,处处都有它的身影,所以嵌入式系统的应用领域是相当广泛的,嵌入式系统的前景是无比美好的,嵌入式系统开发人员的前途是无限光明的,使命是无上光荣的!

1.4 嵌入式系统发展

随着科技的发展进步、生产工艺的提高、新兴先进材料的诞生以及应用领域的不断拓展,我相信嵌入式系统将来一定会朝着以下几个方向发展:

1)处理器芯片种类多样化;

2)处理器架构和指令集中化,并逐渐走向融合;

3)处理器芯片体积小型化、微型化;

4)处理器性能强大化;

5)处理器集成功能多样化和专业化两个方向同时发展;

6)处理器外围电路设计简单化;

7)嵌入式应用软件多样化;

8)嵌入式操作系统多样化;

9)嵌入式操作系统实时性提高;

10)嵌入式操作系统裁减和移植更加方便;

11)嵌入式系统调试仿真工具多样化;

12)嵌入式系统调试仿真工具功能强大化;

13)嵌入式系统调试仿真工具通用化。

1.5 一些嵌入式处理器的硬件特性比较

表1-1~表1-4是我从以前工作中开发过的一些嵌入式处理器总结出来的硬件特性比较表,希望能对读者有一点启发和帮助。

表1-1 各种嵌入式处理器的普通硬件特性比较

续表

续表

续表

续表

表1-2 各种嵌入式处理器的普通硬件特性比较(续1)

续表

表1-3 各种嵌入式处理器的普通硬件特性比较(续2)

续表

表1-4 各种嵌入式处理器的普通硬件特性比较(续3)

续表

续表

续表