- BSD 3 许可证.
- 协作式OS, 纯C语言编写, 使用方便, 便于移植.
- 可动态添加或删除任务, 易于使用和理解的任务延时方案.
- 支持优先级, 支持信号量, 支持多任务及任务动态内存
- 任务支持HSM, 多层状态机
- 极低的硬件需求, 以GCC无优化(o0), 默认的8个任务为例:
EZOS模块 | FLASH (Bytes) | RAM (Bytes) |
---|---|---|
核心模块 | 1000 | 200 |
IPC 功能 | 100 | 50 |
MEM 功能 | 450 | 50 |
ASSERT 功能 (调试用) | 200 | 0 |
TEST 功能 (调试用) | 250 | 50 |
LOG 功能 (调试用) | 3000 (调用 printf 引起的) | 100 |
- 移植注意事项:
- 将
ezos_tick_irq()
放入系统定时中断内 - main 函数内, 先禁止中断, 在调用
ezos_init()
后再打开中断. - 完成所有的初始化工作后, 使用
task_add()
添加一个任务. - 最后调用
ezos_schedule()
, 这是一个死循函数, 会自动执行就绪态的任务. - 进入
ezos_cfg.h
根据实际的需求调整相关配置, 设定任务名称和任务.
- 将
- 更多用法见任务范例.