×
单片机 > 单片机程序设计 > 详情

ARM基础:linux运行态与ARM运行模式的对应

发布时间:2020-06-04 发布时间:
|

问:

从某一个方面来看,核心态与软中断有些类似。

系统通常情况下在用户态运行。只有发生了特定的操作后才切换到核心态。
始终都有一个Idle进程(用户态)在运行。这个Idle进程保证了系统通常运行在用户态。
用户态切换到核心态的过程可以拿软中断的过程作比喻(压栈,存上下文,按照不同的体系结构切换寄存器组,切换地址映射范围...)。

看《linux kernel development》看得一知半解。
上面自己的一些说法可能很不准确。表达大概的意思。不知这样理解对不对?

另外有一个问题:
        linux分用户态、核心态。两种状态;ARM处理器有7种运行模式。
        这之间有什么联系吗?如果有,这两种状态和这7中运行模式是怎么对应的?切换的动作是怎么实现的?

答:


linux kernel只用到ARM的user和svc模式。
用户态 -- user
内核态 -- svc

vim arch/arm/kernel/entry-armv.S



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向