嵌入式系统(ARM)开发平台选型_第1页
嵌入式系统(ARM)开发平台选型_第2页
嵌入式系统(ARM)开发平台选型_第3页
嵌入式系统(ARM)开发平台选型_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统()开发平台选型        摘要:本文从实际应用的角度出发,重点对Linux嵌入式系统开发中硬件平台选型问题进行论述。  关键词:嵌入式系统;ARM;Linux操作平台    1嵌入式Linux系统    嵌入式系统是软件和硬件的综合体。它是以应用为中心,以机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。Linux具有强大的功能,很好地支持了各种编程技术,将Linux应用于嵌入式系统的开发有

2、如下一些优点:  1) 内核完全开放,使得设计者可以自己设计和开发出真正的硬件实时系统和软件实时系统。  2)Linux本身具有一整套工具链,使用者可以较容易地自行建立嵌入式系统的开发环境和交叉编译及运行环境。  3) 强大的支持,可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。    2硬件平台的选择    2.1处理器的选择  设计者在选择处理器时要考虑的主要因素有:  (1) 处理性能。处理器的性能取决于多个方面的因素,如时钟频率、内部寄存器的

3、大小、指令是否对等处理所有的寄存器等。如果是面向高性能的应用设计,那么建议考虑某些新的处理器,其价格相对低廉,如IBM和Motorola Power PC。  (2) 技术指标。当前许多嵌入式处理器都集成了外围设备,采用这类CPU可以减少系统的体积,降低系统的开发成本。开发人员首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(GL,Glue Logic)就可以连接到处理器上;其次是考虑该处理器的一些支持芯片,如DMA控制器、内存管理器、中断控制器、串行设备、时钟等的配套。  (3) 功耗。嵌入式微处理器最大并且增长最

4、快的市场是手持设备、记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。这些产品中选购的微处理器,典型的特点是要求高性能、低功耗。  (4) 软件工具。仅有一个处理器,没有较好的软件开发工具的支持也是不行的,因此选择合适的软件开发工具对系统的实现会起到很好的作用。  (5) 内置调试工具。使用具有内置调试工具的处理器可以大大缩小调试周期,降低调试的难度。  (6) 供应商是否提供评估板。许多处理器供应商可以提供评估板来验证理论是否正确,决策是否得当。  2.2硬件选择的其他因素  (1)生产规模。打算做一

5、套,多套,还是规模生产,如果生产规模比较大,可以自己设计和制备硬件,这样可以降低成本。反之,最好从第三方购买主板和I/O板卡。  (2) 市场目标。如果想使产品尽快发售,以获得竞争力,就要尽可能买成熟的硬件;反之,可以自己设计硬件,降低成本。  (3) 软件对硬件的依赖性。软件是否可以在硬件没有到位的时候并行设计或先行开发。    3软件平台的选择    嵌入式软件的编写和开发调试的主要流程为:代码编程、交叉编译、交叉链接、重定位、下载到目标板和调试等几个步骤,因此软件平台的选择也涉及到以下几个方面。 

6、3.1操作系统的选择  (1) 操作系统选择应考虑的因素  硬件方案确定之后,操作系统的选择就相对轻松了。硬件的不同,会影响操作系统的选择。低端无MMU(Memory Management Unit,存储器管理单元)的CPU,要使用uClinux 操作系统;而相对高端的硬件,则可以用普通的嵌入式 Linux 操作系统。uClinux 和普通的 Linux 有各自的优势和缺点。可用于嵌入式系统软件开发的操作系统很多,但关键是如何选择一个适合开发项目的操作系统。笔者认为应该从以下几点进行考

7、虑。   操作系统提供的开发工具:有些实时操作系统(RTOS)只支持该系统供应商的开发工具,因此还必须向操作系统供应商获取编译器、调试器等;而有些操作系统使用广泛,且有第三方工具可用,因此选择余地较大。   操作系统向硬件接口移植的难度:操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择可移植性程度高的操作系统,避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。   操作系统的内存要求:均衡考虑是否需要额外花钱去购买RAM或EEPROM来迎合操作系统对内存的较大要求。 

8、;  开发人员是否熟悉此操作系统及其提供的API。   操作系统是否提供硬件的驱动程序。   操作系统的可剪裁性。有些操作系统具有较强的可剪裁性,如嵌入式Linux、Tornado/VxWorks等等。   操作系统的实时性能。  (2) 几类嵌入式Linux系统的比较  嵌入式Linux系统方面的产品主要分为三类。第一类是专门为Linux的嵌入式应用而做的,如何让Linux更小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去,是他们的产品开发方向。第二类是专门为Linux的实时特性设计的产

