Cortex-M3操作模式和特权级别
来源:互联网 发布:济南软件的公司 编辑:程序博客网 时间:2024/05/22 04:59
Cortex-M3支持两种操作模式,还支持两种特权级别;
两种模式为handler模式和线程(thread)模式,这两种模式是为了区别正在执行代码的类型;handler模式为异常处理例程的代码;线程模式为普通应用程序的代码;
两种特权级别包括特权级和用户级,两种特权级别是对存储器访问提供的一种保护机制;在特权级下,程序可以访问所有范围的存储器(如果有MPU,还要在MPU的禁地之外),并且能够执行所有指令;在用户级下,不能访问系统控制空间(SCS,包含配置寄存器及调试组件的寄存器),且禁止使用MSR访问特殊功能寄存器(APSR除外),如果访问,则产生fault;
在线程模式,可以是特权级,也可以是用户级;handler模式总是特权级的;在复位后,处理器处于线程模式+特权级;
在特权级下的代码可以通过置位CONTROL[0]来进入用户级。而不管是任何原因产生了任何异常,处理器都将以特权级来运行其服务例程,异常返回后将回到产生异常之前的特权级。用户级下的代码不能再试图修改CONTROL[0]来回到特权级。它必须通过一个异常handler,由那个异常handler 来修改CONTROL[0],才能在返回到线程模式后拿到特权级。
阅读全文
0 0
- Cortex-M3 操作模式和特权级别
- Cortex-M3操作模式和特权级别
- Cortex-M3的特权级别
- Cortex-M3 堆栈操作
- Cortex-M3栈内存操作
- ARM7和Cortex-M3比较
- cortex-M3 异常和中断
- Cortex-M3工作模式与异常
- Cortex-M3工作模式与异常
- Cortex-m3 异常切换进Trumble模式
- Cortex-M3
- Cortex-M3
- Cortex-M3和Cortex-M4 Fault异常应用之一 ----- 基础知识
- Cortex -M3 用户级与特权级切换 及 MPU的使用
- Cortex-M3 (NXP LPC1788)之外部中断操作
- Cortex-M3 (NXP LPC1788)之外部中断操作
- Cortex M3处理器工作模式及中断过程
- 对cortex m3省电模式的理解
- 文章标题
- 微服务架构下的安全认证与鉴权
- 【算法】归并排序(可求逆序数或逆序对)
- Ubuntu16.04更换源
- C函数不写return以及调用无参函数时传参会出现什么结果
- Cortex-M3操作模式和特权级别
- 用位运算来代替乘法、除法和取余的方式
- Matlab 2017b遇到绘图低级错误
- 结构体的学习
- Spring Cloud微服务实战--分享
- 缓冲技术之三:Linux下I/O操作buffer缓冲块使用流程
- Java任务--数组迭代器
- 手写一个同时支持的函数式和面向对象两种调用方法js库
- post Upload上传文件中multipart/form-data 做的那些事