搜索
bottom↓
回复: 24

有用过CooCox CoOS的么?

[复制链接]

出0入0汤圆

发表于 2011-2-13 16:37:20 | 显示全部楼层 |阅读模式
和FREERTOS、UCOSII等相比,稳定性如何?

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-2-13 16:38:22 | 显示全部楼层
CooCox CoOS  
CooCox CoOS  CooCox CoOS 是一款针对ARM Cortex-M系列芯片而设计的实时系统内核。
CoOS特征:
■免费并开源
■ARM Cortex M3及M0定制操作系统
■高度可裁剪性,最小系统内核仅974Byte
■支持优先级抢占和时间片轮转
■自适应任务调度算法
■零中断延时时间
■堆栈溢出检测
■信号量、邮箱、队列、事件标志、互斥等同步通信方式
■支持多种编译器:ICCARM、ARMCC、GCC


技术数据:
时间特性:
功能 时间 (无时间片轮转/有时间片轮转)
创建已定义的任务(无任务切换) 5.3us / 5.8us
创建已定义的任务(有任务切换) 7.5us / 8.6us
删除任务 (退出任务) 4.8us / 5.2us
任务切换 (切换内容) 1.5us / 1.5 us
任务切换 (在设置事件标志的情况下) 7.5us / 8.1us
任务切换 (在发送信号量的情况下) 6.3us / 7.0us
任务切换 (在发送邮件的情况下) 6.1us / 7.1us
任务切换 (在发送队列的情况下) 7.0us / 7.6us
设置事件标志(无任务切换) 1.3us / 1.3us
发送信号量(无任务切换) 1.6us / 1.6us
发送邮件(无任务切换) 1.5us / 1.5us
发送队列(无任务切换) 1.8us / 1.8us
IRQ中断服务程序的最大中断延迟时间 0 / 0


空间特性:
描述 空间
内核占RAM空间 168 Bytes
内核占代码空间 974 Bytes
一个任务占RAM空间 TaskStackSize + 24 Bytes(MIN)
TaskStackSize + 48 Bytes(MAX)
一个邮箱占RAM空间 16 Bytes
一个信号量占RAM空间 16 Bytes
一个队列占RAM空间 32 Bytes
一个互斥体占RAM空间 8   Bytes
一个用户定时器占RAM空间 24 Bytes

* 测试条件:STM32F103RB,工作于72 MHz,使用内部flash,使能预取指缓冲。


用户手册:
我们为您提供了CooCox CoOS的使用手册,让您更轻松方便地使用CooCox CoOS,其内容包括:
■第一章 CooCox CoOS概述
■第二章 任务管理
■第三章 时间管理
■第四章 内存管理
■第五章 任务间的同步和通信
■第六章 API手册


要获得详细信息,请下载 CooCox CoOS用户手册.


示例:
CoOS 也提供一些例子来帮助您更容易地开发基于CoOS的嵌入式应用程序,如下:

使用ARMCC编译器:
■ST STM32F103RB示例代码
■Atmel SAM3U4E示例代码
■NXP LPC1766示例代码
■NXP LPC1766 LwIP示例代码
■NXP LPC1114 示例代码
■TI LM3S8962示例代码

使用ICCARM编译器:
■ST STM32F103RB示例代码
■NXP LPC1766示例代码
■NXP LPC1114示例代码

使用 GCC 编译器(CoBuilder):
■ST STM32F103RB示例代码
■Atmel SAM3U4E示例代码
■NXP LPC1766示例代码
■NXP LPC1766 LwIP示例代码
■NXP LPC1114示例代码
■TI LM3S8962示例代码
■Nuvoton NUC100LE3AN示例代码
■Nuvoton NUC140示例代码
■Nuvoton NUC140 CAN示例代码
■Nuvoton NUC140 CAN Master示例代码


应用解决方案:
CooCox 提供了一些基于CoOS的应用解决方案供您参考,您可以直接方便地使用。


■基于ATSAM3U4E的MP3播放器解决方案源代码


支持设备:
CoOS支持所有ARM Cortex M3和Cortex M0器件,以下仅列出一些最常用的芯片:
■Atmel ATSAM3U系列
■Energy Micro EFM32系列
■Luminary LM3S系列
■Nuvoton NUC系列
■NXP LPC17xx LPC13xx LPC11xx系列
■ST STM32系列
■Toshiba TMPM330系列


