刚才在网上找到一个FreeRTOS资料小集,看了一下,确实不错。赞美一下原作者。
LPC1434上可以运行FreeRTOS, 前面已经有人调试成功了。
特把FreeRTOS资料小集出来贴在这里供大家参考。
[ 本帖最后由 zhdphao 于 2010-6-4 12:49 编辑 ]
两种RTOS粗略比较。
freeRTOS比uCOS II优胜的地方:
1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。
2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
3。freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII 每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。
4。freeRTOS 是在商业上免费应用。uCOS在商业上的应用是要付钱的。
freeRTOS 不如uCOS的地方:
1。比uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores, Mutex。 uCOS除这些外,还支持Flag, MailBox.
2。uCOS的支持比freeRTOS 多。除操作系统外,freeRTOS只支持TCPIP, uCOS则有大量外延支持,比如FS, USB, GUI, CAN等的支持
3。uCOS可靠性更高,而且耐优化,freeRTOS 在我设置成中等优化的时候,就会出问题。
加入RT-Thread开源实时操作系统的比较,
freeRTOS比uCOS II优胜的地方:
1。内核ROM和耗费RAM都比uCOS
小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。
RT-Thread内存可以小到3k ROM占用,1k RAM占用。
2。
freeRTOS
可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
RT-Thread是全抢占式的实时操作系统,如果是协程就不是实时系统了。
3。
freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII
每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。
RT-Thread可管理的线程数不受限制,仅受内存的限制。同样,RT-Thread支持多个线程在一个优先级上,相同优先级线程采用时间片轮转调度。
4。
freeRTOS 是在商业上免费应用。uCOS在商业上的应用是要付钱的。
RT-Thread的商业使用也是免费的,当然前提条件是,在产品中或产品说明书中保留RT-Thread的LOGO。
freeRTOS 不如uCOS的地方:
1。比
uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores, Mutex。 uCOS除这些外,还支持Flag,
MailBox.
RT-Thread支持semaphore, mutex, event flag, mailbox, message queue.
2。uCOS的支持比freeRTOS 多。除操作系统外,freeRTOS只支持TCPIP, uCOS则有大量外延支持,比如FS, USB, GUI, CAN等的支持
RT-Thread支持GUI,TCP/IP协议栈,文件系统。扩展的,RT-Thread支持ARM7、9、Cortex-M3、AVR32、MIPS等,同时也包括NFSv3网络文件系统的支持。
3。uCOS可靠性更高,而且耐优化,freeRTOS
在我设置成中等优化的时候,就会出问题。
RT-Thread用最高等级的优化同样没有问题,商业使用上,已经有国内两家上市公司及20来家中小型公司使用在它们的商业产品中。
做为实时系统,最头疼的部分是实时系统内部的时序行为分析,RT-Thread会在近期推出相应的工具,对系统内部行为进行全方位的剖析,使得用户更为了解自己的系统,知道如何去优化系统,如何去解决系统稳定性问题,如何去了解潜在性的隐患问题。