硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4512|回复: 2
收起左侧

[有问必答] 关于cortexM3的特权级和用户级

[复制链接]

32

主题

115

回帖

211

积分

高级会员

积分
211
发表于 2021-6-7 13:44:16 | 显示全部楼层 |阅读模式
看权威指南时看到了这两个概念,有如下问题:
1、特权级和用户级有什么用,什么时候用特权级,什么时候使用用户级,应用场景是什么?自动切换还是写程序手动切换
2、平时写的代码是特权级还是用户级?看图,复位之后是特权级的线程状态,我写的代码里没有置位CONTROL[0]的操作,是否说明我的代码一直运行在特权级?

3、在写中断的时候我可以设置NVIC寄存器,是否也说明我的代码一直运行在特权级?
4、我在写中断程序的时候没有设置过CONTROL[0],也没有写过SVC中断,是不是我一直是特权级的线程状态,中断服务是特权级handler状态。如果移植了RTOS,那每个线程运行在特权级的线程状态?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117563
QQ
发表于 2021-6-7 16:03:36 | 显示全部楼层
1、特权机和用户级,当前仅RTX系统有用,其它RTOS都没有用过,好处是隔离用户代码和OS系统代码
2.  平时我们自己用全部都是特权机
3.  中断只能在特权机
4.  回复同第1个。
回复

使用道具 举报

32

主题

115

回帖

211

积分

高级会员

积分
211
 楼主| 发表于 2021-6-7 16:34:51 | 显示全部楼层
eric2013 发表于 2021-6-7 16:03
1、特权机和用户级,当前仅RTX系统有用,其它RTOS都没有用过,好处是隔离用户代码和OS系统代码
2.  平时我 ...

谢谢。不好意思图片又挂了,直接ctrl+V有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 16:13 , Processed in 0.120136 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表