微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 请教个擦除FLASH问题

请教个擦除FLASH问题

时间:10-02 整理:3721RD 点击:


用的是SST39VF400A,映射地址是 flash_addr 0x400000
看手册,在进行写和擦除操作前,要执行3字节SDP指令
{
flash_add[0x5555]=0xaa;/*3字节芯片SDP指令*/

flash_add[0x2aaa]=0x55;

flash_add[0x5555]=0xa0;
}
想问的是执行完这三字节指令后,在CC里查看0x00405555内容不是0xa0,0x00402aaa也不是0X55,想问的是这是正常情况还是不正常?
接下来的擦除和写入都不能进行,郁闷了好久了,望高手指教

flash的操作是在一定的命令下的,比如你要擦除芯片(通常有两种方式 块擦除和芯片全部擦除两个命令)前者当你在一定的地址输入一定的命令序列后只需很短的时间即可(你可以校验擦出的区域读出是否为ff ,后者通常要等好几秒呢

谢谢指教
关键是现在指令都写不进去啊
我尝试过运行擦除程序,最后也加了校验,判断是不是全1,等了几分钟了,都不行,擦除不了啊
然后停止程序,在CC里面查看MEMORY,发现FLASH内的内容没有改变啊,郁闷

其中一点我不理解的是,在运行SDP指令时,我在第一条指令加了一条判读语句,如下
{flash_add[0x5555]=0xaaaa;/*3字节芯片SDP指令*/
while(flash_add[0x5555]!=0xaaaa);/判断0xaaaa是不是已经写入地址
flash_add[0x5555]*/
flash_add[0x2aaa]=0x5555;


flash_add[0x5555]=0xa0a0;

}
运行程序,发现死循环,也就是说flash_add[0x5555]不是0xaaaa,那flash_add[0x5555]=0xaaaa;这条语句应该怎么理解,数据到底写到哪个地址去了?高手指教下迷途的小弟

请问在写命令字的时候,对应的地址单元会发生改变吗?
我在察除FLASH的时候,看相应内存,发现在写任何一个命令字的时候,所有单元都变成写入的命令,我觉得不正常.大家有什么经验?

请问FLASH的软件模式包括编程和察除模式吗?
DATASHEET上真值表这样写的:
工作方式 /CE /OE /WE
读 L L H
编程 L H L
察除 L H L
软件模式 L L H

这样看软件模式与读的方式相同,是不是写错了。还是我没有理解?

问题已解决,谢谢大家关注。
到此我一完成DSP的开发。

无法进入CCS,初始化DSP报错,求教!

目标板是5501的,
无法进入CCS

报错:
Can\'t Initialize Target Cpu
Error 0x80000242/-1023
Fatal Error during:Memory Initialization,ocs
PTI_ERR__IROP_CMDError Occured at 0x000000BE

请大家指教一下
可能是那个地方不对,希望能给我些启发与帮助

我也遇到了问题,SST39VF400A映射到VC5509A的CE1空间,可是0X200000的内容始终是0xff00,请大虾门指教了,谢谢

你是怎么解决的啊,我用的也是39VF400A,无法擦除

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top