对于ARM处理器同时支持ARM和Thumb-2状态(指令集),如何设置运行内核模式代码的状态,例如中断和系统调用的内核代码。
答案 0 :(得分:2)
在v7架构*中,SCTLR
的第30位确定是否在ARM或Thumb状态下采用异常,除非外部信号另有说明,否则在复位时默认为ARM。对于v6及更早版本,始终在ARM状态下执行异常。
在实际编写操作系统的上下文中,如果你想以向后兼容的方式在Thumb中编写异常处理程序,我想你也可以简单地使用从异常向量到处理程序代码本身的ARM交互分支 - 我但是,没有专家,所以我不能肯定地说这没有令人讨厌的陷阱。
*和中间奇怪的是1156