模板网站建站步骤,wordpress 主题 相册,品牌设计公司名字,shopwt多用户商城系统RT_Thread系统死机日志定位 一、RT_Thread系统死机日志定位二、Cortex-M3 / M4架构知识2.1 Cortex-M3 / M4架构概述2.2 寄存器用途 三、排查步骤 一、RT_Thread系统死机日志定位
RT-Thread 系统发生hardfault死机时#xff0c;系统默认会打印出一系列寄存器状态帮助用户定位死… 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等
三、排查步骤
找到MCU打印的hardfault日志RT-Thread系统已集成裸机或其他RTOS系统可移植cmbacktrace库日志会包含上述描述寄存器和各线程栈的运行状态、线程栈占用情况分析LR指针定位hardfault前运行函数 2.1 结合map表所有函数首地址范围定位.在定位位置上下关联排除查看分析