在ARM v4以后的版本里,ARM核都有7中工作模式:User, FIQ, IRQ, Supervisor, Abort, Undefined,和System。这7中processor mode又分为3类:User mode, Privileged mode和system mode。对于System mode的作用一直有些模糊,今天在arm的网站上找到了一份说明文档,对这个问题的解析很到位,特记录如下:
5.12. System mode
The ARM Architecture defines a User mode that has 15 general purpose registers, a pc, and a CPSR. In addition to this mode there are five privileged processor modes, each of which have an SPSR and a number of registers that replace some of the 15 User mode general purpose registers.
Note
This section only applies to processors that implement ARM architectures v4, v4T and later.
When a processor exception occurs, the current program counter is copied into the link register for the exception mode, an

ARM v4及以上版本包含7种工作模式,其中System模式是一种特权模式,与User模式共享寄存器,解决了异常处理调用子程序时返回地址可能被覆盖的问题。当异常发生时,PC和CPSR被复制并进入相应的异常模式,而System模式不能由异常直接进入,需异常处理程序修改CPSR进入。
&spm=1001.2101.3001.5002&articleId=6968288&d=1&t=3&u=aaee2472cda240f889540dffe9db1dd9)
2万+

被折叠的 条评论
为什么被折叠?