9、品,将Linux开发成实时系统尤其是硬实时系统,应用于一些关键的控制场合。第三类的产品是将实时性和嵌入式方案结合起来的方案。因此要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux;同时,和选择硬件的原则一样,如果可能,尽量选择使用普通的嵌入式 Linux 系统。  3.2编程语言的选择  编程语言的选择主要考虑以下因素。  (1) 通用性:不同种类的微处理器都有自己专用的汇编语言,这就为系统开发者设置了一个巨大的障碍,使得系统编程更加困难,软件重用无法实现。而高级语言一般和具体机器的硬件结构联系较少,多数微处理器都有良

10、好的支持,通用性较好。  (2) 可移植性程度:汇编语言和具体的微处理器密切相关,为某个微处理器设计的程序不能直接移植到另一个不同种类的微处理器上使用,移植性差;而高级语言对所有微处理器都是通用的,程序可以在不同的微处理器上运行,可移植性较好。  1         (3) 执行效率:一般来说,越是高级的语言,其编译器和开销就越大,应用程序也就越大、越慢;但单纯依靠低级语言,如汇编语言来进行应用程序的开发,带来的问题是编程复杂、开发周期长。因此,存在一个开发时间和运行性能间的

11、权衡问题。  (4) 可维护性:低级语言如汇编语言,可维护性不高。高级语言程序往往是模块化设计,各个模块之间的接口是固定的。当系统出现问题时,可以很快地将问题定位到某个模块内,并尽快解决。另外,模块化设计也便于系统功能的扩充和升级。  在嵌入式系统开发过程中使用的语言种类很多,比较广泛应用的高级语言有Ada、C/C+、Modula-2和Java等。Ada语言定义严格,易读易懂,有较丰富的库程序支持,目前在国防、航空、航天等相关领域应用比较广泛。C语言具有广泛的库程序支持,是目前在嵌入式系统中应用最广泛的编程语言,在将来很长一段时间内仍占重要地位。C+是一种面向对象

12、的编程语言,目前在嵌入式系统设计中也得到了广泛的应用。Modula-2定义清晰,支持丰富,具有较好的模块化结构,在教学科研方面有较广泛的应用。Java语言相对年轻,但有很强的跨平台特性,目前势头较为强劲。  3.3集成开发环境考虑的因素  (1) 系统调试器的功能。系统调试特别是远程调试是一个重要的功能。  (2) 支持库函数。许多开发系统提供大量实用的库函数和模板代码,如大家比较熟悉的C+编译器就带有标准的模板库。与选择硬件和操作系统的原则一样:除非必要,尽量采用标准的glibc。  (3) 编译器开发商是否持续升级编译器

13、。  (4) 连接程序是否支持所有的文件格式和符号格式。  3.4硬件调试工具的选择  好的软件调试程序可以有效地发现BUG,但是如果再选择一个好的硬件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种:  (1) 实时在线仿真器(ICE,In-Circuit Emulator)。可以对程序进行单步运行、断点、反汇编、内存检查、源程序级等的调试。  (2) 逻辑分析仪。最常用于硬件调试,也可用于软件调试。它是一种无源器件,主要用于监视系统总线的事件。  (3)ROM仿真器。可插入ROM插座

14、中的器件,用于仿真ROM芯片,从而避免了每次修改程序后直接烧结的麻烦。  3.5软件组件的选择  有些软件组件是免费的,有些软件组件是授权的。授权软件组件的费用一般都很高,但大都经过严格的测试,可靠性高,调试时间短。现在也有一些免费的自由软件组件,它们的性能、可靠性也很好。因此开发人员在选择的时候要加以权衡,确定哪种方案更好。    4展望    嵌入式技术的应用越来越广泛,有无限大的应用领域,可谓无所不在、无处不在、多种途径、多种选择。Linux在嵌入式系统中具有强大的生命力和利用价值,很多公司和大学都在应用中不断地研究和开发。可以预见,ARM与Linux在未来会更加壮大,在嵌入式产品市场上占有越来越大的份额。    :  1 马忠梅,李善平,等.ARM9&Linux 嵌入式系统教程M. 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论