论文部分内容阅读
摘要:在嵌入式系统开发过程中,硬件电路设计和测试是比较麻烦的,因此我们希望能在开发初期就对其中的相应部分进行尽可能的仿真。本文简单介绍了当前比较流行的嵌入式系统仿真工具Proteus VSM及软件开发工具IAR EWARM集成开发环境,详细地介绍了在仿真过程中对Proteus VSM与IAR EWARM的接口方法。
关键词:嵌入式系统;Protues VSM;IAR EWARM;仿真
中图分类号:TP301 文献标识码:A文章编号:1009-3044(2007)03-10822-02
1 引言
近年来, 随着电子技术的迅猛发展,嵌入式的应用范围得到了极大的扩展,在通信、多媒体消费、工业控制等方面嵌入式都得到了广泛的应用。和单片机系统一样,嵌入式系统的设计也包括硬件电路设计和控制程序设计两个方面, 其调试过程也包括软件调试、硬件测试、系统调试3个过程。软件调试一般比较容易进行, 但如果要进行硬件电路测试和系统调试则比较麻烦, 因为要进行这两个过程必须在PCB制作完成、元器件焊接完毕之后才能进行。而PCB的制作、元器件的焊接是费时费力的, 如果我们能采用仿真工具Proteus VSM, 则不用制作具体的电路板也能够完成以上工作。毫无疑问, 在使用Proteus VSM进行系统虚拟开发成功之后再进行实际制作, 必然可以提高开发效率、降低开发成本、提高开发速度,而这些因素对于实际的开发来讲是非常重要的。
2 Proteus软件简介和仿真
Proteus软件是来自英国Labcenter Electronics公司的EDA工具软件,除了和其他EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,建立了一个完备的电子设计开发环境。Proteus产品系列也包含了革命性的VSM技术,可以对基于微控制器的设计连同所有的外围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
目前,针对ARM/LPC2000的Protues VSM包含了我们开发和仿真基于ARM7内核的Phillips LPC2000 32位处理器的嵌入式系统的所有功能。Protues VSM的特点如下:支持ARM和THUMB指令系统;支持VIC中断子系统的全部功能;支持片上外设的所有硬件模型,包括:GPIO,timers,RTC,UARTs,SPI,I2C,MAM,PLL,ADC和watchdog timer;仿真速度高达10MIPS;配有IAR Embedded Workbench和Keil UV3调试器的驱动。Protues VSM所支持的CPU模型有LPC2104, LPC2105, LPC2106,LPC2114,LPC2124;所支持的编译器有IAR's ARM Compiler(EWARM),GNU ARM Compiler,Keil ARM Compiler(KARM)等。
3 IAR EWARM集成开发环境简介
IAR Embedded Workbench(简称IAR EW)是瑞典IAR System公司推出的一种非常有用的嵌入式系统开发工具,它使用户能够充分有效的开发并管理嵌入式应用项目,其界面类似于MS Visual C++,可以在Windows95/98/2000/XP平台上运行,功能十分完善。IAR EW中包含了源程序文件编译器、项目管理器(Project)、源程序调试器(Debug)等,并且为C/C++编译器、汇编器、链接定位器等提供了单一而灵活的开发环境。IAR EW的源级浏览器(Source Browser)功能利用符号数据库使用户可以快速浏览源文件,还可通过详细的符号信息来优化变量存储器;文件查找功能可在指定的若干种文件中进行全局文件收索;IAR EW还提供了对第三方工具软件的接口,允许启动用户指定的应用程序。
IAR EW适用于开发基于8位、16位以及32位微处理器的嵌入式系统,其集成开发环境具有统一界面,为用户提供了一个易学和具有最大代码继承能力的开发平台,以及对各种特殊目标的支持。IAR公司提出了所谓“不同框架,唯一解决方案”的理念,用户可以针对多种不同的目标处理器,在相同的集成开发环境中进行基于不用CPU的嵌入式系统应用程序的开发,有效提高工作效率,节省工作时间。IAR EW还是一种可扩展的模块化环境,允许用户采用自己喜欢的编译器和源代码控制系统,链接定位器(XLINK)可以输出多种格式的目标文件,使用户可以采用第三方软件进行仿真调试。编译器、汇编器和链接器也可在命令行上运行,用户可以在一个已建立好的项目中把它们作为外部工具使用。
4 Proteus VSM与IAR EWARM集成开发环境的接口
由于笔者目前准备进行嵌入式系统的开发,因此希望能在Proteus和IAR EWARM中对硬件和软件尽可能的进行仿真。在仿真的过程中,我们还需要使用IAR CSPY仿真调试器,使用该仿真调试器可以实现与硬件目标板进行在线实时仿真。首先我们要到Proteus的官方网站下载vdmcspy.exe文件,链接地址是:http://downloads.labcenter.co.uk/vdmcspy.exe。它含有连接IAR EWARM和Proteus VSM的一个驱动文件。双击安装,注意要默认安装目录,它自己会找到你安装Proteus的目录的。
下面介绍Proteus VSM与IAR EWARM集成开发环境的接口方法。Proteus VSM与IAR EWARM之间通过TCP/IP通信。即: Proteus VSM与IAR EWARM可以分别运行在两台PC机上(也可以在同一台PC机上) , 但要确保两台PC机上都安装了TCP/IP协议,这里我们以在同一台PC机上为例进行介绍。
(1)在ISIS中打开硬件电路图。
(2)在Debug菜单下面选择Use Remote Debug Monitor,前面会出现个小勾。
(3)在IAR EWARM集成开发环境中打开相对应的软件工程。
(4)在工作区窗口中单击右键选择工程选项要求,在弹出的对话框中单击左边Category列表框中的Debugger选项,在驱动栏中选择Third-Party Driver选项,如图1所示。
(5)在Category列表框中选择Third-Party Driver选项,输入CSPY驱动(VDMCSPY.DLL)的安装路径,如图2所示。通常的安装路径为:
C:\Program Files\Labcenter Electronics\Proteus VSM CSPY Driver\VDMCSPY.DLL
(6)单击OK即可,这时你会发现在IAR EWARM集成开发环境的菜单栏中会出现Protues菜单选项。
这时我们就可以在IAR EWARM集成开发环境中使用各种调试方法了,包括单步调试,断点设置等。
需要特别注意的是,在使用IAR EWARM集成开发环境的时候我们不需要自己载入任何类型的文件(诸如HEX、ELF或UBROF等)到电路图中,因为该集成开发环境在你编译工程的时候会自动的将编译好的文件加载到目标板中。
当我们使用两台PC机分别运行Proteus VSM和IAR EWARM时,我们就需要在安装了IAR EWARM的PC机上进行相应的设置,在IAR EWARM集成开发环境的菜单栏中选择Protues菜单,单击VDM Driver Settings,在弹出的对话框中将IP地址设置为另一台PC机的IP地址,端口号不变。除此之外,其他的设置基本上都是一致的。
我们可以发现, 利用Proteus进行虚拟仿真是有许多优点的:比传统的实验方式速度快,程序修改、编译好后马上就可以看到效果,提高了效率;更加方便、直观以及形象化,硬件电路随时可进行更改, 电路修改也非常的方便。
5 结束语
本文给出了Proteus VSM与IAR EWARM集成开发环境接口的方法, 并简单介绍了Proteus VSM在嵌入式應用系统设计中的应用, 提出了一条新的在仪器、设备有限的情况下学习和使用嵌入式的方法,他解决了一些实际存在的束缚, 节省了大量的制作PCB的时间, 从而使我们能将主要的精力放在系统设计上, 对于提高产品的开发效率、降低开发成本等有非常重要的作用。
参考文献:
[1]VDMCSPY帮助文件.
[2]沙春芳.PROTEUS VSM在单片机系统仿真中的应用[J].计算机应用.2004(24):110-112.
[3]徐爱钧.IAR EWARM嵌入式系统编程与实践[M].北京航空航天大学出版社.2006.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:嵌入式系统;Protues VSM;IAR EWARM;仿真
中图分类号:TP301 文献标识码:A文章编号:1009-3044(2007)03-10822-02
1 引言
近年来, 随着电子技术的迅猛发展,嵌入式的应用范围得到了极大的扩展,在通信、多媒体消费、工业控制等方面嵌入式都得到了广泛的应用。和单片机系统一样,嵌入式系统的设计也包括硬件电路设计和控制程序设计两个方面, 其调试过程也包括软件调试、硬件测试、系统调试3个过程。软件调试一般比较容易进行, 但如果要进行硬件电路测试和系统调试则比较麻烦, 因为要进行这两个过程必须在PCB制作完成、元器件焊接完毕之后才能进行。而PCB的制作、元器件的焊接是费时费力的, 如果我们能采用仿真工具Proteus VSM, 则不用制作具体的电路板也能够完成以上工作。毫无疑问, 在使用Proteus VSM进行系统虚拟开发成功之后再进行实际制作, 必然可以提高开发效率、降低开发成本、提高开发速度,而这些因素对于实际的开发来讲是非常重要的。
2 Proteus软件简介和仿真
Proteus软件是来自英国Labcenter Electronics公司的EDA工具软件,除了和其他EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,建立了一个完备的电子设计开发环境。Proteus产品系列也包含了革命性的VSM技术,可以对基于微控制器的设计连同所有的外围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
目前,针对ARM/LPC2000的Protues VSM包含了我们开发和仿真基于ARM7内核的Phillips LPC2000 32位处理器的嵌入式系统的所有功能。Protues VSM的特点如下:支持ARM和THUMB指令系统;支持VIC中断子系统的全部功能;支持片上外设的所有硬件模型,包括:GPIO,timers,RTC,UARTs,SPI,I2C,MAM,PLL,ADC和watchdog timer;仿真速度高达10MIPS;配有IAR Embedded Workbench和Keil UV3调试器的驱动。Protues VSM所支持的CPU模型有LPC2104, LPC2105, LPC2106,LPC2114,LPC2124;所支持的编译器有IAR's ARM Compiler(EWARM),GNU ARM Compiler,Keil ARM Compiler(KARM)等。
3 IAR EWARM集成开发环境简介
IAR Embedded Workbench(简称IAR EW)是瑞典IAR System公司推出的一种非常有用的嵌入式系统开发工具,它使用户能够充分有效的开发并管理嵌入式应用项目,其界面类似于MS Visual C++,可以在Windows95/98/2000/XP平台上运行,功能十分完善。IAR EW中包含了源程序文件编译器、项目管理器(Project)、源程序调试器(Debug)等,并且为C/C++编译器、汇编器、链接定位器等提供了单一而灵活的开发环境。IAR EW的源级浏览器(Source Browser)功能利用符号数据库使用户可以快速浏览源文件,还可通过详细的符号信息来优化变量存储器;文件查找功能可在指定的若干种文件中进行全局文件收索;IAR EW还提供了对第三方工具软件的接口,允许启动用户指定的应用程序。
IAR EW适用于开发基于8位、16位以及32位微处理器的嵌入式系统,其集成开发环境具有统一界面,为用户提供了一个易学和具有最大代码继承能力的开发平台,以及对各种特殊目标的支持。IAR公司提出了所谓“不同框架,唯一解决方案”的理念,用户可以针对多种不同的目标处理器,在相同的集成开发环境中进行基于不用CPU的嵌入式系统应用程序的开发,有效提高工作效率,节省工作时间。IAR EW还是一种可扩展的模块化环境,允许用户采用自己喜欢的编译器和源代码控制系统,链接定位器(XLINK)可以输出多种格式的目标文件,使用户可以采用第三方软件进行仿真调试。编译器、汇编器和链接器也可在命令行上运行,用户可以在一个已建立好的项目中把它们作为外部工具使用。
4 Proteus VSM与IAR EWARM集成开发环境的接口
由于笔者目前准备进行嵌入式系统的开发,因此希望能在Proteus和IAR EWARM中对硬件和软件尽可能的进行仿真。在仿真的过程中,我们还需要使用IAR CSPY仿真调试器,使用该仿真调试器可以实现与硬件目标板进行在线实时仿真。首先我们要到Proteus的官方网站下载vdmcspy.exe文件,链接地址是:http://downloads.labcenter.co.uk/vdmcspy.exe。它含有连接IAR EWARM和Proteus VSM的一个驱动文件。双击安装,注意要默认安装目录,它自己会找到你安装Proteus的目录的。
下面介绍Proteus VSM与IAR EWARM集成开发环境的接口方法。Proteus VSM与IAR EWARM之间通过TCP/IP通信。即: Proteus VSM与IAR EWARM可以分别运行在两台PC机上(也可以在同一台PC机上) , 但要确保两台PC机上都安装了TCP/IP协议,这里我们以在同一台PC机上为例进行介绍。
(1)在ISIS中打开硬件电路图。
(2)在Debug菜单下面选择Use Remote Debug Monitor,前面会出现个小勾。
(3)在IAR EWARM集成开发环境中打开相对应的软件工程。
(4)在工作区窗口中单击右键选择工程选项要求,在弹出的对话框中单击左边Category列表框中的Debugger选项,在驱动栏中选择Third-Party Driver选项,如图1所示。
(5)在Category列表框中选择Third-Party Driver选项,输入CSPY驱动(VDMCSPY.DLL)的安装路径,如图2所示。通常的安装路径为:
C:\Program Files\Labcenter Electronics\Proteus VSM CSPY Driver\VDMCSPY.DLL
(6)单击OK即可,这时你会发现在IAR EWARM集成开发环境的菜单栏中会出现Protues菜单选项。
这时我们就可以在IAR EWARM集成开发环境中使用各种调试方法了,包括单步调试,断点设置等。
需要特别注意的是,在使用IAR EWARM集成开发环境的时候我们不需要自己载入任何类型的文件(诸如HEX、ELF或UBROF等)到电路图中,因为该集成开发环境在你编译工程的时候会自动的将编译好的文件加载到目标板中。
当我们使用两台PC机分别运行Proteus VSM和IAR EWARM时,我们就需要在安装了IAR EWARM的PC机上进行相应的设置,在IAR EWARM集成开发环境的菜单栏中选择Protues菜单,单击VDM Driver Settings,在弹出的对话框中将IP地址设置为另一台PC机的IP地址,端口号不变。除此之外,其他的设置基本上都是一致的。
我们可以发现, 利用Proteus进行虚拟仿真是有许多优点的:比传统的实验方式速度快,程序修改、编译好后马上就可以看到效果,提高了效率;更加方便、直观以及形象化,硬件电路随时可进行更改, 电路修改也非常的方便。
5 结束语
本文给出了Proteus VSM与IAR EWARM集成开发环境接口的方法, 并简单介绍了Proteus VSM在嵌入式應用系统设计中的应用, 提出了一条新的在仪器、设备有限的情况下学习和使用嵌入式的方法,他解决了一些实际存在的束缚, 节省了大量的制作PCB的时间, 从而使我们能将主要的精力放在系统设计上, 对于提高产品的开发效率、降低开发成本等有非常重要的作用。
参考文献:
[1]VDMCSPY帮助文件.
[2]沙春芳.PROTEUS VSM在单片机系统仿真中的应用[J].计算机应用.2004(24):110-112.
[3]徐爱钧.IAR EWARM嵌入式系统编程与实践[M].北京航空航天大学出版社.2006.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。