您的位置 首页 技术

《ARM与Linux少许问题》第二章:Linux操作系统与ARM作业形式

====================================================================================================

======================================================================================================================================

首要,ARM开发板在刚上电或复位后都会首要进入SVC即管理形式,此刻、程序计数器R15-PC值会被赋为0x0000 0000;bootloader便是在此形式下,坐落0x0000 0000的NOR FLASH或SRAM中装载的,因而、开机或重启后bootloader会被首要履行。

接着,bootloader引导Linux内核,此刻、Linux内核相同运行在ARM的SVC即管理形式下;当内核发动结束、预备进入用户态init进程时,内核将ARM的当时程序状况CPSR寄存器M[4:0]设置为10000、从而用户态程序只能运行在ARM的用户形式。

由于ARM用户形式下对资源的拜访受限,因而、能够到达维护Linux操作体系内核的意图。

需求着重的是:Linux内核态是从ARM的SVC即管理形式下发动的,但在某些情况下、如:硬件中止、程序反常(被迫)等情况下进入ARM的其他特权形式,这时依然能够进入内核态(由于便是能够操作内核了);相同,Linux用户态是从ARM用户形式发动的,但当进入ARM体系形式时、依然能够操作Linux用户态程序(进入用户态,如init进程的发动进程)。

即:Linux内核从ARM的SVC形式下发动,但内核态不只仅指ARM的SVC形式(还包含能够拜访内核空间的一切ARM形式);Linux用户程序从ARM的用户形式发动,但用户态不只仅指ARM的用户形式。

===========================================================================================

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/276824.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部