仿真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的问题。
哪位帮忙,是什么原因?是使用不当,还是版本有问题? 我查看Sinulation log,发现无论initial contents of EEPROM是否设置,都有以下一条。
Loaded 512 bytes of persistent EEPROM data. 看来求人不如求己,试着用了一下vmlab之后,它的复位说明让我有了灵感,终于在proteus的debug菜单下,发现了Reset Persistent Model Data,好象就是做这个用的。也就是说,仿真之前先按一下这个。结果EEPROM里有了数据。
不过,结果还不对,还要查找原因。
好几天的问题了,原来就是操作不熟练。哈哈。 原因找到了。要载入的应是纯二进制文件,比如.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载入就行了。 谢了 mark,没想到已经是2006年的帖子,但却帮到了我,感谢楼主。 mark,没想到已经是2006年的帖子,但却帮到了我,感谢楼主。同感,谢谢
页:
[1]