如何为内核代码设置默认的ARM处理器状态?

时间:2014-02-27 15:01:46

标签: arm

对于ARM处理器同时支持ARM和Thumb-2状态(指令集),如何设置运行内核模式代码的状态,例如中断和系统调用的内核代码。

1 个答案:

答案 0 :(得分:2)

在v7架构*中,SCTLR的第30位确定是否在ARM或Thumb状态下采用异常,除非外部信号另有说明,否则在复位时默认为ARM。对于v6及更早版本,始终在ARM状态下执行异常。

在实际编写操作系统的上下文中,如果你想以向后兼容的方式在Thumb中编写异常处理程序,我想你也可以简单地使用从异常向量到处理程序代码本身的ARM交互分支 - 我但是,没有专家,所以我不能肯定地说这没有令人讨厌的陷阱。

*和中间奇怪的是1156