ADS(ARM Developer Suite)是ARM公司推出的新一代ARM集成开发工具。CodeWarrior for ARM是一套完整的集成开 发工具,充分发挥了ARM RISC的优势,使产品开发人员能够很好地应用尖端的片上系统技术。该工具是专为基于ARM RISC的处理器而设计的。它可加速并简化嵌入式开发过程中的每一个环节,使得开发人员只需通过一个集成软件开发环境就能研制出ARM产品;在整个开发周期中,开发人员无需离开CodeWarrior开发环境,节省了在操作工具上花的时间,而有更多的精力投入到代码编写上来。CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单、多样化的图形用户界面。用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C、C++或ARM汇编语言编写的程序代码,还可以生成程序代码的十六进制文件。
2.2 ARM虚拟实验室的实验内容和实验过程
结合Proteus和ADS构建的虚拟实验室能够进行ARM涉及的所有实验内容,其中包括中断、流水灯、串口通信、SPI通信、脉宽调制器、看门狗、A/D转换器、定时,以及基于μC/OS的实验。
基于ARM虚拟实验室的教学采用局域网多媒体教学,教师可以通过多媒体演示电路图并讲解其原理,学生根据相关实验原理在ADS和Proteus中完成整个实验。过程如下:
①在ADS中编写C语言源程序;
②编译、调试源程序,最终生成后缀为.hex的文件;
③在Proteus中设计完整的原理图;
④将生成的.hex文件导入相应的ARM芯片。
完成以上步骤后,在Proteus中运行即可;观察仿真结果,并检验是否与设计要求一致。
基于Proteus和ADS构建的ARM虚拟实验平台提供了大量的虚拟元件供学生使用,这样就可以在虚拟实验教学过程中培养学生的兴趣,激发学生的创造性,增强互动性,提高教学效果。
3 ARM虚拟实验教学实例分析
下面以用LPC2131设计一个流水灯的实验为例,介绍如何通过Proteus与ADS的整合实现对ARM外围电路的仿真。
3.1 软件的实现
在ADS中编写C语言程序添加到user组中。程序如下:

将该程序进行编译,编译通过后,就生成后缀为.hex的文件。
3.2 硬件电路的实现
在Proteus中设计的流水灯原理电路,如图1所示。其中用LPC2131的P1[25:18]控制LED8~LED1,低电平点亮。将后缀为.hex的文件添加到LPC2131中,运行后观察到的部分仿真结果与图1完全一致。此时为8盏灯全亮。

仿真结果与设计要求完全一致,达到了预期的目的。
结 语
综上所述,基于Proteus和ADS构建ARM虚拟实验室的方案是切实可行的。采用虚拟实验的方式,不仅能够解决传统ARM实验室设备资金短缺和维护困难的问题,而且使学生能够充分利用课余时间进行ARM系统的软硬件设计,充分锻炼了学生的动手能力。在实际运行中,取得了良好的教学效果。使用该方案进行系统虚拟开发成功之后再进行实际制作,无疑可以提高开发效率、降低开发成本、提升开发速度,具有较高的推广应用价值。