zf8848 发表于 2012-1-9 20:57:03

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

各位大侠,UCOS FreeRtos RTT 等等 RTOS 的应用范围很广,有没有充分利用 Cortex-Mx 芯片特点的针对 CMx 系列的RTOS?

fire 发表于 2012-1-9 21:52:04

rtt

wuguoyan 发表于 2012-1-9 23:27:48

对,RT-thread 不错~~

clingos 发表于 2012-1-10 08:51:38

COOS

zf8848 发表于 2012-1-10 11:00:33

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

microcreat 发表于 2012-1-10 12:28:36

uclinux!
照这样发展下去m4上面用uclinux还是不错的!

jamesabc007 发表于 2012-1-10 16:37:01

uclinux

bigwyd 发表于 2012-1-11 00:30:23

NCOS。http://ncos.sourceforge.net/

trochili 发表于 2012-1-11 23:28:34

没想到这么多os了

automaticdai 发表于 2012-2-2 10:32:02

不知道加硬件FIFO或者DMA能否解决

dr2001 发表于 2012-2-2 10:55:06

一个是用DMA之类的方法,这样可以解决关中断引起的高频率读数的丢数问题。缺点是数据处理的实时性有所降低;对不等长报文的处理也有点麻烦。

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

具体情况具体分析了。

hitler 发表于 2012-2-2 11:12:27

cortex-m这么高的速度(相对于串口一个字节的时间)还能丢数据,那肯定是程序设计不合理,跟RTOS关中断关系不大。

zf8848 发表于 2012-2-2 11:35:04

一个是用DMA之类的方法,这样可以解决关中断引起的高频率读数的丢数问题。缺点是数据处理的实时性有所降低;对不等长报文的处理也有点麻烦。

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

具体情况具体分析了。

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

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

adce 发表于 2012-2-2 12:34:25

回复【4楼】zf8848
-----------------------------------------------------------------------

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

hitler 发表于 2012-2-2 14:45:05

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

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

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

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

trochili 发表于 2012-6-11 01:43:41

zf8848 发表于 2012-1-10 11:00 static/image/common/back.gif
freertos,rtt,ucos 这些通用型RTOS确实不错,但有个缺点,在中断中如果要给任务/线程发通知,它们要关闭全局中 ...

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

syuanwang 发表于 2012-6-11 06:16:19

adce 发表于 2012-2-2 12:34 static/image/common/back.gif
回复【4楼】zf8848
-----------------------------------------------------------------------



搞笑呢?

RTOS = 实时操作系统

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

djyos 发表于 2012-6-11 10:50:17

djyosV1.0.0β版本即将发布。
有电力系统用户在cortex-M0(LpC1225)上实现2.5M baud通信不丢数据,不知适合你的要求不。

WXF_mabg 发表于 2012-6-11 10:51:32

好久没有看到 djyos 的消息了啊

WXF_mabg 发表于 2012-6-11 10:52:30

您的os gui 怎么样了

1123345 发表于 2012-6-11 14:05:59

我都一直以为RT-thread 就是RTT

schwarz 发表于 2012-6-11 14:31:39

keil自带的RL_ARM,但是不喜欢Keil,还是IAR更好使一些。

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

trochili 发表于 2012-6-16 13:10:39

RTT就是rt-thread吧?

learner123 发表于 2012-6-16 13:30:16

ucosIII就是专门针对arm11及cortexM3优化的,很多函数在arm9上效率很低。

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

John_Lee 发表于 2012-6-19 12:59:33

在 cortex-m3 上,一个好的 RTOS 设计,完全可以做到在 RTOS 自身的代码中不关中断(全局,指限制 BASEPRI 和 PRIMASK 寄存器),例如,keil MDK 自带的 RL-RTX 就是。
页: [1]
查看完整版本: 有没有专门针对 Cortex-Mx 系列的RTOS?