基于ARM的嵌入式系统应用开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ARM的嵌入式系统应用开发
目录
摘要 (1)
Abstract (2)
第1章绪论 (3)
1.1课题的来源与意义 (3)
1.2 课题的历史、现状及前景 (3)
1.2.1 嵌入式系统的历史 (3)
1.2.2嵌入式系统的现状 (4)
1.2.3 嵌入式系统的发展前景 (6)
1.3本文主要的工作和章节安排 (7)
第2章嵌入式系统简介 (8)
2.1嵌入式系统概述 (8)
2.2嵌入式系统的特点 (8)
2.3嵌入式系统的体系结构 (9)
2.4嵌入式操作系统的特点 (10)
第3章ARM处理器及开发板介绍 (12)
3.1 ARM处理器概述 (12)
3.2 ARM 处理器的特点及应用领域 (13)
3.2.1 ARM 处理器的特点 (13)
3.2.2 ARM 处理器的应用领域 (13)
3.3 ARM 的体系结构 (13)
3.4开发板概述 (14)
3.5 ARM7开发板详细介绍 (16)
3.5.1片上集成的功能 (17)
3.5.2 S3C44BOX功能结构框图 (18)
第4章嵌入式开发环境的搭建 (19)
4.1嵌入式交叉编译环境的搭建 (19)
4.1.1交叉编译 (19)
4.1.2交叉调试 (20)
4.2 Windows开发平台 (21)
4.2.1 ADS概述 (21)
4.2.2 超级终端 (22)
4.3 Bootloader 介绍 (22)
4.3.1概念 (22)
4.3.2 Bootloader启动流程 (23)
4.3.3 u-boot概述 (24)
第5章uClinux移植实现 (26)
5.1 Linux和uClinux (26)
5.1.1 Linux (26)
5.1.2 uClinux (27)
5.2uClinux移植过程
28
5.2.1 建立开发平台 (28)
5.2.2 uClinux内核的编译和裁剪 (28)
5.3下载与运行结果 (32)
第6章ARM板的实际应用—实时日历时钟RTC (34)
6.1实时日历时钟RTC概述 (34)
6.1.1RTC内部功能结构图 (35)
6.2特殊寄存器 (36)
6.2.1控制寄存器(RTCCON) (36)
6.2.2报警控制寄存器(RTCALM) (36)
6.2.3报警时间数据寄存器 (37)
6.2.4循环复位寄存器(RTCRST) (38)
6.2.5 BCD时间数据寄存器 (39)
6.2.6.时钟节拍计数寄存器(TICNT) (40)
6.3 RTC日历时钟的应用 (40)
6.3.1调试与运行结果 (40)
结束语 (42)
参考文献 (43)
致谢 (45)
附录一 (46)
附录二 (51)
基于ARM的嵌入式系统应用开发
摘要:嵌入式系统是一个快速发展的领域。
嵌入式系统的研究内容涉及到计算机与通信学科的各个方面。
主要的技术热点包括嵌入式操作系统、系统芯片设计、应用软件开发和各种服务性的研究工作。
本文对嵌入式系统的特点和工作原理进行研究,介绍了ARM的体系结构,研究和开发Linux操作系统内核程序,进行交叉编译和交叉调试,建立交叉开发环境, 实现嵌入式uClinux系统内核编译和移植,通过应用程序的设计实例,梳理了基于ARM 的嵌入式系统板级设计的原理和关键技术。
本文阐述的原理和方法对于各种嵌入式系统的开发和应用具有通用性。
关键词:嵌入式;微处理器;交叉编译;移植
ARM-Based Embedded Application Development Abstract: As a fast developing field, embedded system research covers all aspects of computer and communication disciplines. Its major hot technologies include operating system, system chip design, application software development and service research.
After an introduction of the architecture of ARM, the characteristics and working principles
of embedded systems have been studied in this paper. Moreover, research and development of the kernel process of Linux , a kind of operating system, have been achieved. Through
cross-compiler and cross-debugging, cross-development environment was established and the embedded Linux kernel compilation and transplantation was realized.
With the principles and methods of the embedded system design thoroughly elaborated, this paper tires the principles and key techniques of embedded system board-grade design based on ARM for the application of design procedures. The principles and methods that are explained by the text can be used for the exploitation
and application.
Key words: Embedded System; Microprocessor; Cross-Compilation; Transplantation
第1章绪论
1.1课题的来源与意义
嵌入式是看不见的计算机,一般只运行平台,它渗透在生活得各个领域、各个方面。
它是以应用为中心,以计算机技术为基础的,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
IEEE(国际电气和电子工程师协会)对它的定义是“device used to control,or monitor ,or assist the operation of the equipment,machinery or plants”。
嵌入式系统主要由硬件和软件组成,而且软件与硬件是紧密集成在一起。
硬件以嵌入式处理器为核心,集成存储器和系统专有的输入/输出设备;软件包括初始化代码及驱动、嵌入式操作系统及应用程序等组成。
在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。
随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。
我国嵌入式系统发展的明显特点是:嵌入式系统的发展正从嵌入式系统技术走向嵌入式产业,“3C”融合和IT技术大融合加速嵌入式系统产业化进程,嵌入式系统是中国厂商从“中国制造”向“中国创造”转变的最佳契机。
32位ARM 嵌入式处理器具有高性能、低功耗的特性,已被广泛应用于消费电子产品、无线通信和网络通信等领域。
μClinux是专门为无MMU处理器设计的嵌入式操作系统,支持ARM、motorola等微处理器。
目前国内外采用ARM-μClinux作为嵌入式开发系统非常普遍。
而嵌入式开发系统的启动引导技术是嵌入式系统开发的一个难点。
系统启动引导的成功与否决定了应用程序的运行环境是否能正确构建,即系统启动成功是应用正确运行的前提。
1.2 课题的历史、现状及前景
1.2.1 嵌入式系统的历史
虽然嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。
从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。
作为一个系统,往往是在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。
嵌入式系统的出现最初是基于单片机的。
70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性
能:更容易使用、更快、更便宜。
这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。
最早的单片机是Intel公司的8048,它出现在1976年。
Motorola同时推出了
68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256字节的RAM、4K 的ROM、4 个8位并口、1个全双工串行口、两个16位定时器。
之后在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页,迄今为止,51系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着非常广泛的应用。
从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。
确切点说,这个时候的操作系统是一个实时核,这个实时核包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。
其中比较著名的有Ready System 公司的VRTX、Integrated System Incorporation (ISI)的PSOS和IMG的VxWorks、QNX公司的QNX 等。
这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,具有可裁剪,可扩充和可移植性,可以移植到各种处理器上;较强的实时和可靠性,适合嵌入式应用。
这些嵌入式实时多任务操作系统的出现,使得应用开发人员得以从小范围的开发解放出来,同时也促使嵌入式有了更为广阔的应用空间。
90年代以后,随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。
这时候更多的公司看到了嵌入式系统的广阔发展前景,开始大力发展自己的嵌入式操作系统。
除了上面的几家老牌公司以外,还出现了Palm OS,WinCE,嵌入式Linux,Lynx,Nucleux,以及国内的Hopen,Delta Os等嵌入式操作系统。
随着嵌入式技术的发展前景日益广阔,相信会有更多的嵌入式操作系统软件出现。
1.2.2嵌入式系统的现状
随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。
美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。
我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。
1999年世界电子
产品产值已超过12000亿美元,2000年达到13000亿美元,预计2005年,销售额将达18000亿美元。
进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。
在通信领域,数字技术正在全面取代模拟技术。
在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。
数字音频广播(DAB)也已进入商品化试播阶段。
而软件、集成电路和新型元器件在产业发展中的作用日益重要。
所有上述产品中,都离不开嵌入式系统技术。
象前途无可计量的维纳斯计划生产机顶盒,核心技术就是采用32位以上芯片级的嵌入式技术。
在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。
由于嵌入式设备具有自然的人机交互界面,GUI屏幕为中心的多媒体界面给人很大的亲和力。
手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。
目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,日用范围也将日益广阔。
对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统将发挥巨大的作用。
自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,和移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。
近期长虹推出的ADSL产品,结合网络,控制,信息,这种智能化,网络化将是家电发展的新趋势。
硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。
目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。
而且巨大的市场需求给我们提供了学习研发的资金和技术力量。
从软件方面讲,也有相当部分的成熟软件系统。
国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。
我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开发平台DeltaSystem,中科院推出的Hopen嵌入式操作系统(虽然还不够完善)。
同时由于是研究热点,所以我们可以在网上找到各种各样的免费资源,从各大厂商的开发文档,到各种驱动,程序源代码,甚至很多厂商还提供微处理器的样片。
这对于我们从事这方面的研发,无疑是个资源宝库。
对于软件设计来说,不管是上手还是进一步开发,都相对来说比较容易。
这就使得很多生手能够比较快的进入研究状态,利于发挥大家的积极创造性。
今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。
美国汽车大王
福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。
1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。
在国内,“维纳斯计划”和“女锅计划”一度闹得沸沸扬扬,机顶盒、信息加电这两年更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。
据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。
在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。
由此可见,嵌入式系统技术发展的空间真是无比广大。
1.2.3 嵌入式系统的发展前景
信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:
(1) 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。
目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。
比如三星在推广ARM7,ARM9芯片的同时还提供开发板和版及支持包(BSP),而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。
当然,这也是市场竞争的结果。
(2) 网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。
这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CAN BUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。
软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。
(3) 网络互联成为必然趋势。
未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。
传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。
(4) 精简系统内核、算法,降低功耗和软硬件成本。
未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。
因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。
(5) 提供友好的多媒体人机界面。
嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。
图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。
这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。
手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。
目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。
1.3本文主要的工作和章节安排
本文以当下嵌入式热点为背景,研究嵌入式系统的关键技术和应用移植。
重点介绍了嵌入式开发平台的搭建,包括交叉编译、交叉调试等,以及RTC(实时日历时钟)模块的设计。
本文章节安排如下:第2章为嵌入式系统的介绍,包括嵌入式系统的特点、体系结构以及嵌入式操作系统的特点;第3章为ARM处理器及开发板介绍,主要包括ARM 的介绍和此次使用的S3C44BOX的介绍;第4章为嵌入式开发平台的搭建,主要介绍交叉编译和交叉调试,ADS开发平台和Bootloader。
第5章为uClinux操作系统的移植。
第6章为RTC模块的设计。
最后对本文做出总结。
第2章嵌入式系统简介
2.1嵌入式系统概述
嵌入式系统一般指非PC系统,有电脑功能但又不称之为电脑的设备或器材。
他是以应用为中央,软件和硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格需要的专用电脑系统。
简单地说,嵌入式系统集系统的应用软件和硬件于一体,类似于PC中BIOS的工作方式,具备软件代码小、高度自动化、响应速度快等特点,特别适合于需要实时和多任务的体系。
嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,他是可单独工作的“器件”。
嵌入式系统几乎包括了生活中的任何电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表和医疗仪器等。
嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和i/o 端口、图像控制器等。
嵌入式系统有别于一般的电脑处理系统,他不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory)作为存储介质。
软件部分包括操作系统软件(需要实时和多任务操作)和应用程式编程。
应用程式控制着系统的运作和行为;而操作系统控制着应用程式编程和硬件的交互作用。
2.2嵌入式系统的特点
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
(1) 嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
(2) 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。
这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
(3) 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
(4) 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
(5) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
(6) 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
2.3嵌入式系统的体系结构
嵌入式系统作为一类特殊的计算机系统,一般包括以下3个方面:硬件设备、嵌入式操作系统和应用软件。
它们之间的关系如图2.1所示。
图
分,
的系统中,从而有利于嵌入
理器已经超过1000ARM、PowerPC、MC68000、MIPS
前常用的嵌入式设备按功能可以分为存储设备、通信设备和显示设备3类。
嵌入式操作系统从嵌入式发展的第3阶段开始引入的。
嵌入式操作系统不仅具有通用操作系统的一般功能,如向上提供对用户的接口,向下提供与硬件设备交互的接口,管理复杂的系统资源,同时,它还在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面,具有鲜明的特点。
应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标
的计算机软件。
由于嵌入式系统自身的特点,决定了嵌入式应用软件不仅要求做到准确性、安全性和稳定性等方面需要,而且还要尽可能地进行代码优化,以减少对系统资源的消耗,降低硬件成本。
2.4嵌入式操作系统的特点
嵌入式操作系统(real-time embedded operating system ,RTOS或EOS)是一种能在确定时间内执行其功能,并对外部的异步事件做出响应的计算机系统。
它实际是硬件和应用之间的一层软件,负责管理整个系统,同时将嵌入式硬件和应用隔离开来,为应用提供更容易理解和高效的程序设计接口。
它的关键特性之一是允许实时应用作为一系列独特的任务来运行,任务有各自的线程及系统资源。
它一般由内核、嵌入式TCP/IP 网络系统和嵌入式文件系统组成。
嵌入式操作系统除具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有下面几个特点:
(1) 可裁剪。
嵌入式操作系统可以根据产品的需求进行裁剪。
也就是说,某产品可以只使用很少的几个系统调用,而另一个产品则可能使用了几乎所有的系统调用。
这样可以减少操作系统内核所需的存储器空间(RAM和ROM)。
(2) 强实时性。
多数嵌入式操作系统都是硬实时的操作系统,抢占式的任务调度机制。
(3) 统一的接口。
针对不同的CPU,如ARM、PowerPC、x86等,嵌入式操作系统都提供了统一接口。
而且很多的嵌入式操作系统还支持POSIX 规范,如Nucleus、Vxworks、OSE、RTlinux等,这样在Linux或Unix上编写的应用程序可直接移植到目标板上。
(4) 操作方便、简单、提供友好的图形用户界面GUI。
多数嵌入式操作系统操作方便、简单,并提供友好的图形用户界面GUI。
(5) 提供强大的网络功能。
一般商用的嵌入式操作系统都带有网络模块,可以支持TCP/IP协议及其他协议,如Nucleus Net,而且这些网络模块都是可裁剪的,尺寸小、性能高。
(6) 稳定性,弱交互性。
嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的嵌入式操作系统具有较强的稳定性。
嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。
(7) 固化代码。
在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统的ROM中。
辅助存储器在嵌入式系统中很少使用。
(8) 良好的移植性。
嵌入式操作系统能移植到绝大多数8位、16位、32位以至64位微处理器、微控制器及数字信号处理器(DSP)上运行。
第3章ARM处理器及开发板介绍
3.1 ARM处理器概述
ARM处理器当前主要有6个系列产品:ARM7、ARM9、ARM9E、ARM10E、SecurCore 及最新的ARM11 系列。
进一步的产品则来自于ARM公司的合作伙伴,如Intel公司的StrongARM产品和XScale微体系结构等,不过Intel公司已经于2006年将该架构出售给Marvell Technology Group Ltd了。
ARM公司还把ARM IP Core提供给其他芯片设计公司用于设计ARM+DSP、ARM+FPGA等SOC结构的芯片。
现在用得比较多的如TI公司的OMAP,达芬奇系列大部分是含有ARM+DSP双核处理器的产品。
Actel公司的带M7标识的ProASIC3E 系列芯片则是FPGA+ARM7的SOC系统芯片。
这些多功能IC的发展也拓宽了ARM 处理器的应用范围。
ARM公司除了获得了以上半导体厂家的大力支持外,同时也获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、Plam OS、Symbian OS、pSOS、VxWorks、Nucleus、EPOC、uCOS等。
对于开发工程师来说,这些RTOS公司针对ARM处理器所提供的BSP对于迅速开始ARM平台上的开发至关重要。
在ARM处理器内核中有多个功能模块可供生产厂商根据不同用户的不同要求来配置生产。
这些模块分别用T、D、M、I、E、J、S等来表示,这些模块一般从处理器的内核版本上可以区分出来。
T:表示支持Thumb指令,说明该内核可从16位Thumb指令集扩充到32位ARM 指令集。
D:表示支持Debug,说明该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而方便地进行断点设置、单步调试。
M:表示Multiplier,说明处理器内部带有8位乘法器。
I:表示Embedded ICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
除了以上一些特性外,ARM处理器内核中还有一些处理器内核带EJ-S模块。
E:表示DSP Enhancement,即增加了前导零处理和饱和运算等一些常用的DSP 运算指令,极大地改善音、视频处理程序的性能。
J:表示Jazelle DBX(Direct Bytecode eXecution),这是ARM公司推出的Java。