proteus与Keil联调时候的问题。 100

我做的是一个pg12864的仿真。如果联调的话,单步调试LCD可以正常显示图像,但如果用proteus直接运行.hex文件的话,图像无法正常显示,而是显示出竖线。这是为什... 我做的是一个pg12864的仿真。如果联调的话,单步调试LCD可以正常显示图像,但如果用proteus直接运行.hex文件的话,图像无法正常显示,而是显示出竖线。这是为什么呢? 展开
 我来答
wjw111lu
2012-02-26 · TA获得超过114个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:176万
展开全部
会不会是时钟的问题?把proteus和keil中的时钟设置一致。如果还不行,在程序里添加一些调试信息,如初始化LCD时串口输出“LCD初始化”,开始写数据时串口输出“正在写入数据”等等。用串口实时发送,就知道怎么回事了。proteus中有串口器件,然后结合串口虚拟软件和串口调试工具,就可以实时观察调试信息。串口是一种很好的调试方式。
更多追问追答
追问
将.hex文件的倒数第二行和最后的回车符删去的话,就可以正常使用。
能解释这是什么原因么?
追答
以前没见过,然后网上找到下面描述,感觉应该是原因吧。
1.选标准的intel-standerd格式,重载文件*.a79为*.hex,此hex文件可以直接下载到proteus中运行.

2..选标准的intel-extended格式,重载文件*.a79为*.hex,此hex格式根据此前选intel-extended格式部分变种类型(即format variant选项)不同,有的能运行,有的不行!

对于不能运行的hex文件,用记事本打开,删除倒数第二行,保存,即可导入proteus中运行!!!

此方法对于crossworks等gnu编译器生成的hex文件,同样适用!!!!!!!!!!

3.最好的办法是生成elf格式文件,不光可以导入proteus中运行,而且可以在proteus中直接调试!!!!!!!!!!!!

此方法对于crossworks等gnu编译器生成的elf文件,同样适用!!!!!!!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优特美尔电子
2024-11-20 广告
优特美尔商城是深圳市优特美尔电子有限公司所属的一站式电子元器件采购平台, 依托创始人在电子元器件18年的积累,目前平台汇集了近 3000家品牌供应商、近3000万现货SKU,海内外注册用户超过3万,日均询单2000+。 优特美尔商城基于货源... 点击进入详情页
本回答由优特美尔电子提供
赖亮禽含桃
2019-04-27 · TA获得超过3652个赞
知道大有可为答主
回答量:3187
采纳率:24%
帮助的人:202万
展开全部
Proteus6.94、95与keilC51联调设置方法
1、将KeilC51(u2、u3均可)、Proteus6(94、95均可)都安装好;
2、下载两个软件,一个是Proteu的Vdmagdi.exe,另一个是授权后的Prospice.dll(两个文件链接地址看下面)
3、先运行Vdmagdi.exe安装Keil接口,然后将Prospice.dll覆盖在Proteus的安装文件夹下的Bin中如:D:\Program
Files\Labcenter
Electronics\Proteus
6
Professional\BIN;
4、打开Proteus,在【菜单】【Debug】下拉菜单中选【User
Remote
Debug
Monitor】(在该项前打勾);
5、打开KeilC51,点击【菜单】【工程】【为目标'XX'设置选项】,在【调试】标签下选择右边的【使用U】单选,并在下拉框中选【Proteus
VSM
Simulator】仿真设备;
6、在Proteus侧做好硬件连线,Keil侧写好软件,点击Keil【调试】【运行】,您可以欣赏联调了。
proteus6.9
sp4与keil联调几点发现:
在这里联调的一些基本操作就不再赘述了
1,一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,
即Proteus的工程Design文件(后缀名.DSN)要和包含Keil工程所有文件的那个文件夹在同一层目录下)
;
经过操作发现:
Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清
楚),否则proteus报错:Unable
to
open
HEX
file
'Keil\DS1302.hex'.
keil报错:
target
dll
has
been
cancelled
debugger
aborted!),另外
针对其他版本的联调,以上两点原则也要遵守
2,6.9以上版本需要添加与Keil联调补丁Vdmagdi.exe,其作用就是添加在程序目录keil/c51/bin目录
下添加Vdm51.dll,(注意:与其他版本不同,6.9以上版本Proteus
6
Professional\MODELS\目录下没

VDM51.dll)并且修改keil目录下tools配置文件,添加两行文本:TDRV8=BIN\VDM51.DLL
("Proteus
VSM
Simulator")
BOOK2=HLP\VDMAGDI.HLP
("Proteus
VSM
AGDI
Driver"),经过实际
操作证明,不一定要安装补丁Vdmagdi.exe,手动操作也可成功实现联调功能,其中第二行非必需
3,至于Proteus
6
Professional\BIN目录下Prospice.dll的作用,有网友说与授权有关,有网友说与授权有关,确有可能。默认安装的版本是早于2006.6.26的版本,好像是2006.6.17,替换时没记清,联调失败。当用
2006.6.26版本代替后,联调才成功,但是用更新的2006.8.18版本替换时,联调又会失败。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式