Cortex-M4 操作模式和特权级别

本文介绍了Cortex-M4处理器的两种模式:线程模式和处理器模式,并详细阐述了这两种模式下的两种特权级别——特权级和用户级的区别及权限范围。此外,还解释了如何在线程模式下切换不同的特权级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下内容 来自Cortex™-M4 Devices Generic User Guide

Cortex-M4 包含两种 处理器模式:线程模式(Thread mode)和处理器模式(Handler mode)。

线程模式用于执行应用代码,当处理器退出复位后会进入此模式;

处理器模式用于处理异常,当处理器处理完所有异常后会退回到线程模式。


对于软件执行又包括两种特权级别:特权级和用户级。

用户级限制:

                       有限制的使用MSR和MRS指令,不能使用CPS指令;

                       不能访问系统定时器,NVIC和系统控制模块;

                       有限制的访问存储器和外围模块。

特权级别:能够使用所有指令,访问所有资源。

在线程模式,寄存器CONTROL控制着软件运行于哪种特权级别,在处理器模式,软件一直运行于特权级别。

只有特权级的软件能够在线程模式下写CONTROL寄存器,更改特权级别,用户级软件能够通过使用SVC指令申请异常进入特权级代码。

注:MSR 移动通用寄存器的值到特殊功能寄存器

        MRS 移动特殊功能寄存器的值到通用寄存器

         SVC 引发一个supervisor call (SVC)异常

         CONTROL的位0 nPRIV定义了线程模式的特权级别:0特权级别,1用户级别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值