arm体系如何对SWI功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arm体系如何对SWI功能相关的知识,希望对你有一定的参考价值。
ARM架构对SWI(软件中断)功能没有直接影响。SWI是一种由软件生成的中断,可以通过执行程序中的特定指令(通常称为“SWI”或“SVC”)来触发。SWI功能的实现取决于运行在基于ARM的系统上的操作系统、编译器和其他软件组件。ARM架构提供了用于实现SWI功能的通用寄存器、指令集和内存管理单元。 参考技术A 软中断指令,后面用24位立即数表示软中断类型,cpu遇到这条指令会跳转到中断向量表中软中断指令处,然后根据那条指令跳转到swihandler,在swi
handler中需要通过LR寄存器,用指令
LDR
R0,[LR,#-4];BIC
R0,R0,#0xff000000来获得那个24位立即数(LR中保存的是SWI
0x123456的下一条指令地址,也就是软中断返回地址),然后做进一步处理 参考技术B 使用汇编
__ASM("SWI 1");
在中断函数里做相应处理
LDR r0 ,[LR,-0x04]
r = 1 参考技术C 使用汇编
__ASM("SWI 1");
在中断函数里做相应处理
LDR r0 ,[LR,-0x04]
r = 1 参考技术D 当别人有冲动的想法时,自己应该保持冷静。因为与人发生口头冲突或武力冲突不是件好事,保持冷静也章显一个人的格局和智慧。
以上是关于arm体系如何对SWI功能的主要内容,如果未能解决你的问题,请参考以下文章
通过Visual C ++编译器识别ARM软件中断(SWI)函数