你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

G0B1CET6,擦除bank1的flash会跑飞

[复制链接]
吃绿色菜 提问时间:2024-6-3 17:15 / 未解决

G0B1CET6,擦除bank1的flash会跑飞,单步运行ok,全速运行会卡死。

有两个项目虽然程序有些不一样,但是大体方案一致。他俩的区别是一个用了bank2,擦了bank2。一个没用到就擦bank1。只擦bank1这个不会出现跑飞。

目前关闭了中断,还是存在跑飞的现象,还有其他方法能定位问题吗,比如标志位。

收藏 评论2 发布时间:2024-6-3 17:15

举报

2个回答
xmshao 回答时间:2024-6-3 18:03:17
这类问题最常见的原因可能有下面这些,供参考:


1、地址搞错了,即编程地址、BANK地址这些;
2、经过页或BANK擦除后影响到中断程序的正常执行;即中断服务程序代码不存在或不完整了;
3、在进行某BANK擦除时可以支持对一BANK的读操作,但此时就不要再做编程操作了;
4、编程、擦除操作不按手册约定的流程来;
5、在编程、擦除操作过程中供电不稳;


具体到你这里,侧重怀疑上面的第2点和第3点。
你可能只是关闭了NVIC端中断响应,并未关闭外设端中断请求的发生。
你先将外设端的各种中断请求使能位清0看看。
butterflyspring 回答时间:2024-6-4 09:42:57
可以去掉其他代码,单独调试FLASH这段,看看是否原因集中在这块代码操作中。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版