编程stm32f10x:进入中断服务程序时链接寄存器得到什么值?为什么?

时间:2017-06-15 15:12:44

标签: arm stm32

我对ARM stm32f10x进入中断服务程序时会发生什么有疑问:链接寄存器有什么价值?为什么?

1 个答案:

答案 0 :(得分:0)

PM0056 Cortex-M3 programming manual有答案

  

2.3.7例外输入和返回

     

...

     

当处理器处于处理程序模式时,会发生异常返回   执行以下指令之一以加载EXC_RETURN   价值进入PC:

     

•包含PC的POP指令

     

•带有任何寄存器的BX指令。

     

•以PC为目标的LDR或LDM指令

     

EXC_RETURN是加载到LR上的值   例外条目。异常机制依赖于此值   检测处理器何时完成异常处理程序。该   此值的最低四位提供有关返回堆栈的信息   和处理器模式。表17显示了带有a的EXC_RETURN [3:0]值   异常返回行为的描述。

enter image description here