关于RTX的若干疑问。

2019-12-27 19:01发布



1,rt_ret_val                                 这个函数直接修改目标任务的堆栈的R0,但是任务又不会出栈,所以不是很清楚这个函数的作用。

2,rt_dispatch                                  这个函数将新任务加入就绪链表,可是,仅通过 rt_switch_req 简单赋值指针就能执行调度?这个时候不是应该立即进行调度么,如果在systick时根据就绪链表进行调度那岂不是实时性就很差了?

3,待定

谢谢大家捧场,希望能够得到大家的指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
macaroni
1楼-- · 2019-12-27 21:02
 精彩回答 2  元偷偷看……
myxiaonia
2楼-- · 2019-12-28 02:39
哈哈哈 这个要问我了

我的帖子里有专门提到过1问题,rtx巧妙的用这个值来获得内核函数的运行情况,比如成功啊,超时啊,错误啊等等,帮助用户获得更多信息,不过在cmsis-rtx中已经去掉了,挺可惜的。。。

第二个问题,rtx中任务调度都是在中断中完成,2中这些函数仅仅是将要任务切换的准备工作做好,svc,systick和pensv才进行真正的任务切换,任务切换需要操作寄存器,这3个函数是使用嵌入式汇编的唯一地方

wuzhujian
3楼-- · 2019-12-28 04:19
2楼的,还是仔细看过源码的。
Nexus
4楼-- · 2019-12-28 07:46
厉害啊。可能后面还会有用到。先看看。求问楼主,这个由user manual什么的么?我找了好久都没有发现。
lpdpzc
5楼-- · 2019-12-28 11:31
可以直接上他的网站或是论坛上去找
macaroni
6楼-- · 2019-12-28 16:45
 精彩回答 2  元偷偷看……

一周热门 更多>