STM32
直播中

江根磊

8年用户 1074经验值
私信 关注
[问答]

STM32G473双bank做OTA,flash不能擦除怎么解决?

1、问题如标题
2、描述:通过双bank来实现远程升级,当程序在bank1运行时可以擦除bank2的内容,并重新写入代码。但是当程序在bank2运行时却不能擦除bank1的内容,写入失败。
3、步骤和现象:使用代码对bank1进行批量或页擦除,提示是擦除成功了,用JFLASH读擦除区域显示是FF,但是在代码里面读flash再打印到串口却显示非FF,然后写入flash失败。查看寄存器提示写入时非FF。这说明确实是擦除失败了。尝试了官方的代码库也依然如此。
这个问题困扰了我大半个月了,项目一点进展也没有。也向代理商反应过,看看原厂能否提供帮助,却没有得到回应。有没有哪位小伙伴遇到同样的问题?


回帖(1)

李雪梅

2024-3-13 15:32:53
肯定可以,双BANK的目的就是可以互相备份擦除软件的。
用官方例程测试了一下,没问题。
这里需要注意: 1.设置bank2 启动
                       2. 修改好加载的地址(0x0804000)开始程序加载到bank2
举报

更多回帖

发帖
×
20
完善资料,
赚取积分