关于RTX的若干疑问。

2019-12-27 19:01发布



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

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

3,待定

谢谢大家捧场,希望能够得到大家的指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
myxiaonia
2019-12-29 03:12
macaroni 发表于 2015-8-20 11:11
rtx内核函数主要有2种,
用户态使用的(os_前缀)都是用svc软中断发起的,看看svc汇编码就知道svc先检查是 ...

3.开销大是和普通的函数调用比较的,因为使用svc软中断,中断进出需要现场保护,进了中断还要判断调用条件,从栈或者sp取地址,用户栈倒腾输入和返回参数

4.你使用的是cmsis-rtx,这个os会在进main之前就初始化了os,所以main其实就是个任务了,,,我对cmsis-rtx并不熟悉,只有这么多了

一周热门 更多>