首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

EEPROM&FLASH的问题!!!

EEPROM&FLASH的问题!!!

我写的EEPROM的程序在写入程序后在没有关闭电源时可以读回数据(仅是重启动),但是在关闭电源后数据基本是随机的,无法读回数据了。检查EEPROM是PROGRAMMED,不知道是什么原因,我用的是16mhz晶振。ECLKDIV设为4A,是根据芯片资料推算的。
程小科
什么芯片?看起来是你的EEPROM区还是被RAM覆盖了。
海纳百川  有容乃大
是S12128DG,我是在0X400-0X800写数据的
程小科
DG128的RAM的上电缺省地址为0x0000~0x1FFF。如果不移走的话,就把EEPROM覆盖掉了。
海纳百川  有容乃大
谢谢了,我现在用FLASH试了以下,但是为什么我的FLASH不写入呢?程序基本和EEPROM的一样,只是把寄存器名字改了,做整体擦除时芯片还会上锁。我是按照芯片资料给的顺序写的,寄存器也检查完成了FLASH动作,只是没有写入。不知道是什么原因。
我的程序是这样的:
void FLASH_WR(word data,volatile word* FLASH_Addr) {
if(!FCLKDIV_FDIVLD) FCLKDIV=0x4a;
FSTAT=0x30;
*FLASH_Addr=data;
// PPAGE=(FLASH_Addr>>16); Do not have to set between 4000-7fff
FCMD=0x20;
FSTAT_CBEIF=1;
if(FSTAT_PVIOL)FSTAT_PVIOL=1;
else if(FSTAT_ACCERR)FSTAT_ACCERR=1;
else if(!FSTAT_CBEIF){
while(!FSTAT_CCIF);
}
}
请教高手是什么原因??调用时是这样写的:FLASH_WR(a,(volatile word*)(0x4000));
把整个project贴出来看看吧。
海纳百川  有容乃大
上电缺省地址为0x0000~0x1FFF。如果不移走的话,就把EEPROM覆盖掉了。
请问如何移走?
----====历史照亮未来====----
设定相应的寄存器INITRM, INITEE等,给ram或eeprom设定不同的地址空间
可以看相应的数据手册
请问在设定相应的寄存器INITRM, INITEE等,给ram或eeprom设定不同的地址空间后,
PRM文件需要改动吗?应该如何修改呢?
谢谢了。
http://bbs.chinaecnet.com/uploadImages/INITRM.rar
使用DP512因为EEPROM和RAM有重叠区域,现想将RAM映射到0x4000处,可是在使用RTI后,
程序就不能运行了,麻烦各位给看看,什么地方有问题。谢谢了
顶一下
注意设置后,各个空间区域不要有重叠
返回列表