STM32F407V芯片断电的时候FLASH被异常改写的解决方案

2018-05-09 09:13 次阅读

问题描述:

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

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

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

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

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

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

到这里似乎跟硬件没关联了, 接着对客户代码进行删减又做了如下实验:

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

2,进一步删减程序,去掉程序中所有跟flash以及OPTION BYTE 相关的部分,做相同的

实验,问题依旧。

3,没招,再删,最后仅仅留下下面程序:

客户反应只要调用了delay_init函数就会出问题,不调用就不会出问题(仅仅做了一天的实验)。到这里似乎跟软件有关系了,我们进一步分析发现他们改写了我们的systick的config函数,那么我就做下一个实验。

1,改为标准库中的systick例程,去掉写保护,加一个GPIO定时翻转程序。同时在烧录之后,加上写保护,做相同的实验,问题再现。

2,改为标准库中的systick例程,去掉写保护,加一个GPIO定时翻转。同时在烧录之后,加上写保护,做相同的实验,问题还是再现。

3,到这里我们有点怀疑是芯片真的有损伤了。我们又用cubemx生成了一个GPIO翻转和systick的延时,做相同的实验,问题照旧。

4,到此,我们一方面请芯片设计人员做进一步确认,看看芯片是否真的坏了。同时,我们抱着怀疑一切的态度,请客户的硬件工程师再次确认他们的硬件和原理图的一致性,我们怀疑他们的硬件是否有装错的元器件。主要集中在MCU周边。最后他们的工程师反馈,STM32的PDR_ON脚,板子上装的元器件跟原理图不一致。他们把R47和R48都装了,那么相当于在PDR_ON上是一个0.6v的电压,也就是关断了MCU内部复位。

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

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

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

结论

其实之前也碰到过另外西安客户发生过频繁上电不工作的情况。因他们是使用了旧的数据手册,没有把PDR_ON脚拉到VDD 所致。

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

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

文章出处:【微信号:weixin21ic,微信公众号:21ic电子网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

STM32入门100步

创新的洋桃教学视频集合,杜洋主讲的百集视频,以多组视频针对不同程度的学习者,0基础和会51单片机的学习者会看到不同的视频
发表于 10-23 00:00 95936次 阅读
STM32入门100步

请问flash s25fl128sagn的热垫没有焊接可以吗?

HI:我将使用FLASS25FL128SAGN作为FPGA配置芯片。这不是董事会上的事。FLASH是8接触WSON封装,具有大...
发表于 10-23 11:22 21次 阅读
请问flash s25fl128sagn的热垫没有焊接可以吗?

为什么Mcspi往Flash写数据时,前1024Byte个数据读写不一致?

我使用EVM5517开发板,调试通了Mcspi口后,开始改程序,将一个文件写进flash,但是前1024Byte个数据写的和读的数据不一致,...
发表于 10-23 10:18 13次 阅读
为什么Mcspi往Flash写数据时,前1024Byte个数据读写不一致?

为什么5509A并行flash上电无法自举?

5509A采用EMIF外接16位flash并行自举失败。 1、我在同一块pcb上设计了两个一样的dsp系统,一个通道上电自举成功,另一个通...
发表于 10-23 06:55 11次 阅读
为什么5509A并行flash上电无法自举?

如何把STM32例程里的那个定时器中断实验长时间定时?

