STM32
直播中

ytrwv

8年用户 884经验值
擅长:EMC/EMI设计
私信 关注
[问答]

STM32上下电内部flash被改写的原因?

基于STM32F405系列一个64pin MCU,在使用过程中,整机掉电更换另一个部件,再上电后发现这个产品不工作了。发回厂家发现STM32内部flash数据被改写了,前几行被改成了0,导致程序无法正常启动。

在厂家实验室,我们协助定位问题,反复多次上下电模拟现场场景,有概率在多个实验样品上复现了故障,平均上下电20~30次能出一次。也是内部flash被改写,被改写的位置不固定,但全是前几行,有的是1行,有的是12行,有的是123行,被改的地方全变成0。

回帖(1)

戚歆敦

2024-3-25 17:51:10
可能的原因有:

1. 静电放电:在更换部件时,可能发生了静电放电,导致对芯片进行了非预期的写操作。静电放电会导致芯片内部电压瞬间升高,触发写操作。

2. 电源波动:更换部件时,由于电源的不稳定性,可能会引起电压尖峰或波动,在此期间可能会对芯片进行非预期的写操作。

3. 电源噪声:电源噪声可能会干扰芯片内部的写操作,从而导致数据错误。

4. 程序bug:在程序的编写过程中,可能存在潜在的bug,可能会导致芯片内部flash被错误地写入。

针对这些问题,可以进行一些调试和修复的措施:

1. 静电保护:在操作芯片时,使用静电防护措施,如使用防静电手套,在易产生静电的环境中处理芯片。

2. 电源稳定性:确保电源供应的稳定性,可以使用稳压器或电源滤波电路来减小电源的波动和噪声。

3. 程序检查:仔细检查程序代码,特别是与内部flash写入相关的代码,确保没有潜在的bug。

4. 引入故障排除机制:在产品设计中引入故障排除机制,例如在上电重置时,进行内部flash数据的校验,如果发现异常数据,则进行修复或恢复。

5. 功能测试:通过对多个实验样品的测试,进一步确定问题的发生概率和规律,以便更好地进行调试和修复。

最后,建议与STM32芯片的厂家进行沟通,提供详细的故障现象和复现步骤,以便他们能够提供更具体的解决方案。
举报

更多回帖

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