要获得免费CooCox CoOS 实时操作系统的源代码,请单击下面的“下载”:
  通过CoCenter下载 (推荐)
  直接下载  
* 如果您已经安装了CooCox CoCenter,那么您可以从您本地的CoCenter直接下载上述软件。

出0入0汤圆

发表于 2011-2-13 18:29:31 | 显示全部楼层
是国产的吧?

出0入0汤圆

发表于 2011-2-13 22:00:17 | 显示全部楼层
如果确实是国产的,支持国产!
中国也应该有自己的OS,不是吗?

出0入0汤圆

发表于 2011-2-13 22:01:28 | 显示全部楼层
老实说,支持归支持,问题是稳定不稳定?

出0入0汤圆

发表于 2011-2-13 22:10:34 | 显示全部楼层
英蓓特的吧

出0入0汤圆

发表于 2011-2-13 22:12:40 | 显示全部楼层
应该是英贝特开源的

出0入0汤圆

发表于 2011-2-14 18:33:10 | 显示全部楼层
不知道是不是?
不过我看,确实做的还可以。
昨天晚上下载下来,
资料很全。
从风格上讲,应该是国内做的。


嵌入式行业新品牌:


(原文件名:未命名.jpg)

出0入0汤圆

发表于 2011-7-26 15:27:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-29 14:29:17 | 显示全部楼层
楼主咋不给链接捏?
http://www.coocox.org/CN/CoOS.htm

出0入0汤圆

发表于 2011-7-29 14:37:59 | 显示全部楼层
稳定性直接决定最终产品的质量。在这一方面,uCOSII因任务调度算法的事件响应时间都为常数,加之其流传甚广,其稳定性已无可挑剔。

有朋友曾经在同一个开发板上移植了基于Keil RTX、uCOSII及CooCox CoOS这三种操作系统的同一个算法,CooCox CoOS和uCOSII均能正常运行,而Keil RTX则会在运行一段时间后出现堆栈溢出的现象。在试验过程中暂未发现其他问题,但就这次试验而言,CooCox CoOS在稳定性方面还是要胜于Keil RTX的。

由于FreeRTOS应用比较复杂,故暂未做评估,但据某论坛上说,FreeRTOS在设置成中等优化的时候就会出现问题。若此种说法属实,其稳定性相比其他三种应该是最差的。

出0入0汤圆

发表于 2011-8-1 21:15:40 | 显示全部楼层
武汉理工大学UP团队的鼎力作品,值得拥有,我就在用,效果不错

出0入0汤圆

发表于 2011-9-4 22:04:46 | 显示全部楼层
这个OS的稳定度,测试的情况很少啊!

出0入0汤圆

发表于 2011-9-5 00:05:35 | 显示全部楼层
问一下,有没有支持KEIL或者IAR的例子

出0入0汤圆

发表于 2012-2-9 15:05:13 | 显示全部楼层
谢谢,记下了!

出0入25汤圆

发表于 2012-2-9 17:32:58 | 显示全部楼层
在学习使用中,跟uCOSII挺像,容易使用,至于说是不是稳定,我也不知道,不过学些而已,稳不稳定没多大关系。。。


不过日后产品要是想使用RTOS的话,还真是个麻烦事:uCOSII倒是稳定,就怕用了之后被告就麻烦了!!!所以,不稳定的不敢用,稳定的更不敢用——要是老板肯掏钱自然就没有这个顾虑了。。。

出0入0汤圆

发表于 2012-2-10 18:45:44 | 显示全部楼层
嵌入式os简单为好。另外有太多模仿ucosii的内核了。看看ucosii的作者怎么的:“请不要模仿出类似的产品”

出0入0汤圆

发表于 2012-2-10 19:59:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-11 18:00:36 | 显示全部楼层
回复【楼主位】eworker  
-----------------------------------------------------------------------

前年就在网上看到CooCox,只是关注,没有用过

出0入0汤圆

发表于 2013-9-12 17:39:13 | 显示全部楼层
我用过,感觉coos就是ucos的山寨版......

出0入0汤圆

