【踩坑日记】【FreeRTOS】KEIL5 仿真调试时卡在 HardFault_Handler() 或者 UsageFault_Handler() 异常中断中

news/2024/12/12 7:29:52/

问题描述

在这里插入图片描述

使用 KEIL5 进行软件仿真调试时,进不去 main() 函数,按下 STOP 后再按下 RUN,发现有时候卡在 HardFault_Handler(),有时候却又卡在 UsageFault_Handler()。
在这里插入图片描述
在这里插入图片描述

解决历程

一般来说,如果程序真的有问题,出现的异常应该是一样的,而不会一会 HardFault 一会 UsageFault,于是我开始检查代码,这里贴上一个我认为很有用的帖子:
【KEIL】发生硬件错误卡在HardFault_Handler()的解决办法

但是操作了一下,没有找到问题,我又想到是不是因为工程路径中包含中文字符,于是一通修改,无果。

解决方式

其实这就是使用 KEIL5 仿真时的一个 bug,关掉所有打开的 KEIL 工程,重启 KEIL 即可,后面我又遇到仿真时 Logic Analyzer 窗口显示异常,也是重启即可。

原因

此 BUG 可能是我使用是 KEIL5 与 KEIL4 的共存版导致的。

后记

重启解决 99% 的问题
重买解决 100% 的问题(狗头)


http://www.ppmy.cn/news/1024398.html

相关文章

MySQL 存储过程、函数、触发器、事件

​ 目录 存储过程 创建存储过程 调用存储过程 查看存储过程 删除存储过程 进阶 变量 if条件判断 传递参数 case结构 while循环 repeat结构 loop语句 leave语句 游标/光标 存储函数 触发器 创建触发器 删除触发器 查看触发器 事件 查看事件调度器是否开启…

docker安装Nacos的《小白专用》详细教程

1.CentOS安装docker 安装docker yum -y install docker 设置开机自启 systemctl enable docker 启动docker systemctl start docker 查看docker当前的版本 docker version做到这里呢基本上你的docker就安装了一大部分了,当然也有那些无法安装的人,那我建…

自动化测试如何解决chrome自动更新问题

问题 调试好的自动化测试脚本,有时候总是在第一天或过几天就不好使了。产品并未进行功能逻辑,ui修改,一切还和调试自动化脚本的时候保持一致。运行自动化测试脚本时,控制台总是会在driver webdriver.Chrome()这一行报错。 问题…

基于浏览器插件的被动式信息提取工具

FindSomething,基于浏览器插件的被动式信息提取工具 首发于陌陌安全 陌陌安全应急响应中心 chrome插件 直接访问 https://chrome.google.com/webstore/detail/findsomething/kfhniponecokdefffkpagipffdefeldb或使用chrome开发者模式加载源码。 firefox插件 直接…

【Grafana】中文界面配置 v10.0.3

比如通过 docker run -d -p 3000:3000 -v /e/code/monitor/grafana/grafana.ini.txt:/etc/grafana/grafana.ini grafana/grafana运行一个容器(最新是v10.0.3)。 在 /admin/settings 可以看到 users 部分有一个 default_language 配置。 所以在挂载到 …

华为od机试面试题目

1.华为机试102道题解 2.华为机考题目 2023年7月30日 19:30~22:00 机考提示&注意事项(考前必看): 1、注意编译环境的变化及语言选择,选自己熟悉的语言机考。 2、机考共3道题,150分钟完成。 3、题目难度为:一星和两星;2道一星的题目,各…

TOMCAT的多实例部署和动静分离

tomcat的多实例 动静分离 排错小工具: telnet工具:yum -y install telnet telnet工具用于测试端口是否正常 telnet 20.0.0.101 80Tomcat多实例部署: 一台服务器上有多个tomcat的服务 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-…

JVM运行时五大数据区域详解

前言: java虚拟机再执行Java程序的时候把它所拥有的内存区域划分了若干个数据区域。这些区域有着不同的功能,各司其职。这些区域不但功能不同,创建、销毁时间也不同。有些区域为线程私有,如:每个线程都有自己的程序计数…