一次调试过程中,将程序烧写进原先的产品中后,使用IAR和STLINK进行调试,程序在接收到一个事件后,莫名其妙的复位。现象如下:

1、程序中使能看门狗的程序被注释掉--用于仿真程序。

2、主循环中有喂狗动作,未注释掉。

3、接收到一个特定事件,一定触发复位。

4、 复位前,未进Hardfault, 未执行NVIC_SystemReset(),也没有按复位按钮。

仿真后,跟踪到一个函数后复位,但是在哪一句复位,不一定。所以看不出是否是堆栈溢出导致的。

继续查找原因,STM32有一个复位原因寄存器,再次上电,仿真,产生事件---- 复位。此时查看STM32的RCC_CSR寄存器,发现与复位前,IWDGRSTF位被置位。

说明肯定是独立看门狗复位。那么是什么导致独立看门狗复位的呢,我并没有使能看门狗啊?

突然想到 之前使用STLINK Utility 软件进行烧写过程序,一直对option bytes的下面几项不明白是什么原因,也没有深究。 常用的也就是使能读保护功能。

而下面的User configuration option byte里面的几项从来没有关注。查找手册,找到如下内容:

那么问题就很明显了,在之前烧写时,选择了Automatic mode烧写,此模式默认的option bytes如下

而一般我们只是把读保护使能,并将flash写保护去掉。其他不改。这就导致了这个软件会将WDG_SW使能。所以出现了原先的问题。虽然我没有使能看门狗,但是在上电时,已经由硬件(内核?)使能了看门狗。而我那段程序代码的执行时间较长,导致了此次复位事件。

记录STM32的一次不明原因的复位相关推荐

  1. Android不明原因崩溃,不断重启解决办法记录

    Android不明原因崩溃,不断重启记录 这几天在开发APP过程中,突然APP崩溃,LogCat没有异常输出,过一会发现LogCat又有输出,说明APP重启了,然后又挂掉,重启,挂掉,重启....., ...

  2. 华为服务器报警显示F02,服务器不明原因重启

    服务器不明原因重启 内容精选 换一换 Windows操作系统云服务器蓝屏,如图1所示.使用了来源不明的第三方软件.CPU占用过高导致.因为误操作或者病毒引起的系统文件.注册表损坏.操作系统在蓝屏的情况 ...

  3. 不明原因的约束报错的两种处理方式

    相信大家在iOS的开发中,经常会遇到一些不明原因的约束警告,有时候按百度到的方法试一下就好了,有时候却不行.而且下一次可能还会出现,比如下面这种约束的报错 Unable to simultaneous ...

  4. linux服务器重启原因排查_Linux服务器不明原因重启了,怎么查找原因

    Linux服务器不明原因重启了,怎么查找原因 关注:293  答案:2  mip版 解决时间 2021-01-19 07:41 已解决 2021-01-19 02:39 Linux服务器不明原因重启了 ...

  5. 记录几次苹果审核被拒原因

    记录几次苹果审核被拒原因 最近被苹果审核搞得焦头烂额,每天早上醒来第一件事就是查看手机,看看收没收到苹果发来的邮件. 由于公司业务原因,之前一直都是用的投机取巧的方法,部分产品没有走苹果内购,苹果那边 ...

  6. 不明原因儿童急性肝炎与新冠有关?!柳叶刀子刊最新研究激起千层浪

    金磊 明敏 发自 凹非寺 量子位 | 公众号 QbitAI 那个让多国告急的不明原因儿童急性肝炎,背后的"元凶"终于露出了马脚. 国际顶刊<柳叶刀·胃肠病和肝病学>最新 ...

  7. 华为小熊派开发记录STM32+MPU6050+WIFI8266

    华为小熊派开发记录STM32+MPU6050+WIFI8266 前言 STM32CubeMX+MDK+LiteOS MPU6050 WIFI8266 华为云使用 其它 前言 忽悠下参加了物联网开发比赛 ...

  8. stm32 不断的重新启动的原因

    注意 由于 stm32 系统 不断的重新启动,最后的原因就是   stm32  开发板子上面的 reset  引脚 是 悬空的状态,受到其他信号的干扰的,不接的情况下 ,有可能 当做是 天线的作用 导 ...

  9. 【转】Latex编译报错后中断编译并改正,然后重复出现不明原因报错的解决方法...

    转自:https://www.douban.com/note/419828344/ 目录: 一.问题描述 二.测试情况(可以跳过,直接看建议) 三.建议 四.参考资料 正文: 问题描述: 错漏某个符号 ...

最新文章

  1. QueryRunner 错误
  2. python安装numpy-如何为python安装numpy和scipy?
  3. 锂电系统上位—数据中心更高效率运营
  4. 18个最新的极简主义风格网站
  5. Ultra96_v2实现交通标示识别
  6. js使浏览器窗口最大化(适用于IE的方法)
  7. Spark源码系列(四)图解作业生命周期
  8. Prometheus+Grafana可视化监控SpringBoot项目
  9. WPF自定义开关切换按钮
  10. scanf(%d,%d,a,b)在c语言所代表的含义,在C语言中,有语句“inta,b;scanf(a=%db=%d,a,b);”,下.._简答题试题答案...
  11. Flink 集成 Iceberg 在同程艺龙的生产实践
  12. html 文件对比,文件内容差异对比方法
  13. python中判断一个数是否为素数_怎么用python判断一个数是否是素数
  14. java markdown 转 pdf_markdown转为pdf文件
  15. 量化选股模型—一致预期模型
  16. 小程序开发费用一览表,如果你也想要用低成本制作出自己的小程序,来了解一下!
  17. c语言统计英文字母频率,C语言实现英文文本词频统计
  18. 软件工程导论张海蕃书籍pdf_《软件工程导论》张海蕃 课后习题答案.docx
  19. android 四方向摇杆源码,手游摇杆(一)最简单的四方向摇杆
  20. List集合FindAll()方法使用案例

热门文章

  1. 响应式手机商城页面顶部样式HTML代码
  2. html消除绝对定位的影响,CSS 绝对定位 ,浮动,清除浮动
  3. [译] TypeScript 3.0: unknown 类型
  4. python init构造函数___Python中的init\uuuu构造函数
  5. 微信分享 微信对图片文字大小的限制 代码如下
  6. 瑞萨单片机C语言,瑞萨单片机学习笔记(1)基本配置
  7. 【技术干货】听阿里云CDN安防技术专家金九讲SystemTap使用技巧
  8. 加工中心主传动系统的机械结构设计
  9. vasp能带结构计算
  10. SRS4.0源码分析-RTMP入口