在过去一年里,基于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开发板