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

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

3天内不再提示

STM32 Bootloader异常复位如何解决

STM32单片机 来源:陈翠 2019-03-23 10:26 次阅读

问题描述

客户反馈通过PC软件Flashloader不能够跟STM32 MCU自带Bootloader连接。并且系统运行一段时间后异常复位。

系统分析

检测原理图

延续之前的项目,进行的一些软硬件简单修改。

上电、放电的时序也是正常。

BOOT0 拉高,BOOT1 拉低,

测量工作时的电压正常(2.5v)。

检测所有相关的硬件软件都是没有问题,他们的BOOT脚,以及之前的PDR_ON是通过外围的FPGA单元控制,我们一开始怀疑这些上电时序,以及PDR逻辑出错。尝试让他们全部断开逻辑,测试整个上电,掉电过程都是没有什么问题。

测量波形

检测他们的串口工具

能正常在PC上发现他们的串口工具,数据的发送正常。

但是串口的到PCB板上没有任何的输出,所以并不能跟板子通讯。

STM32 Bootloader异常复位如何解决

使用一个新的串口工具,当产品连接到PC后,重新上电,能够正常升级软件,到这里似乎问题得到解决,但是当他们恢复到之前的系统,通过控制Reset和BOOT引脚进入的时候,仍然时灵时不灵,当不能进入BOOT的时候,他们测量我们的复位管脚电压时发现在复位脚上以一个3.6MHz的频率不停的复位MCU。

STM32 Bootloader异常复位如何解决

功能测试

客户又发现如果给MCU上电,PC快速打开Flashloader,并且连接串口,工作正常。但是,如果慢速这样操作,就连不上了,真是神奇的事情再次发生,他们再次确认发现,在复位脚上,在上电一段时间后,会有不停的有一个复位信号产生,百思不得解。

确认手册

我们打开AN2606,发现在Bootloader的流程图中有一个系统Reset的过程,难道是这里产生的吗?

STM32 Bootloader异常复位如何解决

我们让客户断开所有的外设再次确认问题,他们发现在断开外围的时候,这个连续的复位信号不再产生。从这个流程来看,只有在用到DFU或者CAN升级的会在检测不到HSE的时候会系统Reset,但据他们说,他们并不使用这两个功能,那就奇怪了,然后就让他们试做去恢复外设功能,最后发现在恢复到一个SPI的时候,重现这个问题。

系统确认

我再次跟他们沟通他们的系统框图如下:

STM32 Bootloader异常复位如何解决

他们进一步调查发现,当FPGA,在上电初始化后,会不停的发送一些命令给到MCU,数据线正好跟CAN的RX引脚共用,所以只有第一次上电后,也就是在FPGA给MCU发送数据之前,Flashloader能够正常连接MCU,过了这段时间就不能连接了。从这些实验和最后的结果我们可以看出,如果我们在芯片上电,且在FPGA给MCU发送数据之前,连接串口,这个时候MCU就能顺利地通过UART启用Bootloader,而不受FPGA发送的数据影响,而过了这段时间之后,FPGA会不停的发送数据给MCU,而MCU错误的检测到CAN FRAME(跟ST欧洲的应用部门确认,我们的CAN 检测只是简单的确认一个下降沿,一个上升沿,再检测到一个下降沿),而进入CAN Bootloader但是又不能正确检测到HSE,或者不能在3ms内检测到正常的CAN FRAME,从而导致MCU复位。在屏蔽掉SPI的时候,一切正常。

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

    关注

    2265

    文章

    10868

    浏览量

    354643
  • bootloader
    +关注

    关注

    2

    文章

    234

    浏览量

    45529

