Proteus ISIS与Keil uVersion开发环境的互连
【一】简介
Proteus ISIS 6 Professional是一个强大的电路仿真(VSM,Virtual System Modelling )系统,不但可以支持SPICE电路仿真,而且可以支持8051系列、PIC系列、MC68HC11等MCU的仿真,其最新的6.8SP1版本甚至可以支持ARM的仿真。你可以通过软件仿真看到项目产品的执行结果,甚至不必使用真正的开发板。
Keil C集成环境,集成了C、C++、宏汇编、Debugger、仿真等功能,可支持8051、251、C166、ARM等MCU。
Proteus和Keil IDE之间,可通过VDM(Virtual Debug Monitor)协议通讯实现源码级的Debug。
两者相结合,可以使用Proteus VSM做电路设计,然后在Keil C集成环境与Proteus联动调试项目,可以使用纯软件仿真整个开发过程。
本文将介绍使用Proteus ISIS Professional作8051的电路仿真,在不使用真正开发板的情况下;通过Keil uVersion 实现对该仿真电路实现源码级别的Debug。该项目中不但包含C5代码,而且包含汇编代码。
【二】系统环境。
操作系统:Windows 2000 SP4。本例应可运行于Windows 2000/2003/XP等系统。
硬件仿真系统:Proteus ISIS Professional Release 6.7 SP3 with Advanced Simulation。
编译、Debug环境:Keil uVersion3(含C51 V8.01,ASM V8.0等)。
【三】初次设置。
1)确认已经安装TCP/IP协议。
提示:使用“ping 127.0.0.1”可以知道是否正确安装TCP/IP协议。详见Windows帮助。
2)从Proteus安装目录,拷贝“VDM51.dll”到Keil的BIN目录。通常两者分别位于以下目录:
C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\
C:\KEIL\C51\BIN\
3)使用纯文本编辑器,例如notepad,编辑Keil的配置文件TOOLS.INI。该文件通常位于:
C:\Keil\
在[C51]小节,查找:
TDRV[?]=BIN\MON51.DLL ("Keil Monitor-51 Driver")
在其后添加一行:
TDRV[?+1]=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")
这里的“[?]”、“[?+1]”表示数字,从0开始。如果已经用了某些数字,请按照已经使用的最大数字追加。
4)保存文件并关闭文本编辑器。
【四】准备Debug
下面以Proteus ISIS附带的设计文件“C51 calculator”(用C51模拟计算器)为例,介绍实际步骤。
1)运行Proteus ISIS
<1>打开设计文件:
C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES\C51 Calculator\Calc.dsn
<2>主菜单“Debug”下,选中“Use Remote Debug Monitor”。
2)运行Keil uVersion3
<1>打开项目“Calc.uv2”:
主菜单“Project”,“Open Project”,打开“calc.dsn”相同路径下的“Calc.uv2”。
<2>主菜单“Project”下,选“Options for Target ‘Target 1’”,选“Debug”标签页。
通常默认Debug模式为“Use Simulator”,表示使用Keil自己的软件仿真。这里把设置改为“Use:Proteus VSM Monitor-51 Driver”。
提示1:如果没有看到“Proteus VSM Monitor-51 Driver”这个选项,请检查TOOLS.INI文件的设置。
提示2:在“Proteus VSM Monitor-51 Driver”的高级选项,可以看到Host和Port选项。默认情况下Host为“127.0.0.1”,表示本机。若Protues ISIS运行于其他主机,请设置为ISIS宿主机对应的域名或IP。Proteus默认使用TCP Port 8000进行通讯。
提示3:运行Keil前,请确认已经运行ISIS,选中了“Use Remote Debug Monitor”,若有防火墙请确认允许访问TCP Port 8000。
<3>大多数情况下,请选中“Load Application at Startup”和“Go Until Main”这两个选项,并确认。本例中也请选中以上两个选项。
【四】使用Keil C51进行Debug
到此为止已经做好了Debug前的准备工作,你可以设置断点、单步追踪。例如,从主菜单选择“Debug”,“Start/Stop Debug Session”可以开始或停止Debug。在debug过程中可以看到“Proteus ISIS”下方提示栏有跳动的时间。
运行Debug方法请参见Keil用户手册。
如果找不到文件可以去proteus的官网Labcenter网站下载leilgn proteus联调的安装驱动“VDMAGDI.EXE”。一切搞定,包括设置等等。