请教个擦除FLASH问题
用的是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,无法擦除