搜索
bottom↓
回复: 24

有没有专门针对 Cortex-Mx 系列的RTOS?

[复制链接]

出0入0汤圆

发表于 2012-1-9 20:57:03 | 显示全部楼层 |阅读模式
各位大侠,UCOS FreeRtos RTT 等等 RTOS 的应用范围很广,有没有充分利用 Cortex-Mx 芯片特点的针对 CMx 系列的RTOS?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-1-9 21:52:04 | 显示全部楼层
rtt

出0入0汤圆

发表于 2012-1-9 23:27:48 | 显示全部楼层
对,RT-thread 不错~~

出0入0汤圆

发表于 2012-1-10 08:51:38 | 显示全部楼层
COOS

出0入0汤圆

 楼主| 发表于 2012-1-10 11:00:33 | 显示全部楼层
freertos,rtt,ucos 这些通用型RTOS确实不错,但有个缺点,在中断中如果要给任务/线程发通知,它们要关闭全局中断,我目前的应用比较特殊,有点类似交换机:三个高速串口,一个以太网口,不知道是不是我不会用,上面三个RTOS移植过来经常串口丢失数据,如果不用RTOS就不会丢失数据,但不用RTOS应用层设计很麻烦.

出0入0汤圆

发表于 2012-1-10 12:28:36 | 显示全部楼层
uclinux!
照这样发展下去m4上面用uclinux还是不错的!

出0入0汤圆

发表于 2012-1-10 16:37:01 | 显示全部楼层
uclinux

出0入0汤圆

发表于 2012-1-11 00:30:23 | 显示全部楼层
NCOS。http://ncos.sourceforge.net/

出0入0汤圆

发表于 2012-1-11 23:28:34 | 显示全部楼层
没想到这么多os了

出0入0汤圆

发表于 2012-2-2 10:32:02 | 显示全部楼层
不知道加硬件FIFO或者DMA能否解决

出0入0汤圆

发表于 2012-2-2 10:55:06 | 显示全部楼层
一个是用DMA之类的方法,这样可以解决关中断引起的高频率读数的丢数问题。缺点是数据处理的实时性有所降低;对不等长报文的处理也有点麻烦。

用带有源代码的RTOS,不一定需要关全局中断。如果小心设计中断服务代码,是可以留一些中断不关的。

具体情况具体分析了。

出0入0汤圆

发表于 2012-2-2 11:12:27 | 显示全部楼层
cortex-m这么高的速度(相对于串口一个字节的时间)还能丢数据,那肯定是程序设计不合理,跟RTOS关中断关系不大。

出0入0汤圆

 楼主| 发表于 2012-2-2 11:35:04 | 显示全部楼层
一个是用DMA之类的方法,这样可以解决关中断引起的高频率读数的丢数问题。缺点是数据处理的实时性有所降低;对不等长报文的处理也有点麻烦。

用带有源代码的RTOS,不一定需要关全局中断。如果小心设计中断服务代码,是可以留一些中断不关的。

具体情况具体分析了。

===================================

这个是比较靠谱的说法,目前正考虑降低串口速率,换来数据通讯的可靠性.

出0入0汤圆

发表于 2012-2-2 12:34:25 | 显示全部楼层
回复【4楼】zf8848
-----------------------------------------------------------------------

1.通用型的RTOS应用中只用多任务功能就可以了.信号通知信箱什么的都关掉.鸡肋功能.
根据自己的需求自行实现...可以用查询方式实现...
2.串口接受数据的时候关掉你先关掉中断.让OS切不出去.空一拍...传输完了再打开...

出0入0汤圆

发表于 2012-2-2 14:45:05 | 显示全部楼层
回复【13楼】adce
回复【4楼】zf8848  
-----------------------------------------------------------------------
1.通用型的rtos应用中只用多任务功能就可以了.信号通知信箱什么的都关掉.鸡肋功能.
根据自己的需求自行实现...可以用查询方式实现...
2.串口接受数据的时候关掉你先关掉中断.让os切不出去.空一拍...传输完了再打开...

-----------------------------------------------------------------------

信号通知信箱不就是同步多任务的吗?屏蔽掉了你怎么实现多任务功能?

严重怀疑你的RTOS是跟体育老师学的。

出0入0汤圆

发表于 2012-6-11 01:43:41 | 显示全部楼层
zf8848 发表于 2012-1-10 11:00
freertos,rtt,ucos 这些通用型RTOS确实不错,但有个缺点,在中断中如果要给任务/线程发通知,它们要关闭全局中 ...

如果你担心关中断问题,那你可以看看那些内核具体会关多长时间的中断。
首先计算你每个字符需要多长时间。即使串口中断和任务调度中断同使到达,那么任务调度中断之后留给串口中断的时间是不是够?在下一个字符到达之前和任务调度中断之前串口isr是不是能处理完?

出0入0汤圆

发表于 2012-6-11 06:16:19 | 显示全部楼层
adce 发表于 2012-2-2 12:34
回复【4楼】zf8848
-----------------------------------------------------------------------

搞笑呢?

RTOS = 实时操作系统

对付数据流输入可以建一个高优先级线程,内容很少,就是接受RX中断发出的信号量,然后把UART DR的数据存入message queue做成的FIFO,
剩下事情的CPU空闲出来自然能够得到处理。

出0入0汤圆

发表于 2012-6-11 10:50:17 | 显示全部楼层
djyosV1.0.0β版本即将发布。
有电力系统用户在cortex-M0(LpC1225)上实现2.5M baud通信不丢数据,不知适合你的要求不。

出0入0汤圆

发表于 2012-6-11 10:51:32 | 显示全部楼层
好久没有看到 djyos 的消息了啊

出0入0汤圆

发表于 2012-6-11 10:52:30 | 显示全部楼层
您的os gui 怎么样了

出0入0汤圆

发表于 2012-6-11 14:05:59 | 显示全部楼层
我都一直以为RT-thread 就是RTT

出0入0汤圆

发表于 2012-6-11 14:31:39 | 显示全部楼层
keil自带的RL_ARM,但是不喜欢Keil,还是IAR更好使一些。

另外,ucLinux是OS,不是RTOS,没有实时性。

出0入0汤圆

发表于 2012-6-16 13:10:39 | 显示全部楼层
RTT就是rt-thread吧?

出0入0汤圆

发表于 2012-6-16 13:30:16 | 显示全部楼层
ucosIII就是专门针对arm11及cortexM3优化的,很多函数在arm9上效率很低。

其他一些系统都是通用型的,只在移植时做了专门优化。

出0入0汤圆

发表于 2012-6-19 12:59:33 | 显示全部楼层
在 cortex-m3 上,一个好的 RTOS 设计,完全可以做到在 RTOS 自身的代码中不关中断(全局,指限制 BASEPRI 和 PRIMASK 寄存器),例如,keil MDK 自带的 RL-RTX 就是。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 01:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表