标题:
EEPROM&FLASH的问题!!!
[打印本页]
作者:
sunsetman
时间:
2007-6-4 22:25
标题:
EEPROM&FLASH的问题!!!
我写的EEPROM的程序在写入程序后在没有关闭电源时可以读回数据(仅是重启动),但是在关闭电源后数据基本是随机的,无法读回数据了。检查EEPROM是PROGRAMMED,不知道是什么原因,我用的是16mhz晶振。ECLKDIV设为4A,是根据芯片资料推算的。
作者:
strongchen
时间:
2007-6-5 09:59
什么芯片?看起来是你的EEPROM区还是被RAM覆盖了。
作者:
sunsetman
时间:
2007-6-5 21:22
是S12128DG,我是在0X400-0X800写数据的
作者:
strongchen
时间:
2007-6-6 10:04
DG128的RAM的上电缺省地址为0x0000~0x1FFF。如果不移走的话,就把EEPROM覆盖掉了。
作者:
tonmey
时间:
2007-6-7 21:12
谢谢了,我现在用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));
作者:
strongchen
时间:
2007-6-8 10:03
把整个project贴出来看看吧。
作者:
wf_car
时间:
2007-6-9 20:37
上电缺省地址为0x0000~0x1FFF。如果不移走的话,就把EEPROM覆盖掉了。
请问如何移走?
作者:
seuafu2005
时间:
2007-6-11 14:00
设定相应的寄存器INITRM, INITEE等,给ram或eeprom设定不同的地址空间
可以看相应的数据手册
作者:
zhudongpo
时间:
2007-6-12 10:48
请问在设定相应的寄存器INITRM, INITEE等,给ram或eeprom设定不同的地址空间后,
PRM文件需要改动吗?应该如何修改呢?
谢谢了。
作者:
zhudongpo
时间:
2007-6-12 17:40
http://bbs.chinaecnet.com/uploadImages/INITRM.rar
使用DP512因为EEPROM和RAM有重叠区域,现想将RAM映射到0x4000处,可是在使用RTI后,
程序就不能运行了,麻烦各位给看看,什么地方有问题。谢谢了
作者:
zhudongpo
时间:
2007-6-14 10:38
顶一下
作者:
seuafu2005
时间:
2007-6-14 14:50
注意设置后,各个空间区域不要有重叠
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0