有一块 STM32F407VET6 的故障开发板, 之前的问题是经常无法烧录, 必须reset之后才能连接, 具体查看这篇 STM32F407VET6烧录出现flash download failed target dll has been cancelled. 并且程序运行一段时间后会halt. 这块开发板后来一直搁箱底吃灰了几年.

最近打算把这片 STM32F407VET6 换到新板子上, 已经重新打好了板子. 今天在动手换板子前, 上电试一下, 烧录是正常的, 烧录失败时按一下Reset基本上能成功, 跑一个最简单的闪灯程序, 跑了十几分钟后依然在闪, 莫非这个板子又好了?

然后又跑了一个带串口输出的程序, 发现还是有问题, 这个 STM32F407VET6 会不断重启.

排除电压问题

开始怀疑是电压问题, 用STLink连接时电压只有3.0V多点, 猜测可能AMS1117坏了? 换成USB供电, 测AMS1117的输出脚是3.3V, 没有问题. 测晶振两侧电压, 都是1.67V左右, 也没问题.

排除NRST脚浮空

因为 STM32F407 的 NRST脚复位后自带上拉电阻, 所以不存在浮空导致复位的问题, 这个原因可以排除

排除软件问题

因为这个重启很有规律, 差不多每0.5秒重启一次. 猜测是软件问题. 擦除整片后再写入, 无效.

定位到Option Bytes

通过 JLink 进行debug, 发现debug的过程是正常的(!), 不会重启, 但是一旦解除断点继续执行, 就又开始自动重启了.

Debug 过程不重启, 至少说明外设硬件方面没问题, 肯定是 STM32F407VET6 自身的某些设置导致的重启, 例如硬件看门狗.

如果开启硬件看门狗, 上电之后就会开始工作且无法停止, 这项功能是在 Option Bytes 中设置的. 在 Ubuntu 下貌似没法改.

换回 Win10 系统, 用 STM32 ST-Link Utility 连接开发板, 打开 Option Bytes, 在一个非常不起眼的位置看到了 WDG_SW , 果然没有勾选.

勾选后应用, 重启问题就消失了.

现在这块板子看起来是正常了, 省了换板子的时间了.

上网查了一下, 也有遇到这个问题的

  • STM32F103RC 一上电重复重启 https://blog.csdn.net/lee_xuwei/article/details/81780536
  • STM32之option bytes踩坑记录 https://www.jarvisw.com/?p=577
  • Watchdog-related firmware restart issue on STM32F405 https://github.com/rusefi/rusefi/issues/711

SEGGER JLink 可以设置 Option Bytes, 因此在 Ubuntu 下是可以操作的

  • Option byte programming https://wiki.segger.com/ST_STM32F4

STM32F407VET6 / BLACK_F407VE开发板间隔0.5秒不断重启相关推荐

  1. 千呼万唤始出来——uFUN开发板2.0开箱评测

    文章目录 前言 uFun是什么 板载资源简介 新版本更新的地方 官网上线啦 RT-Thread板级支持包 配套的扩展板 一些好玩的项目 总结 资料下载 历史精选文章: 前言 今年3月,我参与了面包板社 ...

  2. iTop4412开发板Android4.0.3镜像OTG方式烧写

    iTop4412开发板Android4.0.3镜像OTG方式烧写 最近开始学习linux,入手一块讯为的iTop4412开发板,遵循讯为的框架学习法(毕竟科技更新速度如此之快,不可能什么都学,必须要懂 ...

  3. 解决RK3288Android开发板使用es8323功放芯片在机器重启时,系统麦克风可能无法正常工作的问题

    解决RK3288Android开发板使用es8323功放芯片在机器重启时,系统麦克风可能无法正常工作的问题 调试rk3288的开发板时遇到此问题, 解决方法: 修改/kernel/sound/soc/ ...

  4. repo同步代码_iTOP-4412开发板android4.0代码下载和编译

    Android4.0 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版 本.GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中. 基于迅为4412开 ...

  5. ESP32开发板 V1.0.0 Rev1 wifi 蓝牙4MB FLASH MicroPython

    简 介: 本文给出了对于ESP32开发板下载相关的MicroPython,使用Thony编程环境完成对于ESP32开发板的一些基础实验.详细的实验命令解释可以结合MicroPython的官方网站. 关 ...

  6. 野火STM32F1开发板 IIC 0.96OLED 波形显示

    硬件连接 软件代码 MAIN.C #include "sys.h" #include "delay.h" #include "usart.h" ...

  7. 基于麒麟座开发板2.0的MQTT实现例程

    链接--->https://sanwen8.cn/p/649shZ1.html OneNET现已全面适配标准MQTT协议,相信这一功能的增加会**便于开发者进行设备的接入. OneNET提供了M ...

  8. 迅为IMX8M开发板2gst-inspect-1.0测试

    gstreamer 开发中,一般开发思路为:寻找命令行实现--命令行验证--将命令行集成到代码中---代码工程 化.当然如果你要代码更优雅一点,可以用命令行用对应的 API 来实现.本节来总结一下 g ...

  9. Android 开发板接入外接USB键盘App重启问题

    关于插入部分无线鼠标Android应用重启问题 前言 在Android 9.0的项目中,测试工程师验证问题时插入某些USB的无线鼠标,会导致当前的APK会销毁然后重启一次,重新走一次生命周期. Act ...

最新文章

  1. js实现给html固定区域增加水印
  2. js基础练习---图片无缝左右滚动效果(主要以复制删除为主)
  3. 特征工程(part1)--什么是特征工程
  4. 8分钟学会Consul集群搭建及微服务概念
  5. leetcode 501. 二叉搜索树中的众数 思考分析
  6. 解决 clipboard.js 在ios中失效的问题
  7. python函数递归 斐波那契数列
  8. Java中的Object类的toString()方法,equals()方法
  9. bzoj1088 [SCOI2005]扫雷Mine
  10. Access数据库解密方法大盘点
  11. ajax异步加载网页爬虫
  12. 红帽RHCA考试内容解析
  13. 计算机控制课程设计体会,计算机控制技术课程设计心得体会
  14. Flink SQL xxx is not serializable. The object probably contains or references non serializable field
  15. 第5章-LC3, latency and QoS
  16. IP分片和TCP分段解析--之IP分片
  17. 指定ip地址和端口号登录mysql数据库_防火墙规则,指定ip访问mysql数据库3306端口...
  18. 谷歌插件开发(实现CSDN快速登陆)
  19. JAVA中的三大集合框架
  20. 表格内容识别(python-opencv)(一)【9/8】

热门文章

  1. Cesium基础知识-添加天空盒
  2. 记一次子线程Thread.sleep影响主线程的坑
  3. 板块分析:筑底阶段 智能家居开启蓝海
  4. MySQL中的排序与分页
  5. 供给云saas平台小程序赋能门店增加销售额
  6. js动态生成html表格
  7. Flex框架(The Flex Framework)
  8. EurekaCAP原理
  9. 进不了PE,进PE黑屏或点阵屏怎么办
  10. 表格制作过程html,HTML进行表格制作