找回密码
 注册
关于网站域名变更的通知
查看: 605|回复: 2
打印 上一主题 下一主题

移植 UC/OS 中的软件中断汇编接口程序中取功能号码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-2-3 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问:在移植 UC/OS 中的软件中断汇编接口程序中取功能号码.原程序为: 如果是在 THUMB 状态,则为 LDR R0,[LR,#-2] 8 N  V) ^) g/ o' {2 U% Z/ X. N( E
如果是在 ARM 状态, 则为 LDR R0, [LR, #-4], ) ]+ U: I) e4 z7 e/ W  v
在清除 R0 中的最高两位,R0 的值就为功能号.
# y4 ~: F# J6 j/ x& ?$ y. |1 f为什么是从 LR 中取值呢 LR 的值是进入中断时候保存的 PC 值吗 迷惑! * l8 p) H# n' B. Q1 C6 d

& S# Z+ G7 t+ F) n, K4 |0 M

该用户从未签到

2#
发表于 2023-2-3 10:46 | 只看该作者
执行 SWI 指令后,处理器进入管理模式,LR_svc 中保存返回地址,顺藤摸瓜,! Q7 v' \: Z/ d/ T! ?4 X! x  @
根据 LR_svc 就可以取得 SWI 语句,也就取得了中断号.

该用户从未签到

3#
发表于 2023-2-3 13:14 | 只看该作者
uC/OS ii中,任务切换时一般要读取CPU的各个通用与特殊功能寄存器,M3用MRS、MSR等命令
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-16 15:47 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表