0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32片内FLASH被异常改写的问题分享

茶话MCU 来源:未知 作者:李倩 2018-03-26 11:24 次阅读

STM32客户反馈,当STM32F407V芯片频繁的正常通断电的时候,FLASH 会被非法改写,出现各种各样的异常(整片被擦除、中断向量表被改写、写保护被清除等等)。

经过与跟客户沟通了解到:

1、他们是延续之前的项目,进行的一些软硬件简单修改。之前的项目没有出现过类似的问题。

2、确认通断电的时间是足够,即断电后所有的VDD都回到0;上电的时序也正常。

3、原理图参考了ST相关开发板的参考设计。

4、测量工作电压,除了发觉上电时会有些许抖动外,其它一切正常。尝试让他们改善上电电路,去掉这一抖动。再次实验,仍然出现类似的问题。

根据现象初步判断,异常似乎跟硬件没关联了, 接着对客户代码进行删减又做了如下实验:

1,去掉APP 部分代码,仅仅留下IAP代码。做相同的实验,问题再现。

2,进一步删减程序,去掉程序中所有跟flash以及OPTION BYTE 相关的部分,做相同的实验,问题依旧。

3,没招,再删代码,或者屏蔽代码。做基于不同STM32库的代码替换。问题始终依旧。

到此问题毫无进展,只好求助ST芯片设计人员做进一步确认,看看芯片是否真的坏了。同时,又请客户的硬件工程师再次确认他们的硬件线路和原理图的一致性,我们怀疑他们的硬件是否有装错的元器件,特别是MCU周边。

后来客户工程师反馈,STM32F407的PDR_ON脚,板子上装的元件跟原理图不一致。他们把R47和R48都装了【如下图】,那么相当于在PDR_ON上是一个0.6v的电压,也就是关断了MCU内部复位。

可谓山穷水尽疑无路,柳暗花明又一村,看来问题应该跟内部复位有关。

查看STM32F407数据手册,可以看到相关信息

从上面规格书来看,STM32F407V的内部复位电路可以选择性地开启或关闭,如果选择关闭mcu内部的复位电路,需要在外部接一个复位监测电路保证VDD达到正常工作电压之前一直使MCU处于复位状态。而这里,客户本意并不想关闭内部复位,而且外部也没有相应的电源监测复位电路。既然这样,根据手册描述,PDR_ON脚接到VDD即可。具体到这里,去掉R48这个1k欧姆的电阻。重做实验反复验证,异常消失。

对于STM32来说,这个PDR_ON引脚有的封装是被引出来了,有的封装没有被引出。如果没有引出的就默认使能内部复位功能,如果引出的话,大家也要注意有的型号是拉低使能内部复位,有的是拉高使能内部复位,设计和使用时请注意这点。

类似小细节,容易被忽视,原因在被忽视情况下去查找原因往往是件非常折腾、曲折而痛苦的事。这种情况对于工程师来说,也没法完全避免,毕竟我们是人。所以平时多留意、多积累,遇到问题时保持冷静分析、理性判断尤为重要,不要动不动就怀疑芯片质量问题而使开发调试停滞不前。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1621

    浏览量

    147735
  • STM32
    +关注

    关注

    2265

    文章

    10870

    浏览量

    354694

原文标题:STM32片内FLASH被异常改写的问题分享

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    基于STM32F405系列一个64pin MCU,在使用过程中,整机掉电更换另一个部件,再上电后发现这个产品不工作了。发回厂家发现STM32内部flash数据
    发表于 03-25 08:24

    STM32FLASH操作说明

    STM32FLASH操作说明
    发表于 07-08 09:51

    STM32FLASH操作步骤

    STM32FLASH可分为哪几类?如何去使用STM32
    发表于 11-01 06:36

    怎样去操作STM32FLASH

    STM32FLASH分成哪几部分呢?怎样去操作STM32
    发表于 11-01 07:39

    STM32FLASH有何功能

    怎么去操作STM32的FLSAH呢?STM32FLASH有何功能?
    发表于 11-01 06:35

    STM32FLASH该如何去使用呢

    STM32FLASH可分成哪几部分?STM32FLASH共有几个键值呢?
    发表于 11-02 07:08

    STM32FLASH有何功能

    STM32FLASH有何功能?怎样进行FLASH的擦除编程工作呢?
    发表于 11-02 08:04

    深入探讨FLASH非法改写的问题

    问题描述: 某STM32客户反馈, 当STM32F407V芯片频繁的正常通断电的时候,FLASH 会被非法改写,出现各种各样的异常(整片
    的头像 发表于 09-29 11:51 6476次阅读
    深入探讨<b class='flag-5'>FLASH</b><b class='flag-5'>被</b>非法<b class='flag-5'>改写</b>的问题

    STM32F0xx_FLASH编程() 配置详细过程

    STM32F0xx_FLASH编程()配置详细过程
    的头像 发表于 04-07 14:21 3151次阅读
    <b class='flag-5'>STM32F0xx_FLASH</b>编程(<b class='flag-5'>片</b><b class='flag-5'>内</b>) 配置详细过程

    STM32F1_ FLASH编程

    STM32F1_FLASH编程
    的头像 发表于 04-08 10:28 3829次阅读
    <b class='flag-5'>STM32</b>F1_ <b class='flag-5'>片</b><b class='flag-5'>内</b><b class='flag-5'>FLASH</b>编程

    FLASH异常改写

    FLASH异常改写(嵌入式开发笔试题目)-某客户反馈, 当MCU 频繁的正常通断电的时候。FLASH
    发表于 07-30 11:04 29次下载
    <b class='flag-5'>FLASH</b><b class='flag-5'>被</b><b class='flag-5'>异常</b><b class='flag-5'>改写</b>

    STM32CubeMX | 28 - STM32Flash的使用

    本系列文章汇总:STM32CubeMX系列教程本篇文章主要介绍如何使用STM32中的FLash。1. 准备工作硬件准备开发板首先需要准备
    发表于 12-01 20:36 6次下载
    <b class='flag-5'>STM32</b>CubeMX | 28 - <b class='flag-5'>STM32</b><b class='flag-5'>片</b><b class='flag-5'>内</b><b class='flag-5'>Flash</b>的使用

    STM32FLASH烧写错误导致ST-li

    STM32FLASH烧写错误导致ST-li
    发表于 12-02 18:06 7次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>片</b><b class='flag-5'>内</b><b class='flag-5'>FLASH</b>烧写错误导致ST-li

    STM32F1 使用easyflash操作flash

    STM32F1 使用easyflash操作flash
    发表于 12-09 10:06 15次下载
    <b class='flag-5'>STM32</b>F1 使用easyflash操作<b class='flag-5'>片</b><b class='flag-5'>内</b><b class='flag-5'>flash</b>

    MCU 频繁的正常通断电的时候,FLASH异常改写

    问题描述: 某客户反馈, 当 MCU 频繁的正常通断电的时候。FLASH 异常改写,出现各种各样的异常(整片别擦除、中断向量表
    发表于 02-11 15:37 14次下载
    MCU 频繁的正常通断电的时候,<b class='flag-5'>FLASH</b><b class='flag-5'>被</b><b class='flag-5'>异常</b><b class='flag-5'>改写</b>