首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARM cortex 内核编程模式

ARM cortex 内核编程模式

作者头像
用户1605515
发布2018-04-10 16:09:12
1.1K0
发布2018-04-10 16:09:12
举报
ARM cortexM4 内核的编程模式,处理器模式和软件执行的特权级别简介

处理器模式

处理器模式包含:

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

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

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

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

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

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

内核寄存器

cortex M4内核寄存器主要有:

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

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

LR,链接寄存器, R14

PC,程序计数器, R15

PSR,程序状态寄存器

ASPR,应用程序状态寄存器

IPSR,中断程序状态寄存器

EPSR,执行程序状态寄存器

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

FAULTMASK,错误屏蔽掩码寄存器

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

CONTROL, 控制寄存器

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

嵌入式

程序猿

微信号:InterruptISR

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档