打印

关于GD32F450擦除FLASH卡死问题

[复制链接]
1359|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用GD32F450写一个IAP程序,地址0x08000000,APP 地址0x08020000。当IAP刚启动还没跳到APP时擦除FLASH正常,升级正常;但从APP调到IAP进行升级时,用fmc_erase_sector_by_address(APPLICATION_ADDRESS)擦除0x08020000就会卡死,擦别的地址就支持?有没有大神遇到过?

微信图片_20221204210621.png (41.27 KB )

微信图片_20221204210621.png

使用特权

评论回复
沙发
sagade| | 2022-12-4 22:39 | 只看该作者
没碰到过卡死,就是偶尔会BOOT会跳不到APP里面,概率不是很高,就糊弄着不搞了。

使用特权

评论回复
板凳
sagade| | 2022-12-4 22:46 | 只看该作者
也是从0x0802 0000开始擦除的,没遇到过卡死。

使用特权

评论回复
地板
WX377711|  楼主 | 2022-12-5 09:33 | 只看该作者
跳不到APP是不是有些中断没有清掉。我得情况是运行IAP直接擦APP地址正常,但从APP跳到IAP再擦APP地址就卡死,感觉跟有个保护一样。

使用特权

评论回复
5
sagade| | 2022-12-5 15:10 | 只看该作者
我这基本也是从APP跳到BOOT再擦APP地址的,难道没调用fmc_unlock?

使用特权

评论回复
6
WX377711|  楼主 | 2022-12-5 20:40 | 只看该作者
sagade 发表于 2022-12-5 15:10
我这基本也是从APP跳到BOOT再擦APP地址的,难道没调用fmc_unlock?

找到问题了,,APP里得滴答定时器在跳IAP之前没完全失能掉。

使用特权

评论回复
7
Jacquetry| | 2022-12-21 16:51 | 只看该作者
有可能是一些中断没有清掉

使用特权

评论回复
8
星辰大海不退缩| | 2022-12-22 16:41 | 只看该作者
WX377711 发表于 2022-12-5 20:40
找到问题了,,APP里得滴答定时器在跳IAP之前没完全失能掉。

楼主,这个经验很值得大家借鉴,没有擦除肯定是有东西占用了线程使用

使用特权

评论回复
9
jf101| | 2022-12-24 14:48 | 只看该作者
WX377711 发表于 2022-12-5 20:40
找到问题了,,APP里得滴答定时器在跳IAP之前没完全失能掉。

确实如果是有程序再占用的话,擦除就会报错!建议楼主优化一下时序

使用特权

评论回复
10
LOVEEVER| | 2022-12-24 14:52 | 只看该作者
楼主这个经验很值得大家借鉴,确实这种没有结束就擦掉的情况会发生,有时候整体时序就变得很重要

使用特权

评论回复
11
tpgf| | 2023-1-2 14:18 | 只看该作者
如果其他人没有在这个位置上卡死的话 考虑是不是芯片个体的问题呢

使用特权

评论回复
12
nawu| | 2023-1-2 14:39 | 只看该作者
查询一下时钟是不是稳定的 或者是供电有没有突然的压降

使用特权

评论回复
13
zljiu| | 2023-1-2 14:51 | 只看该作者
WX377711 发表于 2022-12-5 20:40
找到问题了,,APP里得滴答定时器在跳IAP之前没完全失能掉。

这个就说明滴答时钟在有些时候非常重要

使用特权

评论回复
14
gwsan| | 2023-1-2 15:18 | 只看该作者
WX377711 发表于 2022-12-5 20:40
找到问题了,,APP里得滴答定时器在跳IAP之前没完全失能掉。

一般情况下  需要 延时多长时间保证滴答时钟来完全停止呢

使用特权

评论回复
15
aoyi| | 2023-1-2 15:39 | 只看该作者
我觉得归根接地还是地址的问题 有时候是不是有硬伤呢

使用特权

评论回复
16
tfqi| | 2023-1-2 15:50 | 只看该作者
在这个过程中有其他代码或者是中断产生干扰吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