在调试过程中,可能会碰到异常死机等问题。
这时候会调用一些函数来打印cpu的信息,比如寄存器的值,堆栈信息等。
所以,需要了解寄存器。
os_system_info_output信息结构【压栈顺序:R15、R14…R1、R0、psr、rets、reti】
USP:
SP (Stack Pointer):堆栈指针寄存器,它指定栈顶的段偏移地址,和SS决定的栈段地址,一起决定了栈顶元素的地址
SS (StackSegment):堆栈段寄存器,存放当前执行的程序所用堆栈的段地址
CPU trace:系统进系统前CPU PC的跳转轨迹,跳转指遇到goto,call,rets,reti等非顺序执行的指令。
CLI_GIE:icfg的BIT(9)为CLI_GIE,0:关闭中断、1:开启中断
psr:
在嵌入式系统中,reti 和 rets 主要涉及到中断处理和返回过程。
1. reti
- 全称: Return from Interrupt (从中断中返回)
- reti:异常返回地址。指系统进异常中断函数前执行最后一个指令的位置,注:reti所在位置的指令未被执行。</