ARM处理器与嵌入式系统_沈建华
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM处理器与嵌入式系统
沈建华
(华东师范大学计算机科学技术系,上海200241)
业界论坛INDUSTRY FORUM
62010年第11期adv@(广告专用)
可以用散热器加风扇散热。ARM针对嵌入式应用,在满
足性能要求的前提下,力求最低的功率消耗。ARM结构
的优点是能兼顾到性能、功耗、代码密度、价格等几个方
面,而且做得比较均衡。在性能/功耗比(MIPS/W)方面,
ARM处理器具有业界领先的性能。基于ARM核的芯片
价格也很低,目前ARM Cortex-M的芯片价格可低至10
元人民币左右。
2.2丰富的可选择芯片
ARM只是一个核,ARM公司自己不生产芯片,采用
授权方式给半导体生产商。目前,全球几乎所有的半导体
厂家都向ARM公司购买了各种ARM核,配上多种不同
的控制器(如LCD控制器、SDRAM控制器、DMA控制器
等)和外设、接口,生产各种基于ARM核的芯片。目前,
基于ARM核的各种处理器型号有好几百种,在国内市场
上,常见的有ST、TI、NXP、Atmel、Samsung、OKI、Sharp、
Hynix、Crystal等厂家的芯片。用户可以根据各自的应用
需求,从性能、功能等方面考察,在许多具体型号中选择最
合适的芯片来设计自己的应用系统。由于ARM核采用
向上兼容的指令系统,用户开发的软件可以非常方便地移
植到更高的ARM平台。
2.3广泛的第三方支持
以如今的技术,设计一个处理器并非难事,但要使这
个处理器得到大家认可,并取得市场成功却是非常困难
的,其中涉及许多技术与非技术的因素和环节,还包括时
机、运气。因为现在许多产品的开发,不是一个简单的处
理器加几百条指令、语句就可以解决的。要用到32位处
理器,一般都要有编译器、高效的开发工具(仿真器及调试
环境)、操作系统、协议栈等,这些东西都不是一个芯片生
产商可以解决的,而需要许多第三方的支持。这就像一粒
种子,需要土壤、空气、水等环境才能发芽、成长。这也是
我们的一些“中国芯”该反思之处。
ARM通过近20年的培育、发展,得到了广泛的第三
方合作伙伴支持。目前,除通用编译器GCC,ARM有自
己的高效编译、调试环境(MDK、Keil),全球约有50家以
上的实时操作系统(RTOS)软件厂商和30家以上的EDA
工具制造商,还有很多高效率的实时跟踪调试工具的厂商,对ARM提供了很好的支持。用户采用ARM处理器
开发产品,既可以获得广泛的支持,也便于和同行交流,加
快开发进度,缩短产品的上市时间。
2.4完整的产品线和发展规划
ARM核根据不同应用需求对处理器的性能要求,有
一个从ARM7、ARM9到ARM10、ARM11,以及新定义的Cortex-M/R/A系列完整的产品线。前几年应用较多的
主要是基于V4架构的ARM7TDMI、ARM720T、
ARM920T核的一些处理器芯片,如NXP的LPC2000系
列、ST的STR7/9系列、Atmel的AT91系列和Samsung
的S3C系列。近两年,ARM Cortex系列以更好的性能、
更低的价格得到快速推广,典型的就是基于Cortex-M3的STM32系列。
ARM Cortex-M/R/A系列分别针对不同的应用领
域。M系列主要面向传统微控制器(MCU/单片机)应用,
这类应用面很广,要求处理器有丰富的外设,并且各方面
比较均衡;R系列强调实时性,主要用于实时控制,如汽车
引擎;A系列面向高性能、低功耗应用系统,如智能手机。选用ARM处理器进行开发,技术积累性较强,生命周期
长,设计重用度高,不易被淘汰。用户在选择ARM处理
器时,可以针对应用需求,从大量的ARM芯片中选用满
足性能、功能要求的产品,以获得较好的性价比。
3ARM嵌入式系统的软件
由于嵌入式系统的差异性很大,对不同的应用需求,
必须选择不同的软件设计方法、开发平台和系统工具。
对于一些不需要复杂图形用户界面、通信协议和复杂
文件操作(如同时打开多个文件)的应用,如果选用Cor-
tex-M3核的处理器就已可以满足要求,任务数不多,任务
之间的关系也不复杂,则不一定需要移植复杂的操作系统。这样一方面可以降低系统硬件开销,也可以获得更好的实时性和执行速度。不过,这样的软件开发方法需要开发人员有较好的程序设计思想,对所用器件有深入的了解,并掌握其编程控制方法。若引入一个简单的操作系统,如μC/OS,可以简化程序结构,但开发者最好熟悉其
内核结构,并有使用经验,否则可能会需要更多的系统开发、调试时间。
如果选择了带存储器管理单元(MMU)的ARM处理
器(如ARM920T、Cortex-A8等),这种应用系统根据应
用、实时性、开发环境等因素,移植一个功能较强的操作系统一般情况下会比较合适,如Linux、WinCE,甚至新的Android等。这种系统的开发难度主要是在OS的移植以
及硬件驱动程序的开发上。当这二步工作完成后,主要的
软件开发工作已和在PC机上开发没有多大区别,可以按
照一般的软件工程方法来进行,要注意的只是与ARM硬
件平台相关的软件优化问题。
由于嵌入式系统硬件资源的有限性,嵌入式软件与其
他应用软件的主要区别,在于嵌入式软件要有较高的效
率,包括执行速度和存储空间,尽管这二者经常是相互矛
盾的。目前一般要求更多的是速度优化。要编写出高效
的ARM程序,需要开发人员熟悉ARM的体系结构,包括
内核结构、指令系统、Cache与存储器结构等,还要有好的
程序设计思想,以及对一些常用函数、算法的深刻理解。
paper@(投稿专用)2010年第11期Microcontrollers&Embedded Systems 5
ARM处理器与嵌入式系统
沈建华
(华东师范大学计算机科学技术系,上海200241)
摘要:本文是作者关于嵌入式系统一些基本问题的思考和总结。主要是从嵌入式处理器与硬件、ARM处理器的优势、
嵌入式软件、嵌入式系统教学等方面进行了一些梳理,谈了一些个人的观点。
关键词:嵌入式系统;ARM;硬件;软件;教学
中图分类号:TP399文献标识码:A
ARM Processor and Embedded System
Shen Jianhua
(Computer Science&Technology Department,East China Normal University,Shanghai 200241,China)
Abstract:Thoughts and summaries of some basic issues in the field of embedded system are put into this paper.Embedded processors
and hardware,the advantages of ARM processor,embedded software,and the teaching of embedded system are discussed.
Key words:embedded system;ARM;hardware;software;teaching
引言
由于各种新型微处理器的出现和应用的不断深化,嵌
入式系统在后PC时代得到了空前的发展。随着时间的
推移和技术的进步,在工业控制和新兴的手持式应用等领
域,用户体验成为产品成功的关键因素之一,越来越多的产
品需要良好的用户界面、互联功能以及较强的数据处理能
力,这对嵌入式处理器硬件、软件、教学等提出了新的要求。
1嵌入式处理器与硬件
在处理器方面,目前大量的中、低端嵌入式应用,主要
使用8/16位单片机。在国内,由于历史的原因,主要是以
MCS-51核为主的许多不同型号单片机,主要厂商有
Atmel、Philips、Winbond、宏晶等。还有一些近几年发展
较快的新型单片机,如PIC、AVR、MSP430系列等。这些
单片机各有特点,但从目前的发展角度来看,单片机针对
特定应用领域的个性化发展愈发明显,典型的例子就是