标题: [求助]MC9S12DG128B 的eeprom怎么用啊 [打印本页]
作者: help02034025 时间: 2006-7-26 16:21 标题: [求助]MC9S12DG128B 的eeprom怎么用啊
在仿真的时候把信息写到EEPROM 中去了,然后读取相应地址的内容,返回值也是对的,但是掉电后内容就丢失了,不知道为什么。还请大家帮个忙,很急啊!
作者: strongchen 时间: 2006-7-28 09:31
软件仿真还是硬件仿真?
作者: help02034025 时间: 2006-7-28 10:03
是硬件仿真。
作者: help02034025 时间: 2006-7-28 10:08
还请斑竹大人多多指教。
作者: strongchen 时间: 2006-7-28 10:58
那你是怎么写EEPROM的呢?EEPROM的位置有没有映射?
作者: help02034025 时间: 2006-7-28 21:50
通过 ECLKDIV ESTAT EPORT 三个REG 来写的, .prm文件中没有反映EEPROM 的位置映射
关系,我的程序是参考邵贝贝老师的书写的。在仿真的时候檫除是正常的,写也是正常的,可就是一掉电,信息就丢了,RAM地址也是对的
while(!(eclkdiv&0x80)){}
while(!(estat&0x80)){}
while(!(eport&0x80)){}
...
while(!(estat&0x40)){}
作者: strongchen 时间: 2006-7-31 10:28
上电复位后,EEPROM的缺省位置在0x0000~0x07FF,而RAM在0x0000~0x1FFF。所以EEPROM完全被RAM覆盖掉了,而RAM的级别是比EEPROM高的。如果你没有将EEPROM映射到别的区域,这时数据可能只是写入了RAM,所以掉电后数据就丢失了。
作者: help02034025 时间: 2006-7-31 12:46
谢谢斑竹!!!!!
还有请问斑竹,怎么把EEPROM映射到别的区域啊,.prm文件里面没有该选项啊!
作者: help02034025 时间: 2006-7-31 12:50
我在数据手册里的关于EEPROM的使用里面也没有看到相关的设置啊,斑竹所说的EEPROM的缺省位置我在手册里面也能够找到,但是就是没有说明怎么修改映射区域啊!!!!!
作者: yunfeng 时间: 2006-7-31 13:26
寄存器,RAM,EEPROM可以通过设置INITRG,INITRM,INITEE来重新分配他们的位置。
这些寄存器只能写一次,建议在初始化分配寄存器,RAM,EEPROM的位置。对每个INITxx赋值后,在其指令后需插入一空指令。
如果映射有冲突,寄存器具有最高优先级,与其重叠的RAM和EEPROM此时无效。
复位后,寄存器从0x0000开始,但可以被映射到64K空间内的前32K的范围内,而且映射的地址必须是2K的整数倍。
复位后RAM区从0x1000开始,但可以被映射到64K字节空间内的任何16K字节块内。
比如从$0000-$3FFF,$4000-$7FFF.
RAM15-14用来决定RAM区映射到哪个16K的字节块中。RAM13-11不起作用
RAMHAL用来决定12KRAM是放在16K的后12K区域还是前12K区域
比如INITRM=9,则RAM从$9000到$BFFF共12K
DP256有4K的EEPROM,通过INITEE的EEON位来使能
复位后,EEPROM区域从$0000开始,但可被映射任意64K空间中的4K字节块内。
EE15-12决定16位EEPROM区域地址的前4位
比如:INITEE=0x11,则地址是从$1000开始
作者: strongchen 时间: 2006-7-31 14:47
在这个文档里:S12MMCV4.pdf。
作者: help02034025 时间: 2006-7-31 21:43
谢谢 yunfeng 大哥的指点。
作者: help02034025 时间: 2006-7-31 21:49
好的strongchen 斑竹,我再看以下您说的手册,谢谢
作者: qutao88 时间: 2006-8-2 10:19
S12MMCV4.pdf 这个文档在那里呀,我在freescale里找了半天,没有找到,很想看看,请版主帮忙了,谢谢
qutao713@163.com
作者: strongchen 时间: 2006-8-2 11:28
就在DG128数据手册的ZIP文件中,也可以直接在飞思卡尔网站上搜索。我上传一下试试:
http://bbs.chinaecnet.com/uploadImages/S12MMCV4.zip
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |