求助啊,RTX中是否有挂起函数
请问 在 RTX操作系统中 是不是没有 类似和UCOSIII的 任务挂起 这个功能?可是我想要RTX中的有关任务先暂停,等我给他命令再继续执行,这个应该怎么做? 使用 任务建立 函数 和 任务删除函数吗?用事件标志API挂起就好了,RTX4中没有。
ps:帮你修改了下题目 eric2013 发表于 2018-7-7 13:07
用事件标志API挂起就好了,RTX4中没有。
ps:帮你修改了下题目
感谢感谢!:handshake eric2013 发表于 2018-7-7 13:07
用事件标志API挂起就好了,RTX4中没有。
ps:帮你修改了下题目
大佬,我想学习下实时操作系统,在 UCOS、 RTX、 FreeRTOS,这三个中间纠结,你有什么建议吗?谢谢了 wx_UcY3CH1i 发表于 2018-7-7 15:56
大佬,我想学习下实时操作系统,在 UCOS、 RTX、 FreeRTOS,这三个中间纠结,你有什么建议吗?谢谢了
如果你还在上学,时间充裕,就搞搞uCOS-II,属于比较经典的了,认真学习下源码。
如果已经工作,RTX走起,我已经将各种中间件都弄出了完善的解决方案,做项目比较方便。
个人意见,仅供参考。
eric2013 发表于 2018-7-7 15:59
如果你还在上学,时间充裕,就搞搞uCOS-II,属于比较经典的了,认真学习下源码。
如果已经工作,RTX走 ...
收到,感谢!{:8:} eric2013 发表于 2018-7-7 13:07
用事件标志API挂起就好了,RTX4中没有。
ps:帮你修改了下题目
我用的RTX4,由事件标志API的
公仆 发表于 2018-7-8 10:13
我用的RTX4,由事件标志API的
谢谢回复。
你理解错了,我说是用事件标志API即可,没有任务挂起API。:handshake 本帖最后由 公仆 于 2018-7-8 11:27 编辑
楼主,RTX5有osThreadSuspend()和osThreadResume()支持。但是提醒你不要轻易使用,因为会导致不可预测的系统死锁发生。
比如,任务A的代码获得了一个信号量或者其它排他资源,这时任务B用osThreadSuspend()把A挂起了(注意任务B并不知道任务A执行到哪里),
那么在任务B恢复任务A之前,谁也别想获得该排他资源了!更要命的是,如果任务B这时也要这些资源那就是死锁!
这种错误跟线程正常删除与否一个道理。比如其他线程强制删除另外一个线程,那么被删除线程可能申请的资源都没有释放! eric2013 发表于 2018-7-8 10:25
谢谢回复。
你理解错了,我说是用事件标志API即可,没有任务挂起API。
是的,我理解错了。 公仆 发表于 2018-7-8 10:13
我用的RTX4,由事件标志API的
收到,感谢指导!{:33:} 公仆 发表于 2018-7-8 11:26
楼主,RTX5有osThreadSuspend()和osThreadResume()支持。但是提醒你不要轻易使用,因为会导致不可预测的系 ...
收到!{:6:} RTX确实不错,准备转RTX,最近测试一个信号量,但是出现个问题,如果在A任务给B任务发送一个信号,B任务可以收到,但是出现的问题是,任务一直在空闲任务了,不知道为什么,用的是库方式,没有移植源码
eric2013 发表于 2018-7-8 10:25
谢谢回复。
你理解错了,我说是用事件标志API即可,没有任务挂起API。
你好,我这边工作需要现在想移植RTX5到工程上,一定要用KEIL5.25版本吗?我按着官网的英文说明创建了一个,现在调试模式下,Threads栏里面没有出现对应的线程。请问您这边有没有RTX5版本的工程创建说明?可否让我借鉴学习一下呢,非常感谢。 公仆 发表于 2018-7-8 11:26
楼主,RTX5有osThreadSuspend()和osThreadResume()支持。但是提醒你不要轻易使用,因为会导致不可预测的系 ...
rtx4也有挂起和恢复,只不过那个是用于系统休眠和恢复的
其实任务挂起和恢复是个很奇怪的事情,任务怎么可以挂起非自身的任务呢,自身任务被挂起,什么时候才能恢复啊
如果是后一种,可以用事件这种同步量的方法
cortex 发表于 2018-7-8 22:09
RTX确实不错,准备转RTX,最近测试一个信号量,但是出现个问题,如果在A任务给B任务发送一个信号,B任务可 ...
因为只有在收到信号量那一刻b才会被切换到,其他时刻本来就是空闲的啊
页:
[1]