搜索
查看: 6162|回复: 8

[实战经验] FLASH 被异常改写

[复制链接]

该用户从未签到

53

主题

79

帖子

0

蝴蝶豆

高级会员

最后登录
2019-7-30
发表于 2018-5-17 13:18:54 | 显示全部楼层 |阅读模式
本帖最后由 aimejia 于 2018-5-17 13:28 编辑

问 题 描 述
某客户反馈, 当 MCU 频繁的正常通断电的时候。FLASH 被异常改写,出现各种各样的异常(整片
别擦除、中断向量表被改写为 0、写保护被清掉、被加上读保护 ……..)

问 题 调 研 :
首先跟客户沟通:
•  他们是延续之前的项目,进行的一些软硬件简单修改。之前的项目没有出现过类似的问题。
•  确认通断电的时间是足够,就是说他们断电后所有的 VDD 都回到 0.上电的时序也是正常。
•  原理图确认这是 follow 了我们的参考设计。
•  测量工作时的电压,只是发觉他们上电时会有一些抖动,其它一切正常。尝试让他们改善上电电路,去掉这一抖
动,再次实验,仍然出现类似的问题。
到这里似乎跟硬件没有任何的问题了, 接着让客户代码进行删减又做了如下实验:
1, 去掉能 APP 部分代码,仅仅留下 IAP 代码。做相同的实验,问题再现。
2, 进一步删减程序,客户去掉程序中所有跟 flash 以及 OPTION BYTE 相关的部分,做相同的实验,问题再现。
3, 没招,再删,最后仅仅留下下面程序:
8.png

9.png

10.png
客户反应只要掉用了 delay_init 函数就会出问题,不调用就不会出问题(仅仅做了一天的实验)。到这里似乎跟我们的软
件有关系了,我们进一步分析发现他们改写了我们的 systick 的 config 函数,那么我就做下一个实验。
4, 改为标准库中的 systick 例程,去掉写保护,加一个 GPIO 定时翻转程序。同时在烧录之后,加上写保护,做相
同的实验,问题再现。
5, 到这里我们都怀疑是芯片真的有损伤了,我们再做了一个实验用 cubemx 生成了一个 GPIO 翻转和 systick 的延
时,做相同的实验,问题再现。
原因:
到这里我们似乎是江郎才尽,只能坐等 FA 的报告,看看芯片是否真的坏了与否。我们抱着怀疑一切的态度,请他们的硬件
工程师再次确认他们的硬件和原理图的一致性,我们怀疑他们的硬件是否有装错的元器件。主要集中在 MCU 周边。最后他们
的工程反馈,他们的 PDR_ON 脚,板子上装的元器件跟原理图不一致。他们把 R47 和 R48 都装了,那么相当于在 PDR_ON
上是一个 0.6v 的电压,也就是关断了 MCU 内部复位。
真是山穷水尽疑无路,柳暗花明又一村,问题应该跟内部复位有关。
11.png

12.png
从上面规格书来看,如果我们关断 mcu 内部的复位电路,需要在外部接一个复位信号保证 VDD 达到正常工作电压之
前一直使 MCU 处于复位状态。

...

了解更多,请下载后阅读

下载地址1>>      下载地址2>>       更多实战经验>>

回复

使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2018-5-17 17:56:40 | 显示全部楼层
    过程描述详细,分析到位。

    总之,问题出在,不按套路出牌。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    178

    帖子

    92

    蝴蝶豆

    高级会员

    最后登录
    2019-7-20
    发表于 2018-5-18 08:48:13 | 显示全部楼层
    画原理图的人应该背锅,预留但是不安装的电阻应该标注一下,整理BOM表以及整理坐标文件的时候都应该去除
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    732

    帖子

    13

    蝴蝶豆

    金牌会员

    最后登录
    2020-6-27
    发表于 2018-5-21 07:49:52 | 显示全部楼层
    學習了,謝謝分享.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    53

    主题

    79

    帖子

    0

    蝴蝶豆

    高级会员

    最后登录
    2019-7-30
     楼主| 发表于 2018-5-21 09:33:11 | 显示全部楼层
    zhongfg 发表于 2018-5-21 07:49
    學習了,謝謝分享.

    不客气哦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    53

    主题

    79

    帖子

    0

    蝴蝶豆

    高级会员

    最后登录
    2019-7-30
     楼主| 发表于 2018-5-21 09:50:18 | 显示全部楼层
    toofree 发表于 2018-5-17 17:56
    过程描述详细,分析到位。

    总之,问题出在,不按套路出牌。

    看来问题都要一个个排查啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    10

    帖子

    1

    蝴蝶豆

    初级会员

    最后登录
    2019-1-28
    发表于 2018-6-29 09:52:17 | 显示全部楼层
    学习到了,,,,
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    136

    帖子

    15

    蝴蝶豆

    金牌会员

    最后登录
    2021-4-6
    发表于 2018-7-17 21:25:57 | 显示全部楼层
    都是很好的经验,值得借鉴
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    蝴蝶豆

    初级会员

    最后登录
    2020-10-12
    发表于 2019-1-24 13:15:02 | 显示全部楼层
    长知识。学习如何排查问题。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-5-13 13:45 , Processed in 1.228311 second(s), 46 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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