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

2019-08-16 18:55发布



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

不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
expresschs
1楼-- · 2019-08-17 19:06
li13158 发表于 2016-11-10 17:06
大兄弟,tsk_lock(void);      在cmsis_os.h 中 没有这个函数的定义啊。  
你的这个是MDK中的keil RTX ...

我用的是keil4的rtx

rtl.h里这样定义的
#define tsk_lock()                 _os_tsk_lock((U32)rt_tsk_lock)
#define tsk_unlock()               _os_tsk_unlock((U32)rt_tsk_unlock)
extern void      _os_tsk_lock (U32 p)                                  __SVC_0;
extern void      _os_tsk_unlock (U32 p)                                __SVC_0;

keil5做了一层封装,cmsis_os.h 里没有找到类似函数,不过本质上还是调用了rt_tsk_lock和rt_tsk_unlock,你可以把接口引出
小陀螺爱炒蛋
2楼-- · 2019-08-18 00:51
直接关中断,关调度就是了,风险就是可能会掉数据

一周热门 更多>