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,使能预取指缓冲。