摘 要:当今信息时代,嵌入式系统的应用无处不在,而arm嵌入式系统应用市场份额约占75%。从嵌入式系统的基本概念入手,分别从arm的定义、arm微处理器、arm开发工具及调试方法来介绍arm嵌入式系统基础知识。接着,讨论了arm嵌入式系统的实时性要求,介绍了目前市场上的实时多任务操作系统(rtos)。最后,概括了arm技术的应用领域及其产业化发展,并预测arm技术发展的前景。
关键词:嵌入式系统;arm;微处理器;rtos
1 引言
随着计算机技术、网络技术和微电子技术的深入发展,嵌入式系统的应用无处不在。
arm是目前公认的业界领先的32位嵌入式risc(精简指令计算机)微处理器。arm技术日益成熟和不断发展,正在逐步渗入到我们生活的各个方面。
本文从实际出发,首先介绍嵌入式系统的基本概念,随之重点阐述了由arm微处理器构成的嵌入式系统(简称arm嵌入式系统)的基础知识,最后分析了arm技术的产业化发展过程及发展趋势。
2 嵌入式系统
2.1 嵌入式系统的概念
嵌入式系统的英文叫做embedded system,是一种包括硬件和软件的完整的计算机系统,但又跟通用计算机系统不同。嵌入式系统的定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。wWW.133229.cOM”嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。
2.2 嵌入式系统的架构
嵌入式系统作为一类特殊的计算机系统,自底向上包含有3个部分,如图1所示。
(1)硬件环境:是整个嵌入式操作系统和应用程序运行的硬件平台,硬件平台包括嵌入式处理器和外围设备。嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。
(2)嵌入式操作系统:完成嵌入式应用的任务调度和控制等核心功能。具有内核较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对不变性。
(3)嵌入式应用程序:运行于操作系统之上,利用操作系统提供的机制完成特定功能的嵌入式应用。不同的系统需要设计不同的嵌入式应用程序。
3 arm嵌入式系统
3.1 什么是arm
arm是advanced risc machines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的risc处理器、相关技术及软件。
arm技术有很好的性能和功效,其合作伙伴包括世界许多顶级的半导体公司。目前,共有30家半导体公司与arm签订了硬件技术使用许可协议,其中包括intel、ibm、lg半导体、nec、sony、philips和国家半导体这样的大公司。可以说,arm不仅仅代表一个公司,代表了一类微处理器,代表了一种技术,还代表了一种新型的产业发展模式。
3.2 arm处理器核系列及应用
arm公司开发了一系列arm处理器核。目前最新的系列已经是arm11了。arm6及更早的系列已经罕见了,arm7以后的核也不是都获得广泛应用。目前应用最多的是arm7系列、arm9系列、arm9e系列、arm10系列、securcore系列、intel的strongarm 、xscale系列。
arm7系列:包括arm7tdmi、arm7tdmi-s、带有高速缓存处理器宏单元的arm720t和扩充了iazelle 的arm7ej-s。该系列广泛应用于多媒体和嵌入式设备,包括internet设备、网络和调制解调器设备以及移动电话、pda等无线设备。
arm9系列:包括arm9tdmi、arm920t和带有高速缓存处理器宏单元的arm940t。该系列主要应用于引擎管理、仪器仪表、安全系统、机顶盒、高端打印机、pda、网络电脑以及带有mp3音频和mpeg4视频多媒体格式的智能电话中。
arm9e系列:为综合处理器,包括arm926ej-s、带有高速缓存处理宏单元的arm966e-s/arm946e-s。该系列强化了数字信号处理功能,可应用于需要dsp与微控制器结合使用的情况,将thumb技术和dsp都扩展到arm指令集中,并具有embeddedice-rt逻辑,更好地适应了实时系统的开发需要。
arm10系列:包括arm1020e和arm1020e微处理器核。其核心在于使用向量浮点(vfp)单元vfp10提供高性能的浮点解决方案,从而极大地提高了处理器的整型和浮点运算性能,为用户界面的2d和3d图形引擎应用夯实基础,如视频游戏机和高性能打印机等。
securcore系列:包括sc100、sc110、sc200和sc210处理器核。该系列主要针对新兴的安全市场,以一种全新的安全处理器设计为智能卡和其他安全ic开发提供独特的32位系统设计,并具有特定的反伪造方法,从而有助于防止对硬件和软件的盗版。
strongarm系列:strongarm处理器将intel处理器技术和arm体系结构融为一体,致力于为手提式通信和消费电子类设备提供理想的解决方案。
xscale系列:提供全性能、高性价比和低功耗的解决方案,支持16位thumb指令和dsp指令。
3.3 arm微处理器的特点
采用risc体系架构的arm微处理器一般有如下特点:
(1)体积小、低功耗、低成本、高性能;
(2)支持thumb(16位)/arm(32位)双指令集,能很好的兼容8位/16位器件;
(3)大量使用寄存器,指令执行速度更快;
(4)大多数数据操作都在寄存器中完成;
(5)寻址方式灵活简单,执行效率高;
(6)指令长度固定。
3.4 arm微处理器的指令结构
arm微处理器在较新的体系结构中支持两种指令集:arm指令集和thumb指令集。其中,arm指令为32位的长度,thumb指令为16位长度。thumb指令集为arm指令集的功能子集,但与等价的arm代码相比较,可节省30%-40%以上的存储空间,同时具备32位代码的所有优点。
3.5 arm嵌入式系统开发工具及调试方法
arm处理器产品作为一种高性能、低功耗的处理器产品,现在已经得到广泛的应用,
arm开发工具也因此得到发展,除arm公司自己推出arm集成开发工具外,还有一些公司也研发arm开发工具。目前市场上有arm sdt、arm ads、multi 2000、hitools for arm、embest ide for arm五种集成开发环境。这些产品在国内有相对较畅通的销售渠道,用户容易购买。前三种由国外厂商出品,历史比较悠久,在全球范围内应用较为广泛,后两种由国内厂商推出,具有很高的性价比。
arm应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、jtag仿真器、在线仿真器等,
用户选用arm处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(ide)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。目前常见的调试方法有以下几种。
(1)指令集模拟器。
部分集成开发环境提供了指令集模拟器,可方便用户在pc机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。
(2)驻留监控软件。
驻留监控软件(resident monitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。
驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。arm公司的angel就是该类软件,大部分嵌入式实时操作系统也是采用该类软件进行调试,不同的是在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。
驻留监控软件的不便之处在于它对硬件设备的要求比较高,一般在硬件稳定之后才能进行应用软件的开发,同时它占用目标板上的一部分资源,而且不能对程序的全速运行进行完全仿真,所以对一些要求严格的情况不是很适合。
(3)jtag仿真器。
jtag仿真器也称为jtag调试器,是通过arm芯片的jtag边界扫描口进行调试的设备。jtag仿真器比较便宜,连接比较方便,通过现有的jtag边界扫描口与 arm cpu 核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。另外,由于jtag调试的目标程序是在目标板上执行,仿真更接近于目标硬件,因此,许多接口问题,如高频操作限制、ac和dc参数不匹配,电线长度的限制等被最小化了。使用集成开发环境配合jtag仿真器进行开发是目前采用最多的一种调试方式。目前国际市场上较流行的两种jtag仿真器:epi公司的jeeni和arm公司的multi-ice。
(4)在线仿真器。
在线仿真器使用仿真头完全取代目标板上的cpu,可以完全仿真arm芯片的行为,提供更加深入的调试功能。但这类仿真器为了能够全速仿真时钟速度高于100mhz的处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。在线仿真器通常用在arm的硬件开发中,在软件的开发中较少使用,其价格高昂也是在线仿真器难以普及的因素。
另外国际市场上较流行的有两种jtag仿真器:epi公司的jeeni和arm公司的multi-ice。
4 arm嵌入式系统的实时性要求
4.1 嵌入式系统软件需要rtos开发平台
通用计算机具有完善的操作系统和应用程序接口(api),是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在os平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配rtos开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
4.2 rtos
rtos是英文real time multi-tasking operation system的缩写,即实时多任务操作系统。它是嵌入式应用软件的基础和开发平台。目前在中国大多数嵌入式软件开发还是基于处理器直接编写,没有采用商品化的rtos,不能将系统软件和应用软件分开处理。rtos最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,这些管理功能是通过内核服务函数形式交给用户调用的,也就是rtos的api。rtos的引入,对嵌入式软件的标准化和加速知识创新是一个里程碑。
5 嵌入式系统的信息产业化发展
5.1 arm技术的应用领域
现在,嵌入式技术无处不在,arm几乎成为嵌入式技术的代名词。作为一种16/32位高性能、低成本、低功耗的嵌入式risc微处理器,arm微处理器目前已经成为应用广泛的嵌入式微处理器。arm微处理器及技术的应用几乎已经深入到各个领域。
(1)工业控制领域:作为32位的risc架构,基于arm核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,arm控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。
(2)无线通讯领域:目前已有超过85%的无线通讯设备采用了arm技术,arm以其高性能和低成本,在该领域的地位日益巩固。
(3)网络应用:随着宽带技术的推广,采用arm技术的adsl芯片正逐步获得竞争优势。此外,arm在语音及视频处理上进行了优化,并获得广泛支持,也对dsp的应用领域提出了挑战。
(4)消费类电子产品:arm技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛应用。
(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用arm技术。手机中的32位sim智能卡也采用了arm技术。
除此以外,arm微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。
5.2 嵌入式系统产业化发展
市场需求为嵌入式系统产业化发展注入巨大推动力。嵌入式系统的市场是巨大的,市场需求是嵌入式系统产业化发展的巨大推动力。据报告,10%~20%的计算机芯片是为台式或便携式电脑设计的,80%~90%的计算机芯片是为嵌入式设备设计的,这意味着每年有10亿至20亿个cpu是为嵌入式设备设计制造的。2003年,全球嵌入式系统产品的产值已达2000亿美元,估计全世界嵌入式系统产品潜在的市场将超过10 000亿美元。世界范围内嵌入式系统带来的工业年产值已超过了1万亿美元。
6 结语
随着半导体工艺技术的发展及系统设计水平的提高,arm技术将会不断的变化和进步,arm技术的应用领域会再次扩大,arm技术带来的工业产值将会剧增,arm技术产品的市场前景更加美好。总之,arm技术的不断创新会给人类社会生活带来奇迹和享受。
参考文献
[1]arm公司.arm architecture reference manual[m].arm公司,2000.
[2]周立功.arm嵌入式系统基础教程[m].北京:北京航空航天大学出版社,2005.
[3]郑文波,曹金安.嵌入式系统的产业化发展——市场、技术与前景[j].自动化博览,2005,(1):17.
[4]罗蕾.嵌入式实时操作系统及应用开发[m].北京:北京航空航天出版社,2005.
[5]中国计算机学会微机专业委员会.2004中国计算机科学技术年度发展报告——嵌入式系统部分[eb/ol]. http://blog.chinaunix.net/u/16785/showart.php?id=94585.