新闻  |   论坛  |   博客  |   在线研讨会
使用评估套件快速启动ARM系统开发
tvro_china | 2007-12-21 17:54:36    阅读:1774   发布文章

在过去一年里,基于ARM内核的32位微控制器越来越便宜,在价格上能够为各种不同的硬件系统开发商所承受,从而开启了一个潜力几乎无限的市场空间。唯一的障碍就是,工程师们不太愿意离开一个非常熟悉的8位架构,而转向一个全新的开发环境。因此32位芯片厂商经常提供一些评估套件,以尽可能加快工程师们的学习曲线。而在线的仿真支持也变得越来越普遍,USB JTAG仿真器的使用允许在调试时不对硬件设计带来附加影响。 

与这一趋势相符的是,In-Stat公司去年的调研报告显示,由于用户产品要求使用更加完善并且功耗更低的芯片,到2009年,16位与32位的芯片的总销售量大约会是8位芯片销售量的两倍。而ARM架构恰好迎合了这一挑战,所以在便携电子设备中ARM的应用变得越来越普遍。
[ 相关贴图 ]

图1:1个32KB代码限制版本的IAR ARM开发软件被包含在每个评估套件中
评估套件被证明是一个非常有用的方法,能提供给微控制器用户——即使是那些对某种器件类型不怎么熟悉的用户——一个平台,将他们的想法迅速变成可用的硬件,而这正是向32位ARM架构迁移的关键要素。套件通常包含一块评估板(上面有微控制器芯片及相应的外设)、一套代码限制或时间限制的开发软件。大多数情况下,用户还需要配备1个电源, 1台JTAG仿真器和1台用来运行开发软件的PC。 

快速开始使用评估套件 

IAR公司更是改进了套件的提供方式:IAR的评估套件提供了更多的启动项目需要的资源,包括JTAG仿真器。一个IAR 评估套件包含了用户直接在芯片上设计、实现以及测试一个新应用所需要的所有硬件和软件。开始使用时非常简单,只要打开包装盒,把开发板放在工作台上,安装IAR 的软件以及演示程序,然后就可以开始运行了。
[ 相关贴图 ]

表1: IAR 评估套件支持的芯片
 


从不同的ARM7芯片公司那里可以购买到不同的IAR评估套件,在表1中列出了现在可供选择的套件。评估套件中的IAR开发软件还包含了编程范例以及Flash烧录功能。单键烧录Flash功能通常并不包含在其它套件里,但在IAR的套件里则是标准配置。 

每个评估套件包含了一块ARM开发板和一个32K代码编译限制的ARM开发工具链 —— IAR Embedded Workbench(图1)。对于许多微控制器芯片而言,32K的代码足以建立起一个完整的工作系统,而无需额外花钱购买软件许可。对于更大的系统,用户可以从免费赠送的入门版本升级到256K代码限制的基础版,或无限制的专业版(含完整的支持包)。 

大部分评估套件还包含了一个USB接口的J-Link ARM JTAG仿真器,以及一个20个状态限制的visualSTATE软件免费学习版,这是一个兼容UML的图形化系统设计软件,并具有先进的系统验证和确认工具以及强大的代码生成功能。 

集成开发环境 

IAR Embedded Workbench for ARM是一个集成化的专业开发环境,用于建立并调试使用C/C++的ARM嵌入式项目。基于窗口的软件设计在图形化界面下提供了丰富的功能和直观的图形环境,能帮助用户实现连续的工作流程,并提供一个开放的架构,以支持实时操作系统以及其它第三方的插件。同时还支持MISRA C(代码可靠性校验), Nexus接口以及ORTI(适用于OSEK类嵌入式实时操作系统的通用调试插件)。
[ 相关贴图 ]

图2:意法半导体的STR730评估套件
 


该工具链允许用户在可扩展且无缝的集成环境下创建多个项目、编辑文件、编译、汇编、链接并调试应用。工具选项可对工程全局、一组源文件或单个源文件进行配置,而一个层次化的项目表示可以显示出所有不同的源文件和输出文件以及它们的配置概要。软件包中还包括了现成的项目模板、代码模板以及项目示例,并可以与源代码控制系统配合使用。 

IAR的ISO/ANSI C/C++编译器能产生业内最精简、速度最快的代码,并能支持扩展的 嵌入式C++特性,包括模板和标准模板库(STL)。如果使用了ARM特有的扩展关键字并使用软件内建的ARM优化器,每个函数都可以在ARM或Thumb模式下被编译。 

C-SPY调试器被一体化地集成到IAR Embedded Workbench中,提供了丰富的调试功能,比如复杂的代码和数据断点,在最高优化级别下对Stack Unwinding的完全支持,I/O和中断的模拟,对寄存器、结构、函数调用链、局部和全局变量以及外设寄存器的全面监控。 

ARM开发板 

开发套件中开发板的组装方式,取决于使用哪颗芯片及其支持的相应外设。比如AT91SAM7开发板,包含以下所有特性:1颗AT91SAM7S128或AT91SAM7S256 MCU芯片;1个USB设备接口;2个串口通讯接口;1个Atmel加密存储器;1个JTAG/ICE调试接口;以及4个带缓冲的模拟输入端。另外还提供了4个通用LED指示灯和按键,以及一个扩展接口和一块原型区域。一个100脚的Atmel芯片被设计用来作为通讯桥接器,并提供CAN、以太网、RS232和USB接口,以及硬件上的支持,以减小MCU在通讯信道处理上的系统开销。 

