ARM cortex 内核编程模式



0?wx_fmt=gif

ARM cortexM4 内核的编程模式,处理器模式和软件执行的特权级别简介

处理器模式

处理器模式包含:

线程模式:常用来执行应用软件,处理器复位后,进入线程模式执行应用软件。

管理模式:常用来处理异常,当处理器处理完异常后,会返回线程模式。

软件执行的特权级别分为:

非特权模式:顾名思义,在这种模式下,权限是有限的,软件只有有限的权利对MSR和MRS指令,并且不能使用CPS指令,不能使用系统定时器,内嵌中断控制器,系统控制块,对内存和外设的访问有权限限制。

特权模式:顾名思义,特权模式,就是软件有所有的权限,可以使用所有的指令和访问所有的资源。

在线程模式下,控制寄存器控制软件执行时特权模式还是非特权模式,在管理模式下,软件总是具有特权权限,权限比较大。只有特权软件在线程模式下才能改写控制寄存器来改变软件执行的特权级别。

内核寄存器

cortex M4内核寄存器主要有:

0?wx_fmt=jpeg

R0~R12 通用寄存器,32位的为数据操作的通用寄存器。

MSP,PSP,main堆栈指针,处理器堆栈指针,R13

LR,链接寄存器, R14

PC,程序计数器, R15

PSR,程序状态寄存器

ASPR,应用程序状态寄存器

IPSR,中断程序状态寄存器

EPSR,执行程序状态寄存器

PRIMASK,优先级屏蔽掩码寄存器

FAULTMASK,错误屏蔽掩码寄存器

BASEPRI,基本优先级屏蔽掩码寄存器

CONTROL, 控制寄存器

具体的寄存器操作以及使用请参照ARM官方文档,部分寄存器我们在前面的ARM相关课程里已经讲过了,这里不赘述,如果记不住也没关系,在具体项目应用时候在参照官方文档,但了解这些内核知识还是很必要的,尤其是要做驱动开发时候和理解汇编语言时候。

嵌入式

程序猿

微信号:InterruptISR

嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。

0?wx_fmt=jpeg

0?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值