CMSIS-RTOS RTX 临界中断该怎么处理?

2019-08-16 18:55发布



求助:
MDK自带系统  CMSIS-RTOS RTX ,当某一个task运行时,有3行代码必须要一起运行,为了防止系统运行至此3行代码时,没运行完转而运行其他TASK,而造成程序有漏洞的问题,该做哪些处理?

不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
music1273
1楼-- · 2019-08-16 23:31
 精彩回答 2  元偷偷看……
li13158
2楼-- · 2019-08-17 01:22
自己顶一个
li13158
3楼-- · 2019-08-17 03:48
顶顶顶
li13158
4楼-- · 2019-08-17 06:52
只是在人群中看了你一眼,再也不能忘记你容颜。

来个人看看吧
expresschs
5楼-- · 2019-08-17 11:14
函数tsk_lock
函数原型:
void tsk_lock (void);
函数描述:
函数tsk_lock用于禁止RTX内核定时器中断,因此也就禁止了任务切换。
使用这个函数要注意以下问题:
1. 函数tsk_lock不支持嵌套调用。
2. 不允许在中断服务程序中调用tsk_lock。
3. RTX内核定时器被关闭期间,RTX内核任务调度器和需要时间片调度的任务被阻塞。设置的任务延迟时间不再工作。因此,强烈建议关RTX内核定时器中断的时间越短越好。
使用举例:
#include <rtl.h>

void protect_critical_op () {
tsk_lock();
do_critical_op ();
tsk_unlock();
}
li13158
6楼-- · 2019-08-17 14:43
 精彩回答 2  元偷偷看……

一周热门 更多>