发表于 2013-9-13 12:48:42 | 显示全部楼层
你就用ucos呗,资料也多,出现问题了也容易解决。

出0入76汤圆

发表于 2013-11-14 18:51:05 | 显示全部楼层
确实挺像uCOS的。

出0入0汤圆

发表于 2014-4-28 11:39:07 | 显示全部楼层
NUC120在COOS中打开串口0中断,接收到数据后就一直在中断里循环跳不出来.使用手册上说可以像无操作系统一样使用中断回调函数的,请教是什么原因造成的?附上程序.
#include <stdio.h>
#include <CoOS.h>                                                 /*!< CooCox RTOS header file.*/
#include "INIT.h"
#include "NUC1xx.h"

/*---------------------------------- Define  ---------------------------------*/
#define TASK_STK_SIZE                128                         /*!< Define stack size.                                  */

#define        LEDTASK_PRI                 2                           /*!< Priority of 'time_set' task.          */
#define KEYTASK_PRI                    3                        /*!< Priority of 'tcd_blink' task.          */
#define UART0TASK_PRI                4                        /*!< Priority of 'display_adc' task.  */
#define UART1TASK_PRI                 5                           /*!< Priority of 'tart_print' task.          */
/*---------------------------------- Variable Define -------------------------*/
OS_STK   LEDTASK_Stk[TASK_STK_SIZE];                 /*!< Stack of 'task_init' task.          */
OS_STK   KEYTASK_Stk[TASK_STK_SIZE];        /*!< Stack of 'lcd_display_adc' . */
OS_STK   UART0TASK_Stk[TASK_STK_SIZE];                /*!< Stack of 'uart_print' task.  */
OS_STK   UART1TASK_Stk[TASK_STK_SIZE];          /*!< Stack of 'led_display' task. */
void LEDTASK(void *pdata)
{
        pdata = pdata;
        for (;;)
                {
                DrvGPIO_ClrBit(E_GPA, 5);
                CoTickDelay (5);
                DrvGPIO_SetBit(E_GPA, 5);
                CoTickDelay (5);
                }
}
void KEYTASK(void *pdata)
{
        pdata = pdata;
        for (;;)
                {
                if(DrvGPIO_GetBit(E_GPB,14)==0)
                        {
                        DrvGPIO_ClrBit(E_GPA, 4);
                        }
                else
                        {
                        DrvGPIO_SetBit(E_GPA, 4);
                        }
                CoTickDelay (1);
                }
}
void UART0TASK(void *pdata)
{
        pdata = pdata;
        for (;;)
                {
                //DrvUART_Write(UART_PORT0,"UART0TASK RUN",13);
                CoTickDelay (10);
                }
}
int main()
{
        Init();
        CoInitOS();
        CoCreateTask(LEDTASK, (void *)0, LEDTASK_PRI,&LEDTASK_Stk[TASK_STK_SIZE-1], TASK_STK_SIZE);
        CoCreateTask(KEYTASK, (void *)0, KEYTASK_PRI,&KEYTASK_Stk[TASK_STK_SIZE-1], TASK_STK_SIZE);
        CoCreateTask(UART0TASK, (void *)0, UART0TASK_PRI,&UART0TASK_Stk[TASK_STK_SIZE-1], TASK_STK_SIZE);
        CoStartOS();

        while (1);
}
void UART0_Callback(uint32_t u32IntStatus)
{

        int16_t revchar;
                        CoEnterISR();
                        if(u32IntStatus&DRVUART_RDAINT)
                        {
                                while(UART0->ISR.RDA_IF==1)
                                {
                                DrvGPIO_ClrBit(E_GPA, 3);
                                revchar=_DRVUART_RECEIVEBYTE(UART_PORT0);
                                _DRVUART_SENDBYTE(UART_PORT0,revchar);
                                }
                        }
                        CoExitISR();
}

出0入0汤圆

发表于 2015-7-15 15:55:41 | 显示全部楼层
coOS和uCosi很像,但是要注意很多细节。很多时候系统调用会返回失败,原因还没有仔细推敲过。

出0入0汤圆

发表于 2016-4-23 22:04:35 | 显示全部楼层
coocox今天才听说过。。。。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 16:37

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

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