RT-Thread学习笔记(六):RT_Thread系统死机日志定位

RT_Thread系统死机日志定位

  • 一、RT_Thread系统死机日志定位
  • 二、Cortex-M3 / M4架构知识
    • 2.1 Cortex-M3 / M4架构概述
    • 2.2 寄存器用途
  • 三、排查步骤

一、RT_Thread系统死机日志定位

RT-Thread 系统发生hardfault死机时,系统默认会打印出一系列寄存器状态帮助用户定位死机问题。那么要定位死机问题,必须先明白相关寄存器含义。

二、Cortex-M3 / M4架构知识

2.1 Cortex-M3 / M4架构概述

2.2 寄存器用途

在这里插入图片描述

  • R0~R12,通用目的寄存器
    • R0~R7为低寄存器,许多16位指令只能访问低寄存器;
    • R8~R12位高寄存器,可用于32位指令和几个16位指令,如 MOV

  • R13,栈指针(SP) :存储当前任务的栈顶地址
    • MSP 主栈指针:
    • PSP 进程栈指针 : 用于嵌入式OS
    • 注 : 栈用于存储函数调用、局部变量和中断处理等

  • R14, 链接寄存器(LR) : 存储函数调用指令的返回地址
    • 当函数调用结束时,该地址用于返回到调用函数的位置。

  • R15, 程序计数器(PC)


    此外还有以下寄存器
  • 状态寄存器(PSR):存储处理器的状态信息,包括标志位、中断使能位和处理模式等
  • 控制寄存器(CONTROL):用于控制处理器的特殊功能,例如处理器模式的切换和栈指针的选择
  • 中断控制器(NVIC)寄存器:这些寄存器用于配置和控制中断。包括中断使能寄存器(ISER)、中断禁用寄存器(ICER)、中断优先级寄存器(IPR)等

三、排查步骤

  1. 找到MCU打印的hardfault日志,RT-Thread系统已集成,裸机或其他RTOS系统可移植cmbacktrace库;日志会包含上述描述寄存器和各线程栈的运行状态、线程栈占用情况
  2. 分析LR指针,定位hardfault前运行函数
    2.1 结合map表所有函数首地址范围,定位.
  3. 在定位位置上下关联排除查看分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/235714.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NOIP2016提高组第二轮day2 - T3:愤怒的小鸟

题目链接 [NOIP2016 提高组] 愤怒的小鸟 题目描述 Kiana 最近沉迷于一款神奇的游戏无法自拔。简单来说,这款游戏是在一个平面上进行的。 有一架弹弓位于 ( 0 , 0 ) (0,0) (0,0) 处,每次 Kiana 可以用它向第一象限发射一只红色的小鸟,小鸟…

【T3】安装畅捷通T3软件,错误代码0x800A0146,描述:未找到标识符为‘138’的资源。

【问题描述】 安装畅捷通T3软件过程中,提示: 错误代码0x800A0146 描述:未找到标识符为‘138’的资源, 安装程序将立即终止。 【解决方法】 该错误是因为安装过程中检测到数据库版本过高。 首先T3普及版/标准版11.2版本支持数据库…

48.0/图片和多媒体文件的使用(详细版)

目录 48.1 网页中插入图片 48.1.1 基本语法 48.1.2 常见属性 48.2 图片超链接 48.3 设置图片热区链接 48.4 将图片作为网页背景 48.5 滚动字幕 48.6 插入多媒体文件 48.1 网页中插入图片 48.1.1 基本语法 <img src=“图片地址”> img 标记用于将图像插入到 HTML…

深度解析HarmonyOS开发-活动召集令元服务【鸿蒙北向应用开发实战】

目录 一&#xff0e;元服务和ArkTS语言简介1.1 学习元服务1.2 元服务带来的变革1.3 元服务全场景流量入口1.4 ArkTS学习1.5 ArkTS特点 二&#xff0e;DevEco Studio开发工具2.1 DevEco Studio学习2.2 DevEco Studio的主要特性2.3 端云一体化开发2.3.1端云一体化开发特点 2.4 低…

Zidebactam sodium salt β-内酰胺酶抑制剂 1706777-46-9科研

Zidebactam sodium salt β-内酰胺酶抑制剂 1706777-46-9 &#xff08;源自星戈瑞&#xff09; ATH686 FLT3 抑制剂 853299-52-2 Pelitrexol 抑制剂 446022-33-9 TBT1 转运蛋白抑制剂 52535-76-9 HFY-4A HDAC 抑制剂 2094810-82-7 SDR-04 BET 抑制剂 879593-54-1 Phthala…

年会抽奖【编程题】

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 目录 ☁️题目解析 ☁️解题思路…

JAVA 阻塞队列原理

JAVA 阻塞队列原理 阻塞队列&#xff0c;关键字是阻塞&#xff0c;先理解阻塞的含义&#xff0c;在阻塞队列中&#xff0c;线程阻塞有这样的两种情况&#xff1a; 当队列中没有数据的情况下&#xff0c;消费者端的所有线程都会被自动阻塞&#xff08;挂起&#xff09;&#x…

浅析不同NAND架构的差异与影响

