![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
çheryアΔan
职业 专业
展开
-
C/C++——ARM中断处理过程的函数调用解释
https://www.jianshu.com/p/52841b514868ARM希望把中断处理函数也做成C函数的形式,一般C函数的处理过程类似了。进入中断前,首先要把(R0-R3,R12,LR,PSR)保存起来,然后在中断结束后恢复它们。这一切都是通过硬件完成的。但是,中断的返回地址并没有像一般的C函数调用一样存储在LR中。(即LR放的不是前一个的PC,在中断发生时,当前的PC被存在了栈...原创 2019-07-01 19:40:46 · 1517 阅读 · 1 评论 -
C/C++——函数调用栈
ARM体系ARM微处理器共有37个寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决于微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R0~R15、一个或两个状态寄存器都是可访问的。有三个特殊的通用寄存器:寄存器R13:在ARM指令中常用作堆栈指针SP寄存器R14:也称作子程序连接寄存器(Subroutine ...原创 2019-07-01 19:47:44 · 1129 阅读 · 0 评论