原文标题:经典案例 | STM32 Bootloader异常复位

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是Bootloader 浅谈STM32bootloader的内存分配

    Bootloader不但依赖于CPU的体系架构,而且依赖于嵌入式系统板级设备的配置。 3. STM32bootloader的内存分配
    的头像 发表于 02-15 06:10 1.7w次阅读
    什么是<b class='flag-5'>Bootloader</b> 浅谈<b class='flag-5'>STM32</b>中<b class='flag-5'>bootloader</b>的内存分配

    STM32单片机的应用笔记 奇怪的NRST 管脚异常复位问题

    关键字:漏电流, ADC 目录预览 1 引言  2 复位问题及排查 3 总结 1. 引言 本文探讨一个奇怪的MCU NRST 管脚异常复位现象。 2.  复位问题及排查 这个问题是客户
    的头像 发表于 07-13 18:55 1w次阅读
    <b class='flag-5'>STM32</b>单片机的应用笔记 奇怪的NRST 管脚<b class='flag-5'>异常</b><b class='flag-5'>复位</b>问题

    何解STM32的电源复位和引脚复位问题?

    何解STM32的电源复位和引脚复位问题?
    发表于 12-17 06:31

    STM32芯片异常复位的原因有哪些

    在做STM32应用开发过程中,遇到芯片异常复位,或进入了异常处理时,如何解决?通过本篇案例分析,了解更多处理思路。
    的头像 发表于 03-08 16:24 2w次阅读
     <b class='flag-5'>STM32</b>芯片<b class='flag-5'>异常</b><b class='flag-5'>复位</b>的原因有哪些

    STM32系统bootloader的应用有哪些

    嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的系统bootloader很方便使用。大量减少了工程师
    的头像 发表于 10-22 12:19 5537次阅读
    <b class='flag-5'>STM32</b>系统<b class='flag-5'>bootloader</b>的应用有哪些

    STM32系统bootloader应用

    嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的系统bootloader很方便使用。大量减少了工程师
    发表于 11-26 13:36 17次下载
    <b class='flag-5'>STM32</b>系统<b class='flag-5'>bootloader</b>应用

    STM32单片机bootloader扫盲

    STM32单片机BootLoader扫盲BootLoader和APP之间的关系APP就是平时写的单片机上的应用程序,而BootLoader本质上和APP一样,也是平时写的应用程序
    发表于 11-26 18:21 76次下载
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>bootloader</b>扫盲

    stm32 复位到内部bootloader

    sm32的bootloader一般是通过开机时设置boot0=1来实现的。下面是通过程序来实现:原来的startup文件是直接把flash的数据加载到ram里面然后跑main函数循环
    发表于 01-17 12:44 4次下载
    <b class='flag-5'>stm32</b> <b class='flag-5'>复位</b>到内部<b class='flag-5'>bootloader</b>

    STM32学习笔记 | 引起电源和系统异常复位的原因

    关注+星标公众号,不错过精彩内容每一块处理器都有复位的功能,不同处理器复位的类型可能有差异,引起复位的原因也可能有多种。STM32复位功能
    发表于 01-17 12:45 2次下载
    <b class='flag-5'>STM32</b>学习笔记 | 引起电源和系统<b class='flag-5'>异常</b><b class='flag-5'>复位</b>的原因

    经典案例解析 | STM32芯片异常复位

    问题描述:某STM32用户反馈,当使用STM32L4芯片的时候,程序运行一段时间后,会忽然复位复位后程序继续运行,但是还会继续复位,原因不
    发表于 02-10 11:30 19次下载
    经典案例解析 | <b class='flag-5'>STM32</b>芯片<b class='flag-5'>异常</b><b class='flag-5'>复位</b>

    stm32复位 内核复位和系统复位

    内核复位:它会使STM32内核(Cortex-M)进行复位,而不会影响其外设,如GPIO、TIM、USART、SPI等这些寄存器的复位
    的头像 发表于 08-01 17:21 4641次阅读

    STM32 Bootloader异常复位案例

    电子发烧友网站提供《STM32 Bootloader异常复位案例.pdf》资料免费下载
    发表于 09-25 09:17 3次下载
    <b class='flag-5'>STM32</b> <b class='flag-5'>Bootloader</b><b class='flag-5'>异常</b><b class='flag-5'>复位</b>案例

    STM32无法进入片上Bootloader的处理方法

    STM32无法进入片上Bootloader的处理方法  当STM32芯片无法进入片上Bootloader时,我们需要采取一系列的处理方法来解决这个问题。以下将详细介绍一些常见的处理方法
    的头像 发表于 02-02 14:33 1913次阅读

    STM32复位电路用复位芯片和阻容复位电路区别

    系统中,复位电路是保证系统正常工作的重要部分。当系统出现异常或需要重新启动时,复位电路能够迅速将系统恢复到初始状态。STM32微控制器的复位
    的头像 发表于 08-06 10:26 1103次阅读

    单片机异常复位的原因

    单片机异常复位是指单片机在正常工作过程中,非预期地返回到初始状态或重启。这种异常复位现象可能由多种因素引起,以下是对单片机异常
    的头像 发表于 10-17 17:56 465次阅读