打印

请教2个问题,搞了一天还没弄明白(关于arm中断)

[复制链接]
1801|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chmi|  楼主 | 2007-2-3 17:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ARM, ck, pc, ps, rc
1,为什么我在用户末时下无法修改sp,我用的是sdt调试,程序如下

msr cpsr,#0x10
ldr r0,=usr_stack+1024
mov sp,r0
编译能通过,但是单步运行后发现用户模式下sp=0.用下面的两行程序也是这样:
msr cpsr,#0x10
ldr sp,=usr_stack+1024
老是不能修改用户模式的sp,我怎么想都想不通!

2,从中断处理程序退出时,树上说执行
subs pc,r14,#4
我试过的确可用,但是我不明白的是,为什么中断处理退出之前,程序中并没有手动将终端模式更换成其它模式,难道执行subs pc,r14,#4的时候,cpu就知道这个是中断退出的指令?至于用户模式的切换完全是cpu自动完成的?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