各位:
不知道如何在IDE环境下直接对EEPROM中的参数进行初始化。我使用的芯片是S12D64。他内部具有1k的EEPROM。
我的想法是,在IDE的环境下,针对在EEPROM中的一些参数(参数非常多,大约是使用了800个字节的EEPROM),直接进行初始化赋值,保证程序在运行的过程中,不用再对EEPROM初始值进行赋值。
现在,我在PRM文件,针对EEPROM的分区采用了FILL指令的方式,对其中的数据进行填充,如下所示:
EEPROM = READ_ONLY 0x2000 TO 0x23FF FILL 0x00 0x3D 0x10 0x80 0x02 0x00 0x74 0x00 0x07 0x00 0x00 0x00 0x1E 0x00 0x00 0x00 0x1E 0x22 0x28 0xA7 0x00 0xAA 0x00 0x00 //CODING DATA BLOCK 0 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
实际上,FILL这个指令在CW的手册中,只有针对flash的操作,并没有提到这个质量也可以针对EEPROM进行操作,现在我只是强制将EEPROM认为是flash,这样强制他生成相干的S19代码,但是代码是生成了,现在还不是很好的理解,BDM和IDE是符合确保这个数据是可以烧写到EEPROM的准确位置上的?
但是,针对S12的MCU他的EEPROM是可重定位的,在软件下载的过程中,如何保证BDM能够直接找到相关的EEPROM的准确位置。
并且针对针对S12D64的的复位INITEE的复位默认值,在不同的烧写时刻,通过BDM烧写器发现,他的数值,经常是不一样的,并不总是手册中的默认复位值?不知道这是个什么现象? |