IAR的套件相比其它套件的一个关键好处是:在开发过程中,开发板可以直接通过J-Link 的JTAG口从 PC的USB口取电,这就意味着不需要额外的外部电源供应。
[ 相关贴图 ]

图3:ARM评估套件的组成
 


采用不同芯片的评估板包含了这颗芯片所能支持的一套相应的接口。IAR的STR730-SK评估套件(如图2)演示了意法半导体公司最新的基于ARM7TDMI的5V STR730产品系列,主要针对工控和汽车电子领域的应用。开发板包含了一颗144脚的STR730FZ2芯片,板上带有256KB闪存,16KB的SRAM以及3个CAN接口。开发板上还包含了RS232和CAN的收发器,以及为外部供电(可选)配备的1个桥式整流器和5V 调整器。 

如同该系列中其他的套件一样,光盘中还含有开发板的原理图文档,用户可以非常容易地自己制作开发板电路。外设包括1块两行16字符显示的LCD、4个信号按键和1个复位键、1个用于调节外部模拟信号输入电平的电位器、1个热敏电阻、1个蜂鸣器以及16个LED。开发板尺寸是180 × 130 mm2,在开发板周边排列着2个CAN口、4个RS232口、2个 I2C口、2个 SPI口、Port-4以及处理器模拟输入端的插头,还有1排I/O插针和一块原型区域。 

在大多数评估套件中提供的IAR的J-Link-KS,是一个用于ARM嵌入式系统调试的仿真器,这个可靠并经济的仿真器已被无缝地集成到IAR的ARM开发环境中。它需要被连接到 PC的USB口,并由来自USB口的电力供应驱动工作,其性能非常稳定,当然也可用其它仿真器代替它。其高达600KB/s的下载速度无与伦比。 

状态机设计工具 

包含在意法半导体和飞利浦评估套件中的visualSTATE(图4)是一个带状态限制的免费版本,它能自动生成代码,还能生成对状态机系统的测试分析报告。visualSTATE是一个能用来设计、验证、模拟、追踪的工具,并能把状态机模型转换为C或C++代码。它可以用基于UML的状态图来表达任何复杂的系统,非常适合那些涉及并发结构、互相关联的任务或执行线程的实时系统。状态图的使用有益于表达那些基于逻辑控制的应用,比如像监控、测量和控制等需要高可靠性、精简的代码以及实时响应的那些应用。
[ 相关贴图 ]

图4:visualSTATE状态机设计工具也被包含在许多套件中
 


visualSTATE有一个好处,就是它不依赖于任何RTOS操作系统,可以与操作系统一起使用,也可以单独使用。它还可以与Altia Faceplate一起配合使用,轻松地实现图形化界面的系统原型设计。 

visualSTATE能对设计好的模型进行动态规范性测试,执行对系统的全面逻辑测试,如无法到达的状态、死点状态、死锁状态以及转移冲突等。而系统设计上的变化也能在测试中反映出来。系统模型可以在图形化的状态、事件和转移等系统级别上被模拟、被运行以及在PC或芯片上被验证,该工具还具有自动进行对比测试和覆盖性测试的功能。 

使用该软件最大的好处是,生成的代码高度紧凑,可与手工代码比拟,甚至更好。同时应用验证、测试和确认等功能,使开发者在系统硬件完成之前就能确保:系统的实现中已经排除了多义性、未测试过的元素或事件处理中的“漏洞”。 

评估套件性能评测 

最近有研究比较了不同的评估套件,得出的结论是,与Atmel 支持的其它套件相比,AT91SAM7套件使用户更容易上手。而SAM7X的代码范例中包含的1个中断处理和1个CAN传输/接受例程,被认为特别有价值。Atmel提供了两个加密/解密的例程,可以通过XC芯片的硬件加扰功能实现。这些例子,以及应用Atmel推荐的软件开发工具(包括IAR Embedded Workbench)的启动模板 都包含在Atmel评估套件的DVD光盘里。 

从安装IAR学习版开发工具开始,到通过SAM-ICE(J-Link的Atmel商标版本)把代码烧录到Flash中去,整个过程非常顺利,不像其他的某些工具,还需要用户额外花费购买相关的软件许可。安装过程中建立了一个190MB的目录,其中包含了IAR的用户手册,以及另外一个包含了代码示例的专门目录。在评估过程中,研究者发现IAR的JTAG能以“令人吃惊”的4MHz速度自动连接,这被认为对大多数应用都足够了。 

本文小结 

评估套件提供了一种快速、经济的手段,以快速开发出一个基于ARM的32位应用。不像其他工具厂商对学习版更加严格的限制定义,32KB代码限制的IAR集成开发环境通常足以应付许多应用,用户往往无须花钱去购买更高级别的版本。 

开发包中的J-Link仿真器的支持能力,以及通过USB口独立给开发板供电的能力,使得IAR的开发套件能给用户带来独到的好处。 

作者:Mike Skrtic 

工具与应用经理 

IAR系统公司 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
与快乐握手
最近文章
怎样做一块好的PCB板
2009-05-18 17:14:25
ARM入门
2009-05-18 17:10:18
推荐文章
最近访客