STM32下采用什么方法关全局中断好?

2019-12-27 18:43发布

以前关中断都是用如下库函数,即设置CPSR。但现在看了函数说明,调用要在特权模式下才行,如果我要在用户模式下关中断要怎么处理好呢?大家是不是关中断也用的此办法?
2017-07-06_135109.png (10.59 KB, 下载次数: 0) 下载附件 2017-7-6 13:51 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
cloudboy
1楼-- · 2019-12-27 21:38
你是跑操作系统么?需要有用户模式和特权模式的区别?操作系统的话一般都会提供对应的进入临界区的方法
security
2楼-- · 2019-12-28 01:43
RTOS 一般不需要区分用户模式和特权模式,直接跑在特权模式下。
如果要区分的话,那么就要提供对应的接口:
- 通过系统调用,也就是 SVC,来实现对应 API 的调用,直接调用开关中断的 API。
- 或者提供一个 SVC 调用,来实现用户模式到特权模式的切换动作,而后就可以开关中断了。
pigy0754
3楼-- · 2019-12-28 07:26
security 发表于 2017-7-6 15:01
RTOS 一般不需要区分用户模式和特权模式,直接跑在特权模式下。
如果要区分的话,那么就要提供对应的接口: ...

我说的是裸机下,要如何关中断?
实时系统移植时都会有对应的方式,就像UCOS
redroof
4楼-- · 2019-12-28 10:11
 精彩回答 2  元偷偷看……
pigy0754
5楼-- · 2019-12-28 13:25
redroof 发表于 2017-7-6 20:38
裸机永远在特权模式下。所以可以随便关中断

哦,对!我理解有误,见笑了
security
6楼-- · 2019-12-28 19:03
pigy0754 发表于 2017-7-6 20:23
我说的是裸机下,要如何关中断?
实时系统移植时都会有对应的方式,就像UCOS ...

特权模式和用户模式,与上不上 RTOS 没有必然的关系。
裸奔,照样可以分权限。

一周热门 更多>