打印

swi系统模式的问题...

[复制链接]
1127|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hnz2010|  楼主 | 2012-2-4 20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用的arm芯片为lpc3250.开发环境为keil u4.
在c语言的函数中调用swi.如下:
void function_A(void);
int main()
{
....
function_A();
...
}

__asm function_A()
{
         SWI  0x0
}
请问这样调用swi指令可以吗?会有什么问题吗?
另外当执行SWI后,系统进入了管理模式,请问这和ARM芯片刚启动时的管理模式在哪些方法可能不同呢,当然除了R0-R15,等各模式寄存器值不同之外,其它有没有不同呢?




{}

相关帖子

沙发
xinzha| | 2012-2-4 22:22 | 只看该作者
swi进入的是supervisor模式,而不是system模式,supervisor模式是一种异常模式,而system模式同usr模式共用同一组寄存器,区别只是在于对cpu的不同控制权,system可以作为程序正常执行时的模式,而supervisor模式不行(当然如果你的程序特殊,处理方法特别也无所谓)。

使用特权

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

本版积分规则

0

主题

1

帖子

0

粉丝