发新帖我要提问
12
返回列表
打印
[PIC®/AVR®/dsPIC®产品]

关于25Q128芯片的扇区擦除

[复制链接]
楼主: dzxc_wh
手机看帖
扫描二维码
随时随地手机跟帖
21
coody| | 2021-7-28 09:58 | 只看该作者 回帖奖励 |倒序浏览
我也用这个FLASH,按手册写的驱动,没有问题的。

使用特权

评论回复
22
dzxc_wh|  楼主 | 2021-7-28 10:31 | 只看该作者
感谢20楼,我试下加上写禁止命令

使用特权

评论回复
23
dzxc_wh|  楼主 | 2021-7-28 10:54 | 只看该作者
1、增加了写禁止命令,效果一样,还是有误擦除的
2、被误擦除的地址是有规律的,都是在正常需要擦除的地址的基础上增加256页,就是64K字节后,然后再64K字节后。。。。。。也是被误擦除

使用特权

评论回复
24
dzxc_wh|  楼主 | 2021-7-28 11:17 | 只看该作者
在整片擦除、也写完成后也增加了写禁止命令,效果也是一样的,感觉是得了癌症了

使用特权

评论回复
25
dzxc_wh|  楼主 | 2021-7-28 11:20 | 只看该作者
有点没招了,新建工程,把其它的所有无关的全删除掉

使用特权

评论回复
26
dzxc_wh|  楼主 | 2021-7-28 15:54 | 只看该作者
新建的工程效果一样

使用特权

评论回复
27
dzxc_wh|  楼主 | 2021-7-30 07:28 | 只看该作者
问题搞定。函数本身没有问题,出问题的地方在函数的使用。比如对于页写和页读函数,原来代进去的参数,地址是用page*256,当这个乘出来的值小于0x001000的时候没问题,大于这个值的时候,高位还是0,也就是说我读写的地址错误。解决的办法是将page强制转换成unsigned long类型,然后左移8位就可以了。
感谢各位高手的指点。

使用特权

评论回复
评论
mdc9 2022-4-7 13:31 回复TA
赞赞赞赞赞 
28
wiba| | 2021-8-11 13:57 | 只看该作者
不小心擦掉敏感地址?

使用特权

评论回复
29
nawu| | 2021-8-11 13:59 | 只看该作者
如何确认确实擦除的想象中的那片区域呢

使用特权

评论回复
30
qcliu| | 2021-8-11 14:01 | 只看该作者
换一个片子试试

使用特权

评论回复
31
tfqi| | 2021-8-11 14:52 | 只看该作者
以后我也需要注意这个问题

使用特权

评论回复
32
zljiu| | 2021-8-11 15:26 | 只看该作者
恭喜楼主解决问题

使用特权

评论回复
33
dzxc_wh|  楼主 | 2021-8-12 10:16 | 只看该作者
nawu 发表于 2021-8-11 13:59
如何确认确实擦除的想象中的那片区域呢

把擦除区域的数据读回来,如果全是FF,就说明是擦除了,否则就是没擦除

使用特权

评论回复
34
dzxc_wh|  楼主 | 2021-8-12 10:16 | 只看该作者
qcliu 发表于 2021-8-11 14:01
换一个片子试试

不是芯片的问题,是函数调用的问题

使用特权

评论回复
35
qcliu| | 2021-9-4 18:14 | 只看该作者
是哪个函数的调用问题啊

使用特权

评论回复
36
mdc9| | 2022-4-7 13:22 | 只看该作者
同样遇到此问题!!!请问你怎么解决的?

使用特权

评论回复
评论
mdc9 2022-5-11 13:58 回复TA
问题找到:擦除扇区函数,参数 地址用的是扇区地址,和内存字节地址没做转换 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则