changeyh 发表于 2006-3-11 15:10:57

仿真MEGA8电路和程序,EEPROM的内容无法载入?

我用的是Proteus PRO 6.7SP3 完全版(20.4M,在本站下载),无论单片机EDIT COMPONENT 对话框中的advanced properties中的initial contents of EEPROM是否装载,单步仿真,显示内部EEPROM内容,发现都是FF,导致结果不对,因为我的程序要用到EEPROM中的参数。将此参数改到RAM,一切OK.

    我装的内容是CVAVR产生的.eep文件。

    我这个程序绝对没问题,是一个成功的简单的应用。先前用自编的OS的成功应用来仿真,可是结果不对,最后用这个简单程序,才发现是EEPROM的问题。

    哪位帮忙,是什么原因?是使用不当,还是版本有问题?

changeyh 发表于 2006-3-13 08:50:03

我查看Sinulation log,发现无论initial contents of EEPROM是否设置,都有以下一条。



Loaded 512 bytes of persistent EEPROM data.

changeyh 发表于 2006-3-13 09:48:27

看来求人不如求己,试着用了一下vmlab之后,它的复位说明让我有了灵感,终于在proteus的debug菜单下,发现了Reset Persistent Model Data,好象就是做这个用的。也就是说,仿真之前先按一下这个。结果EEPROM里有了数据。

    不过,结果还不对,还要查找原因。

    好几天的问题了,原来就是操作不熟练。哈哈。

changeyh 发表于 2006-3-13 11:51:29

原因找到了。要载入的应是纯二进制文件,比如.BIN格式的。其它的比如.HEX、.OBJ、.EEP什么的,都不认。下面是PROTEUS对要载入的说明,在模块说明里面。



eeprom        -        This property allows you to load a binary image file of the initial contents of the EEPROM.



我对文件格式不是很懂,反正用UEDIT看一下就都知道了。希望懂的人来聊一聊。



实际应用的操作方法:

编译器生成输出之后,用PONYPROG2000载入EEP文件,然后另存为BIN,再用Proteus载入就行了。

ivension 发表于 2008-4-8 15:58:07

谢了

hailiyidishui 发表于 2009-7-14 15:49:09

mark,没想到已经是2006年的帖子,但却帮到了我,感谢楼主。

hgy_tom 发表于 2012-5-30 14:02:12

mark,没想到已经是2006年的帖子,但却帮到了我,感谢楼主。同感,谢谢
页: [1]
查看完整版本: 仿真MEGA8电路和程序,EEPROM的内容无法载入?