历史上的今天
返回首页

历史上的今天

今天是:2024年10月16日(星期三)

正在发生

2018年10月16日 | ARM处理器7种工作模式

2018-10-16 来源:eefocus

一、ARM处理器7种工作模式(特权模式 特权模式异常模式)

  1. 用户模式(USR):正常程序执行模式,不能直接切换到其他模式

  2. 系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权

  3. 快中断模式(FIQ):支持高速数据传输及通道处理,FIQ异常响应时进入此模式

  4. 中断模式(IRQ):用于通用中断处理,IRQ异常响应时进入此模式

  5. 管理模式(SVC):操作系统保护模式,系统复位和软件中断响应时进入此模式(由系统调用执行软中断SWI命令触发)

  6. 中止模式(ABT):用于支持虚拟内存和/或存储器保护,在ARM7TDMI没有大用处

  7. 未定义模式(UND):支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式

    除用户模式外,其余6种工作模式都属于特权模式
    特权模式中除了系统模式以外的其余5种模式称为异常模式
    大多数程序运行于用户模式
    进入特权模式是为了处理中断、异常、或者访问被保护的系统资源


    硬件权限级别:系统模式 > 异常模式 > 用户模式


    快中断与慢中断区别:快中断处理时禁止中断

二、异常的优先级

            

三、存储器格式

  1. 大端格式:高字节在低地址,低字节在高地址

  2. 小端格式:高字节在高地址,低字节在低地址

四、ARM体系的CPU有两种工作状态

  1. ARM状态

  2. THumb状态

五、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的用户模式。


推荐阅读

史海拾趣

Davicom公司的发展小趣事

面对不断变化的市场环境和客户需求,Davicom始终保持创新精神,不断寻求新的发展机遇。公司紧跟行业趋势,积极投入研发资源,推出了一系列具有创新性的产品。这些新产品不仅提升了公司的市场竞争力,也为公司的持续发展注入了新的动力。

蓝箭(BLUE ROCKET)公司的发展小趣事

蓝箭电子始终致力于技术创新和产品升级。随着科技的进步,公司不断引进先进的生产线和技术,推出了各种封装的双极型晶体管、晶闸管、集成电路等产品。这些产品广泛应用于家用电器、电源、IT数码、通信等多个领域,满足了市场的多样化需求。

B&F Fastener Supply公司的发展小趣事

随着电子产品的日益小型化和复杂化,对紧固件的要求也越来越高。B&F Fastener Supply公司紧跟行业趋势,投入大量资源进行技术创新。公司成功研发出一系列适用于微型电子设备的紧固件产品,不仅满足了市场的迫切需求,还凭借出色的性能和稳定的品质赢得了客户的广泛认可。

EOS POWER INDIA Pvt公司的发展小趣事

EOS一直将质量管理作为公司发展的核心。公司建立了完善的质量管理体系,从原材料采购到生产、检测、包装等各个环节都进行严格的质量控制。EOS还引入了先进的质量检测设备和方法,确保每一件产品都符合高标准的质量要求。此外,公司还定期对员工进行质量培训,提高员工的质量意识和操作技能。这些措施使得EOS的产品在市场上赢得了良好的口碑和信誉。

ADLINK公司的发展小趣事

随着市场的不断发展和客户需求的变化,EOS意识到只有不断创新才能保持竞争力。因此,公司加大了对研发的投入,引进了一批高素质的研发人才。经过数年的努力,EOS成功研发出了一系列高性能、高可靠性的电源产品,如交钥匙电源解决方案、定制电源等。这些产品不仅满足了客户的多样化需求,还帮助EOS在市场上获得了更多的份额。

ddm hopt + schuler GmbH & Co KG公司的发展小趣事

ddm hopt + schuler GmbH & Co KG公司自创立之初,就专注于电子制造设备的研发与生产。在20世纪90年代,公司成功研发出一款具有革命性意义的自动化生产线,极大地提高了电子产品的生产效率和质量。这一技术突破迅速赢得了市场的认可,公司开始在全球范围内扩张业务,与多家知名电子品牌建立了长期合作关系。

问答坊 | AI 解惑

基于台达PLC 的工厂产量监控查询系统

:局限于技术条件,目前生产中在统计生产产品产量方面不少还是依靠人工进行统计。在实际操作过程中,往往出现产品严重丢失,投入的原料量和产出的成品量严重失衡,因此,有必要采用工厂产量监控查询系统对整个工厂的产品产量进行准确的计量,文章基 ...…

查看全部问答>

旋转编码器

谁用过旋转编码器啊 我现在编码器 用的时候会出现漏状态啊 100次会出现3次左右吧?…

查看全部问答>

节能灯的标准长度

节能灯的标准长度怎么规定?有标准的规定吗?…

查看全部问答>

cpld资源问题讨论

cpld在编码和译码的时候占用的资源很大,不知哪位大虾可有什么妙法来减少资源的使用吗?如何较少宏单元的使用呢?…

查看全部问答>

碰到了令牌错误了。大家来帮帮忙。

代码都没有,怎么会有这个错误啊,怎么解决?…

查看全部问答>

GPRS模块

M660是一款可支持开放平台的GSM/GPRS工业无线模块,预留了CPU资源以及丰富的硬件接口,可以提供高品质的语音、短信、数据业务等功能,在各种工业和民用领域得到广泛的应用。 产品特性:  双频:900M / 1800M  可靠性高:特殊EMI ...…

查看全部问答>

业余时间想做个遥控小车,问个问题?

我想用wifi控制小车,并在小车上装个摄像头,把视频传到PC端显示,看到网上很多成功的,但不知道具体的实现,有谁做过吗?比如小车上用什么操作系统?实时性怎么样?用arm直接控制马达还是单加一个单片机?越具体越好,谢谢大家了…

查看全部问答>

【C2000 LaunchPad】单相交流电压+电流表__算法篇

目前,电力行业里面计算电量参数使用最多的是傅里叶算法(FFT)。网上有一篇非常经典的关于FFT的介绍文章“FFT结果的物理意义”,作者是网络名人“电脑圈圈”。我就不多说了。直接转载过来,给大家参考。    FFT是离散傅立叶变换的快 ...…

查看全部问答>