Version 6



    CoOS is a free and open RTOS from CooCox, designed specifically for Cortex-M processor, supports preemptive priority and round-robin, Semaphore, Mutex, Flag, Mailbox and Queue for communication & synchronization, highly scalable, minimum system kernel is only 974Bytes, supports interrupt while task switching, supports stack overflow detection, supports the platforms of ICCARM, ARMCC, GCC. CoOS is also free and open-source for business users.



    In CooCox CoIDE, CoOS is a component, user can add CoOS source code to their project only by clicking CoOS component and then could use it after modifying its task number, stack, system clock frequency and other corresponding configurations in the OS_Config.h configuration file according to their project. By viewing and trying the CoOS examples shown in Example window, anyone can easily achieve the application programming of CoOS.




    • Free and open real-time Operating System
    • Specially designed for Cortex-M series
    • Scalable, minimum system kernel is only 974Bytes
    • Adaptive Task Scheduling Algorithm.
    • Supports preemptive priority and round-robin
    • Interrupt latency is next to 0
    • Stack overflow detection option
    • Semaphore, Mutex, Flag, Mailbox and Queue for communication & synchronisation
    • Supports the platforms of ICCARM, ARMCC, GCC



    Technical Specifications

    Time Specifications:


    N FunctionTime (No Robin / Robin)
    Create defined task, no task switch5.3us / 5.8us
    Create defined task, switch task7.5us / 8.6us
    Delete task (ExitTask)4.8us / 5.2us
    Task switch (SwitchContext)1.5us / 1.5 us
    Task switch (upon set flag)7.5us / 8.1us
    Task switch (upon sent semaphore)6.3us / 7.0us
    Task switch (upon sent mail)6.1us / 7.1us
    Task switch (upon sent queue)7.0us / 7.6us
    Set Flag (no task switch)1.3us / 1.3us
    Send semaphore (no task switch)1.6us / 1.6us
    Send mail (no task switch)1.5us / 1.5us
    Send queue (no task switch)1.8us / 1.8us
    Maximum interrupt lockout for IRQ ISR's0 / 0



    Space Specifications:


    RAM Space for Kernel168 Bytes
    Code Space for Kernel974 Bytes
    RAM Space for a Task

    TaskStackSize + 24 Bytes(MIN)

    TaskStackSize + 48 Bytes(MAX)

    RAM Space for a Mailbox16 Bytes
    RAM Space for a Semaphore16 Bytes
    RAM Space for a Queue32 Bytes
    RAM Space for a Mutex8   Bytes
    RAM Space for a User Timer24 Bytes


    * The data for CoOS kernel is measured for STM32F103RB CPU with the system clock setting to 72 MHz, code execution from internal flash, with Flash Latency 2 wait states and the Prefetch Buffer enabled.


    Back to top

    Supported Device

    CoOS supports all ARM Cortex M3 and Cortex M0 based devices, here only lists some of the most commoused:

    • ST STM32 Series
    • Atmel ATSAM3U Series
    • NXP LPC17xx LPC13xx LPC11xx Series 
    • Toshiba TMPM330 Series
    • Luminary LM3S Series
    • NuvotoNUC1xx Series
    • Energy Micro EFM32 Series


    Back to top


    Back to top


    Technical Documents

    Learning Center

    User GuideCooCox: User Guide for CooCox CoOS Operating System
    User GuideCooCox: User Guide for CooCox CoIDE Development Tool


    Design Elements

    CoOS V1.1.4

    Download 664KB


    Back to top