硬汉嵌入式论坛

 找回密码
 立即注册
查看: 501|回复: 8
收起左侧

[有问必答] STM32F4 在APP运行时未知原因导致IAP程序被修改,求解。

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-3-2 15:20:33 | 显示全部楼层 |阅读模式
IAP程序被修改无法运行,导致过程IAP卡死。
已验证该错误发生在APP程序(地址0x08020000)中,仅IAP程序的首地址0x08000000和0x08000004两个数据被改写,且每次复现都是相同的现象(如图),复现概率较低。
请问各位大佬,这种诡异情况是如何发生的?我已经摸不着头脑了,按说如果是软件出问题,跑飞了导致Flash数据被人为修改,那也应该是先将整个扇区的数据擦除,很难出现只修改部分数据的情况,再说每次复现的被修改的数据都一模一样,基本可以排除是干扰等因素导致的了。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2024-3-2 15:59:40 | 显示全部楼层
Flash的bit可以从1改成0,不能从0改成1,从0改成1需要擦除。

从截图的情况来看,确实是相应的bit = 1的被修改为0了。
回复

使用道具 举报

5

主题

81

回帖

96

积分

初级会员

积分
96
发表于 2024-3-7 15:57:59 | 显示全部楼层
(1)可以在烧录IAP程序时,加上verify校验,如果烧录过程的veryfy校验没问题,说明烧录的时候时没有被改写的,一定程度排除芯片Flash本身的问题,怀疑后期被改写。
(2)如果烧录过程的veryfy出错,倾向于怀疑芯片内部Flash自身问题,再看看发生概率,可以把芯片给厂家做失效分析。
回复

使用道具 举报

5

主题

81

回帖

96

积分

初级会员

积分
96
发表于 2024-3-7 16:01:38 | 显示全部楼层
(3)因为每个程序都会用到0x08000000这个地址,所以换个程序试试看看会不会被改写,如果换其他程序这个地方都不会被改写,那么问题可能更多的和当前出问题的程序本身有关系。如果换其他程序这个地方也会被改写,说明和程序本身无关,更多的怀疑是芯片自身Flash问题。
(4)换个芯片或板子试试。
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2024-3-8 07:54:50 | 显示全部楼层
遇到过同样问题,简单来说,原因是Flash操作被打断+空指针写。Flash不仅在0x08000000,还映射到了0地址。
F4上写0指针不会崩掉程序,会被解释称Flash操作。。。大坑。
https://wtywtykk.github.io/2019/12/15/STM32-Flash-Error.html
回复

使用道具 举报

1

主题

52

回帖

55

积分

初级会员

积分
55
发表于 2024-3-8 09:22:11 | 显示全部楼层
wtywtykk 发表于 2024-3-8 07:54
遇到过同样问题,简单来说,原因是Flash操作被打断+空指针写。Flash不仅在0x08000000,还映射到了0地址。
...

牛啊
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2024-3-8 16:34:03 | 显示全部楼层
wtywtykk 发表于 2024-3-8 07:54
遇到过同样问题,简单来说,原因是Flash操作被打断+空指针写。Flash不仅在0x08000000,还映射到了0地址。
...

感谢大佬,学习了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2024-3-9 00:51:03 | 显示全部楼层
wtywtykk 发表于 2024-3-8 07:54
遇到过同样问题,简单来说,原因是Flash操作被打断+空指针写。Flash不仅在0x08000000,还映射到了0地址。
...



正常应该会触发硬件异常,竟然没触发
回复

使用道具 举报

3

主题

96

回帖

105

积分

初级会员

积分
105
发表于 2024-3-14 10:27:32 | 显示全部楼层
wtywtykk 发表于 2024-3-8 07:54
遇到过同样问题,简单来说,原因是Flash操作被打断+空指针写。Flash不仅在0x08000000,还映射到了0地址。
...

大佬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 05:40 , Processed in 0.289009 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表