EDA365电子论坛网
标题:
移植 UC/OS 中的软件中断汇编接口程序中取功能号码
[打印本页]
作者:
Maskman
时间:
2023-2-3 10:01
标题:
移植 UC/OS 中的软件中断汇编接口程序中取功能号码
请问:在移植 UC/OS 中的软件中断汇编接口程序中取功能号码.原程序为: 如果是在 THUMB 状态,则为 LDR R0,[LR,#-2]
$ v1 t& V Y/ T8 A* K7 C
如果是在 ARM 状态, 则为 LDR R0, [LR, #-4],
5 F5 H9 g0 n; b5 E
在清除 R0 中的最高两位,R0 的值就为功能号.
$ L- M3 f. S4 _
为什么是从 LR 中取值呢 LR 的值是进入中断时候保存的 PC 值吗 迷惑!
; e' e: y" }; { I4 a0 _; P
/ t+ m- F: I0 j9 E1 _& `9 c
作者:
Ele_insect
时间:
2023-2-3 10:46
执行 SWI 指令后,处理器进入管理模式,LR_svc 中保存返回地址,顺藤摸瓜,
1 [& ~6 ?0 t0 H: s5 Q
根据 LR_svc 就可以取得 SWI 语句,也就取得了中断号.
作者:
风吹过后
时间:
2023-2-3 13:14
uC/OS ii中,任务切换时一般要读取CPU的各个通用与特殊功能寄存器,M3用MRS、MSR等命令
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2