spi fash w25Q256fv的写保护问题

xuhuaicheng 2016-05-03 12:46:48
问题描述如下:
我重复很多次给芯片下载程序,芯片把程序往spiflash里面写数据,程序是能运行的,对spiflash擦写多了,不知道重复多少

次下载程序后,突然有一次发现程序未写进flash里面去,发现数据错误,因为我们有一个对写入数据对比程序,后来测试发现状态

寄存器的值改变了,刚刚好全盘写保护(有些太巧合了,发现了两个芯片都是这样的),所以把状态寄存器的保护位清掉就可以

写了,但是状态寄存器的值为啥会改变,那种现象很难重现(不停地重复下载程序这个动作,测试两天了才重现了一次),目前

出现了四个例子了,芯片都是经过老化测试才出现

分析:
首先,我确认驱动程序是可以运行的,不停重复下载同一个程序也会出现的;其次,直接对状态寄存器操作的内容,就是

在初始化那里,使能一下四线模式,还有一个使能四字节寻址方式使能(不属于状态寄存器操作),最后,spi的频率30M 模式3

疑问,请高手指点:
1、状态寄存器的值怎么会改变了呢,会不会是芯片本身受外部影响(擦写多了或者引脚/WP的问题),自身改变状态寄存器的值,保护数据

2、会不会是驱动程序把状态寄存器的改变了呢(但是我只在初始化那里写使能四线模式写寄存器),无其他位置去操作寄

存器了,最重要的是很难重现现象,这才是关键



...全文
3374 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25751033 2021-07-12
  • 打赏
  • 举报
回复
我现在也遇到了类似的现象。
李迟 2016-05-04
  • 打赏
  • 举报
回复
从你的描述上看,十分难解。从写保护开始定位慢慢找源码吧。 有可能是芯片内部自己在某种条件下启动了写保护。——我见过一些加密芯片,非法操作X次,芯片就挂了。

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