打印

CMSIS RTOS的优先级只有8种

[复制链接]
6138|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlwg|  楼主 | 2013-10-16 19:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MDK5的CMSIS RTOS的优先级只有8种,这对于习惯了原来的RTX和UCOS的上百个优先级的用户来说,觉得很别扭。大家有什么说法?
沙发
airwill| | 2013-10-16 19:14 | 只看该作者
好象也没有什么好说的.
要么就是迁就, 要么就是不用.

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
jlwg + 3 很给力!
板凳
jlwg|  楼主 | 2013-10-16 19:21 | 只看该作者
不知道为什么要这么设计呐,原来的二百多级的优先级不是挺好的吗,为什么版本升级之后,反倒减少到8个优先级?

使用特权

评论回复
地板
jlwg|  楼主 | 2013-10-16 19:33 | 只看该作者
本帖最后由 jlwg 于 2013-10-16 20:15 编辑

哦,看了源码,只允许用已定义的这几个优先级,让人困惑

使用特权

评论回复
5
trumpxp| | 2013-10-16 20:57 | 只看该作者
有点困惑   话说这一块   了解的不是很多

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
jlwg + 3 淡定
6
i55| | 2013-10-16 23:30 | 只看该作者
谁传个源码包上来批判下

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
jlwg + 3 山寨
7
jlwg|  楼主 | 2013-10-17 11:36 | 只看该作者
源码都在MDK软件包里,安装了KEIL之后,在PACK目录里都能找到。这两天一只纠结这个优先级只有7个的问题,到底是升级还是不升级呐?不升级的话,怕以后的支持成问题,升级的话,这个优先级的问题确实很不爽

使用特权

评论回复
8
wwllzz| | 2013-12-28 07:57 | 只看该作者
实时系统最底层的优先级分8个已经算很多了 非抢占式大型操作系统任务划分是为了书写规范分工明确等, 抢占式系统的任务之间是可以相当于优先级嵌套的 若按任务间实时性差别10倍计算 那可是天文数字了 不过ARM公司很聪明 支持多个任务同一个优先级 大量非实时性事务处理也看以慢慢来的 操作系统是计算机专家的智慧结晶 初学者一时难以完全理解 先跟着走 应用中再慢慢思考体会是划算的

使用特权

评论回复
9
wwllzz| | 2013-12-28 08:12 | 只看该作者
用户用到的优先级是6个半吧 idle任务里面多数都是加一个__wfi(); 指令 这也足够 很多骨灰级专家都这样规范的用了很多年了

使用特权

评论回复
10
pattywu| | 2013-12-28 08:59 | 只看该作者
是骨灰盒级吧。

使用特权

评论回复
11
jlwg|  楼主 | 2019-6-12 21:47 | 只看该作者
wwllzz 发表于 2013-12-28 07:57
实时系统最底层的优先级分8个已经算很多了 非抢占式大型操作系统任务划分是为了书写规范分工明确等, 抢占式 ...

我用rtos的时候,你可能还在上小学。你回答这个问题的时候,估计根本没有在比较复杂的实时系统中用过rtos。ucos,rtx等的实时系统都可以设置几十上百个优先级,你以为这些rtos的作者们是外行?
我就是因为用过ucos,rtx等操作系统的多个优先级,(大于8个),才困惑于为啥cmsis rtos优先级只有8仲。你是从来没有过,所以你不可能有这种困惑。没有用过还不懂装懂,你这种人最容易误人子弟,还好我比你专业多了,知道你不懂装懂,否则就被你带坑里了。

使用特权

评论回复
12
kingkits| | 2019-6-13 10:08 | 只看该作者
这就跟管理公司一样,理论上貌似应该给每个员工都配置不同的优先级以防止他们之间发生冲突时无法界定谁权力大,其实每个公司都只有少数几个层次,原则上都不超过8层,当然,可能有几十万员工的公司会有更多的层次

使用特权

评论回复
13
jlwg|  楼主 | 2019-8-30 09:15 | 只看该作者
kingkits 发表于 2019-6-13 10:08
这就跟管理公司一样,理论上貌似应该给每个员工都配置不同的优先级以防止他们之间发生冲突时无法界定谁权力 ...

别瞎评论了,cmsis os v2版本升级后,任务优先级已经恢复到几十个了,一般够用了。看来以前只有8个优先级是不行的,他们也意识到了。

使用特权

评论回复
14
jlwg|  楼主 | 2019-8-30 09:15 | 只看该作者
kingkits 发表于 2019-6-13 10:08
这就跟管理公司一样,理论上貌似应该给每个员工都配置不同的优先级以防止他们之间发生冲突时无法界定谁权力 ...

别瞎评论了,cmsis os v2版本升级后,任务优先级已经恢复到几十个了,一般够用了。看来以前只有8个优先级是不行的,他们也意识到了。

使用特权

评论回复
15
caoenq| | 2019-8-30 09:53 | 只看该作者
jlwg 发表于 2019-6-12 21:47
我用rtos的时候,你可能还在上小学。你回答这个问题的时候,估计根本没有在比较复杂的实时系统中用过rtos ...

大神的程序估计是很复杂的系统,目前经历过的工程中,最多20个任务左右,但是只用5个不同的优先级就够了。

使用特权

评论回复
16
1021256354| | 2019-8-30 10:03 | 只看该作者
不是支持时间片么?怎么可能满足不了需求

使用特权

评论回复
17
wwllzz| | 2019-11-8 09:54 | 只看该作者
本帖最后由 wwllzz 于 2019-11-8 10:12 编辑

才看到并回复我几年前参与过的帖子, 实时操作系统真正实现好的实时性能, 更好应对具体应用, 减轻研发团队伙伴的压力, 未必是每个人一个单独的任务就方便合适. 少的任务让思路清晰, 处理器开销小. 若系统一定要分隔, 硬件的多核处理器, MPU, MMU办法可能更好. 单一实时操作系统优先级越多, 评估其实时性效果越难. 具体应用逼着复杂那是没办法的. 就我目前自己做的的应用看, 附加一个小的处理器, 三个优先级有代码就够了. 处理器的中断本身就是一个某种意义上的系统高优先级任务, 中断的可嵌套优先级若8级以上, 那么可以想象某种特定条件下 堆栈将会堆多深, 最低优先级中断的实时性是啥样的, 平时测试不出来, 不等于将来某种情况就一定不会出现. 根据应用实际情况, 合理安排就好

使用特权

评论回复
18
wwllzz| | 2019-11-8 13:29 | 只看该作者
就好比方我想早点抱孙子, 最迫切的是将这信号传达给家庭成员, 然后是等待, 需要钱和出力的时候别耽误了, 这件事儿 不能我一直参与或亲自上阵的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

146

帖子

0

粉丝