《例说STM32》里面的第12章实验我把中断服务函数由 void TIM3_IRQHandler(void) {   if(TIM3->SR&0...
发表于 10-23 04:35 10次 阅读
如何把STM32例程里的那个定时器中断实验长时间定时?

请问GPIOB_BASE指的是GPIOB端口寄存器的“基础地址”吗?

请教一下, STM32指南里在介绍GPIOx_ODR时,提到的地址偏移是啥意思呢? GPIOB_BASE指的是GPIOB端口寄...
发表于 10-23 04:35 13次 阅读
请问GPIOB_BASE指的是GPIOB端口寄存器的“基础地址”吗?

如何让stm32 LWIP工作在AP模式下获取连接的对端MAC地址?

发表于 10-23 01:12 8次 阅读
如何让stm32 LWIP工作在AP模式下获取连接的对端MAC地址?

请问ucos多任务使用全局变量什么时候需要关中断或者关调度?

在STM32上用ucos ,有的时候不方便用邮箱 和队列 只能用全局变量,那么问题来了,因为操作全局变量的时候有时是多条汇编指令,...
发表于 10-23 00:20 10次 阅读
请问ucos多任务使用全局变量什么时候需要关中断或者关调度?

请问将字库放在外置的flash中会不会影响速度?

将字库放在外置的flash中,会不会影响速度?是不是使用一个大存储器的CPU,将字库同工程一起编译下载到CPU中最好啊?...
发表于 10-22 22:23 8次 阅读
请问将字库放在外置的flash中会不会影响速度?

stm32下的ucos与内存有什么关系?

前段时间发过一个关于stm32+ucos进入hard fault的帖子,没人回我,自己后来调试后找到问题报告为:试图切入arm状态。本人在排查过...
发表于 10-22 21:54 7次 阅读
stm32下的ucos与内存有什么关系?

【Longan Nano申请】语音控制智能家居控制

项目名称:语音控制智能家居控制 试用计划:1. 开箱评测,基本使用描述 2.STM32区别分析,优缺点描述以及实现 3.LD332...
发表于 10-22 10:25 219次 阅读
【Longan Nano申请】语音控制智能家居控制

STM32固件库使用手册中文版使用手册免费下载

本手册介绍了 32 位基于 ARM 微控制器 STM32F101xx 与 STM32F103xx 的....
发表于 10-22 08:00 15次 阅读
STM32固件库使用手册中文版使用手册免费下载

STM32F103ZET6的PCB和原理图免费下载

本文档的STM32F103ZET6的PCB和原理图免费下载。
发表于 10-21 11:57 79次 阅读
STM32F103ZET6的PCB和原理图免费下载

uCOSII在ARM处理器STM32F103VBT6上的移植过程详细介绍

 介绍了源代码公开的实时操作系统IzCOSII在ARM处理器STM32F103VB瞒土的移植过程。首....
发表于 10-18 17:13 81次 阅读
uCOSII在ARM处理器STM32F103VBT6上的移植过程详细介绍

如何使用STM32 MDK开发环境建立一个最简单工程

本文档的主要内容详细介绍的是如何使用STM32 MDK开发环境建立一个最简单工程。
发表于 10-18 17:11 85次 阅读
如何使用STM32 MDK开发环境建立一个最简单工程

如何给HCS12系列单片机进行加密

所谓完全加密,就是将芯片彻底的保护起来,屏蔽对芯片的所有读操作。在MC9S12DP256单片机中,加....
发表于 10-18 16:53 60次 阅读
如何给HCS12系列单片机进行加密

X-FAB在180nm BCD-on-SOI平台上新增非易失性存储器功能

 基于公司成熟的SONOS技术,新增的Flash和EEPROM为汽车,医疗和工业领域带来了许多新的可....
发表于 10-18 16:51 85次 阅读
X-FAB在180nm BCD-on-SOI平台上新增非易失性存储器功能

如何配置stm32中断的优先级

写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项目需要2个串口,....
发表于 10-18 16:46 84次 阅读
如何配置stm32中断的优先级

使用无线传感网络实现目标入侵监测系统的设计资料说明

针对我国广阔的领土及漫长的边防无法实现大范围有效、灵活、低投入的值守警戒,设计了一种基于无线传感网络....
发表于 10-18 16:14 74次 阅读
使用无线传感网络实现目标入侵监测系统的设计资料说明

STM32标准外设库的文件结构解析

STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组....
发表于 10-17 15:55 89次 阅读
STM32标准外设库的文件结构解析

STM32单片机的高精度超声波测距系统设计

STM32单片机的高精度超声波测距系统的设计主要由STM32单片机、超声波发射电路、接受电路、补偿电....
的头像 陈翠 发表于 10-17 15:10 238次 阅读
STM32单片机的高精度超声波测距系统设计

STM32L151xC和STM32L152xC微控制器的数据手册免费下载

本数据表提供了基于中等密度的STM32L151XC和STM32L152XC超低功耗ARM Corte....
发表于 10-16 08:00 61次 阅读
STM32L151xC和STM32L152xC微控制器的数据手册免费下载

STM32L151XX和STM32L152XX微控制器的数据手册免费下载

超低功耗stm32l15xxx结合了通用串行总线(usb)和高性能arm cortex™-m3 32....
发表于 10-16 08:00 70次 阅读
STM32L151XX和STM32L152XX微控制器的数据手册免费下载

五款微控制器的复位电路分析

在电源接通后,+5V直流电压通过电阻R216和电容C128加到集成电路A105的复位信号输入引脚⑨脚....
的头像 陈翠 发表于 10-15 16:18 504次 阅读
五款微控制器的复位电路分析

单片机中的三大内部资源的功能介绍

RAM 是单片机的数据存储空间,用来存储程序运行过程中产生的和需要的数据,跟电脑的内存是相似的概念,....
发表于 10-15 16:10 146次 阅读
单片机中的三大内部资源的功能介绍

PIC16F87X系列单片机引起内部复位的条件和原因分析

每次单片机加电时,上电复位电路都要对电源电压VDD的上升过程进行检测,当VDD值上升到规定值1.6~....
发表于 10-15 16:09 76次 阅读
PIC16F87X系列单片机引起内部复位的条件和原因分析

使用单片机点亮LED的学习课件免费下载

本文档的主要内容详细介绍的是使用单片机点亮LED的学习课件免费下载
发表于 10-14 08:00 97次 阅读
使用单片机点亮LED的学习课件免费下载

STM32L13XX硬件开发入门手册免费下载

本应用说明适用于需要开发板功能(如电源、时钟管理、重置控制、启动模式设置和调试管理)的硬件实现概述的....
发表于 10-14 08:00 97次 阅读
STM32L13XX硬件开发入门手册免费下载

你知道STM32的这些解决方案吗?ST更新了STM32官方中文站点

这次更新有一项确实是比较“亮眼”,上线了STM32最新解决方案,覆盖Cloud/NB-IoT/GUI....
的头像 电子工程师时间 发表于 10-13 17:40 613次 阅读
你知道STM32的这些解决方案吗?ST更新了STM32官方中文站点

STM32CubeMX开发工具的安装

相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具。这个工具....
发表于 10-13 17:16 68次 阅读
STM32CubeMX开发工具的安装

SOPC嵌入式系统基础教程的PPT课件合集免费下载

本书为《SOPC嵌入式开发系列教程》的理论教材,介绍了在嵌入式系统中日益广泛应用的SOPC技术基础知....
发表于 10-12 16:43 105次 阅读
SOPC嵌入式系统基础教程的PPT课件合集免费下载

电路板一般故障排除方法

电路元器件虚焊:在你电路板复位上电后,过一段时间不工作,可能是某个元器件虚焊,接触不良,导致电路不正....
的头像 电子魔法师 发表于 10-12 14:41 469次 阅读
电路板一般故障排除方法

嵌智捷科技STM32开发板之采集板介绍

基于ST的STM32F107,ARM® 32-bit Cortex®-M3 CPU 72 MHz m....
的头像 嵌智捷科技 发表于 10-12 10:48 337次 阅读
嵌智捷科技STM32开发板之采集板介绍

如何在Ubuntu Linux上安装Flash

 我相信您可以使用Java来执行与此类似的过程,尽管我没有安装它(我不需要它,尽管显然获得所需文件会....
的头像 39度创意研究所 发表于 10-12 10:43 209次 阅读
如何在Ubuntu Linux上安装Flash

使用STM32单片机设计纸张计数显示装置的论文免费下载

本设计采用STM32系列单片机为控制核心,基于电容传感器芯片FDC2214制作纸张计数显示装置。FD....
发表于 10-12 08:00 142次 阅读
使用STM32单片机设计纸张计数显示装置的论文免费下载

STM32编码器模式测试程序和工程文件免费下载

本文档的主要内容详细介绍的是STM32编码器模式测试程序和工程文件免费下载。
发表于 10-10 16:25 122次 阅读
STM32编码器模式测试程序和工程文件免费下载

使用STM32控制TMC5160步进电机控制驱动芯片的代码和电路图及工程文件

本文档的主要内容详细介绍的是使用STM32控制TMC5160步进电机控制驱动芯片的代码和电路图及工程....
发表于 10-08 08:00 166次 阅读
使用STM32控制TMC5160步进电机控制驱动芯片的代码和电路图及工程文件

STM32Fxx系列ARM处理器的英文参考手册免费下载

本参考手册面向应用程序开发人员。它提供了关于如何使用STM32F405XX/07xx、STM32 F....
发表于 10-08 08:00 117次 阅读
STM32Fxx系列ARM处理器的英文参考手册免费下载

基于AT89C51单片机的LED汉字点阵滚动显示屏设计

本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路....
发表于 10-04 16:56 109次 阅读
基于AT89C51单片机的LED汉字点阵滚动显示屏设计

C语言的入门简介和三个简单的C语言程序详细说明

学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目前最流行开发80C5....
的头像 Wildesbeast 发表于 10-04 11:59 357次 阅读
C语言的入门简介和三个简单的C语言程序详细说明

基于STM32微控制器的物联网节点设计

在物联网端点中,外部SPI闪存器件是实现大型数据查找表的有效解决方案。这种方法可轻松实现在系统重新编....
的头像 陈翠 发表于 09-29 15:05 484次 阅读
基于STM32微控制器的物联网节点设计

使用STM32单片机实现机械震动故障检测仪的设计资料说明

基于 ARM Contex-M3内核的32位微控制器STM32F103VC,使用快速傅里叶变换将数控....
发表于 09-29 08:00 133次 阅读
使用STM32单片机实现机械震动故障检测仪的设计资料说明

普中51单片机开发攻略PDF电子教程免费下载

本开发攻略配套的实验平台为:普中 51-单核-A2 开发板,这一款开发板采用的是单 CPU 设计,用....
发表于 09-27 08:00 144次 阅读
普中51单片机开发攻略PDF电子教程免费下载

STM32的脉冲输出定位控制源代码合集免费下载

本文档的主要内容详细介绍的是STM32的脉冲输出定位控制源代码合集免费下载。
发表于 09-26 17:41 149次 阅读
STM32的脉冲输出定位控制源代码合集免费下载

NVC语音芯片的数据手册免费下载

语音芯片NVC 成本低,语音芯片性能稳定,语音芯片音质高,语音芯片控制方便,语音芯片电路简单等诸多显....
发表于 09-26 16:26 135次 阅读
NVC语音芯片的数据手册免费下载

STM32中断优先级的相关概念与使用笔记资料免费下载

1.ARM cortex_m3内核支持256个中断(16个内核+240外部)和可编程256级中断优先....
发表于 09-26 15:25 155次 阅读
STM32中断优先级的相关概念与使用笔记资料免费下载

STM32F20X系列单片机的数据手册免费下载

STM32F20X系列基于高性能ARM®Cortex®M3 32位RISC内核,工作频率高达120兆....
发表于 09-26 08:00 150次 阅读
STM32F20X系列单片机的数据手册免费下载

STM32的CAN总线例程合集免费下载

本文档的主要内容详细介绍的是STM32的CAN总线例程合集免费下载。
发表于 09-25 08:00 119次 阅读
STM32的CAN总线例程合集免费下载

STM32软件运行过程,如何查看全局变量的实时数据?

单片机STM32RCT6的PA8,PA9,PA10引脚输出PWM波形的仿真步骤,此外还展示了软件运行....
的头像 丫丫119 发表于 09-24 07:55 1148次 阅读
STM32软件运行过程,如何查看全局变量的实时数据?

适用 STM32 通用 Bootloader ,让 OTA 更加 Easy

在线升级功能需要使用 OTA (Over-the-Air) 技术 ,OTA 技术简单地说就是通过网络....
的头像 丫丫119 发表于 09-24 06:55 693次 阅读
适用 STM32 通用 Bootloader ,让 OTA 更加 Easy

意法半导体首款8引脚STM32微控制器正式发布

意法半导体8引脚STM32微控制器(MCU)现已上市,紧凑、经济的封装让简单的嵌入式开发项目也能利用....
发表于 09-23 10:24 651次 阅读
意法半导体首款8引脚STM32微控制器正式发布

51单片机和STM32单片机的结构有什么不同

我们先普及一个概念,单片机(即Microcontroller Unit;MCU) 里面有什么。一个人....
发表于 09-22 09:57 294次 阅读
51单片机和STM32单片机的结构有什么不同

新款Flash CMOS图像传感器介绍

新款 Flash 传感器采用 6μm CMOS 全局快门像素,有效地结合了高分辨率和高帧率。提供 4....
发表于 09-19 14:59 146次 阅读
新款Flash CMOS图像传感器介绍

STM32软件仿真调试观察引脚波形与全局变量

外部晶振频率的选择:8Mhz(因为大部分单片机的外部晶振是8Mhz),为了使仿真更贴近实际,通常情况....
的头像 丫丫119 发表于 09-19 11:01 1319次 阅读
STM32软件仿真调试观察引脚波形与全局变量

基于移远BC28的STM32+NB-IOT的OTA案例分享

艾拉比提供的基于MCU+NB-IOT的差分技术方案已经广泛应用在如门锁、手表、定位器、路灯控制器、共....
的头像 丫丫119 发表于 09-19 09:52 953次 阅读
基于移远BC28的STM32+NB-IOT的OTA案例分享

AVR单片机内部的复位功能解析

AVR单片机复位大概有:上电复位、掉电复位、看门狗超时复位、外部复位,这么四种。
发表于 09-18 16:01 162次 阅读
AVR单片机内部的复位功能解析

ATK-OV2640摄像头模块的资料和基于STM32应用的C语言源代码免费下载

本文档的主要内容详细介绍的是ATK-OV2640摄像头模块的资料和基于STM32应用的C语言源代码免....
发表于 09-18 08:00 121次 阅读
ATK-OV2640摄像头模块的资料和基于STM32应用的C语言源代码免费下载

ATK-7 TFTLCD电容触摸屏模块资料和STM32应用的C语言代码免费下载

本文档的ATK-7 TFTLCD电容触摸屏模块资料和STM32应用的C语言代码免费下载包括了:ATK....
发表于 09-18 08:00 148次 阅读
ATK-7 TFTLCD电容触摸屏模块资料和STM32应用的C语言代码免费下载

S1216F8 BD高性能GPS北斗模块的资料合集和基于STM32的C代码

本文档的主要内容详细介绍的是ATK S1216F8 BD高性能GPS北斗模块的资料合集和基于STM3....
发表于 09-17 08:00 178次 阅读
S1216F8 BD高性能GPS北斗模块的资料合集和基于STM32的C代码

ATK QR二维码和条码识别库的模块资料和使用C语言代码合集免费下载

ATK QR二维码和条码识别库的模块资料和基于STM32使用的C语言代码合集免费下载包括了:ATK_....
发表于 09-17 08:00 144次 阅读
ATK QR二维码和条码识别库的模块资料和使用C语言代码合集免费下载