SSD的存储介质是什么&#xff0c;它就是NAND闪存。那你知道NAND闪存是怎么工作的吗&#xff1f;其实&#xff0c;它就是由很多个晶体管组成的。这些晶体管里面存储着电荷&#xff0c;代表着我们的二进制数据&#xff0c;要么是“0”&#xff0c;要么是“1”。NAND闪存原理上是一…

新瓶装旧酒之底座概念

一、前言 互联网技术总是喜欢创造一下新的词汇以显示技术先进或者高大上&#xff0c;比如&#xff1a;云计算&#xff0c;中台&#xff0c;引擎&#xff0c;敏捷&#xff0c;领域模型等等。刚出来的时候总是让人看的云里雾里&#xff0c;但是了解后发现也就那么回事。比如今年…

【运维】将Linux的硬盘当内存用,Linux内存不够用的时候如何用硬盘提升内存

文章目录 内存不够用&#xff0c;可以用硬盘当内存吗如何取消这种交换空间交换空间是优先使用的还是说原始内存是会被优先使用的 内存不够用&#xff0c;可以用硬盘当内存吗 是的&#xff0c;可以使用硬盘作为虚拟内存来扩展容器中的内存。这个过程被称为“交换”或“交换空间…

管理空闲存储空间

位示图是操作系统中一种管理空闲存储空间的方法。管理空闲除使用位示图法还可用&#xff1a;空闲区表法&#xff0c;空闲链表法&#xff0c;成组链接法 1.空闲区表法 空闲表法属于连续分配方法。它与内存管理中的动态分区分配方法雷同。 将外存空间上一个连续未分配区域称为“…

【兔子王赠书第11期】成为一名优秀的程序员,从读一本好书开始

文章目录 写在前面《代码大全2》前 言哪些人适合阅读本书还可以从哪些地方找到更多相关信息本书的关键收益为什么要写这本书 推荐理由粉丝福利写在后面 写在前面 如果你曾经想要学习软件开发&#xff0c;却因为零基础而感到困惑&#xff0c;那么《代码大全2纪念版》是你的完美…

第三十二课 电商系统增删改查统一接口的编写

商品增删改查 统一接口 接口方法&#xff0c;只有五个 Add增 Delete 删 Update 更新 findAll查询所有 findOne查询某一个 add增加一个数据 不管增加哪一个表的数据 表名&#xff08;小写&#xff09;与类名一致表中的字段在类中私有化封装 采用&#xff1a;java技术…

ArcGIS无法绘制一个或多个图层

背景&#xff1a;在导入一份数据时候&#xff0c;arcmap出现无法绘制一个或多个图层的错误&#xff0c;...点数少于要素所要求的的数量&#xff0c;查阅了半天资料发现是制作数据时候拓扑关系错误造成&#xff0c;现将处理方法详细记录如下&#xff1a; 1.原数据&#xff1a; …

logstash之grok插件自定义规则学习

文章目录 1、前言2、Grok提供的常用Patterns说明及举例2.1 常用的表达式说明 3、使用grok插件进行日志字段处理4、案例1&#xff1a;处理nginx的日志4.1、查看nginx日志格式4.2、对nginx的日志进行过滤处理 5、案例2&#xff1a;处理tomcat的日志5.1、[安装logstash-filter-mul…

JAVA安全之Spring参数绑定漏洞CVE-2022-22965

前言 在介绍这个漏洞前&#xff0c;介绍下在spring下的参数绑定 在Spring框架中&#xff0c;参数绑定是一种常见的操作&#xff0c;用于将HTTP请求的参数值绑定到Controller方法的参数上。下面是一些示例&#xff0c;展示了如何在Spring中进行参数绑定&#xff1a; 示例1&am…

7.25 SpringBoot项目实战【我的借阅记录】

文章目录 前言一、编写控制器二、编写服务层三、Git提交前言 至此,我们已经实现 图书借阅、收藏、评论等场景,最后来到【还书】场景,首先 还书的 入口 一般 是【我的借阅记录】,在这里可以根据产品设计,对于需要归还的书 操作【还书】,所以本文来实现【我的借阅记录】。…

喜讯 | 同立海源生物荣获北京市“专精特新”企业认定

喜 讯 近日&#xff0c;北京市经济和信息化局公示了2023年第三季度专精特新中小企业名单&#xff0c;北京同立海源生物科技有限公司凭借专业技术实力、创新研发能力、行业影响力以及卓越的企业文化&#xff0c;顺利通过专家层层评审与综合评估&#xff0c;荣获北京市“专精特…

大数据讲课笔记1.1 安装配置CentOS

文章目录 零、学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;安装VMWare Workstation1、获取安装程序2、进入安装向导3、按提示完成安装 &#xff08;二&#xff09;虚拟网络编辑器1、启动虚拟网络编辑器2、选择VMnet8虚拟网3、更改网络配置4、查看DHCP设置5、查…

用PHP和HTML做登录注册操作数据库Mysql

用PHP和HTML做登录注册操作数据库Mysql 两个HTML页面&#xff0c;两个PHP,两个css,两张图片&#xff0c;源码资源在上方。 目录 HTML页面 login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta nam…