Ant Real-time operating system(简称AntOS),是一款超轻量级实时操作系统,抢占式调度极简内核,专门为小型家电及轻量型物联网终端设计,适合在8051为内核的MCU上运行。现在开源beta版本,用于测试。
如果你从来没有使用过RTOS,那么AntOS将是你低成本入门RTOS的最佳选择。你只需要准备一块51的MCU和下载器,就可以轻松运行起来AntOS。核心源码采用了中英文互译注释,让你阅读和理解源码没有任何障碍,轻松学习RTOS的核心原理。
开源项目QQ交流群:
1001220381
,欢迎加群找我摸鱼~
希望大家可以给我一个Star!这将会是我持续更新的动力!
AntOS提供层级服务,可以进行任意裁剪。内核层包含两个子系统,提供AntOS最基本的功能;服务层对内核层进行封装,提供组件和服务;应用层提供给发者编写业务逻辑,同时提供移植第三方软件包的接口。
AntOS将尽量遵循POSIX标准来编写内核层,以便提高移植性,为后续产品升级减少开发成本。
测试形式为:创建两个线程,线程内做IO翻转。
硬件平台 | 系统时钟频率 | 线程切换消耗时间 | 同比UCOS-II |
---|---|---|---|
STC8 | 24M | 70us | 120us |
STC8 | 27M | 64us | 109us |
STC8 | 45M | 38us | 63us |
STC8 | 48M | 35us | 58us |
STC16 | 24M | 12us | --- |
STC16 | 27M | 11us | --- |
STC16 | 45M | 6.5us | --- |
... | ... | ... | ... |
同比UCOS-II(51移植版本),要快1.7~2倍以上,还在做相关的优化,争取进一步提高速度!
- AntOS,不支持函数可重入(受51内核架构限制)
- 仅支持抢占式调度,不支持时间片调度
- 不允许多线程同优先级
KeilC51-V901完整版,或仅使用其编译工具链
推荐使用Vscode 或 source insight,如果你没有用过这两个软件,直接使用Keil即可。
根据使用的MCU,去下载对应的烧录软件。 比如我现在使用的是STC公司的芯片,那么我需要准备STC-ISP烧录助手。
下载源代码的方式有很多,可以使用Git克隆
git clone https://gitee.com/zevorn/antos.git
也可以在Gitee仓库直接点击「克隆/下载」。
目前AntOS的开发进度在内核层,主要聚焦在「内核子系统」。已经完成了线程操作、动态内存管理、面向对象的管理框架。由于51资源受限,所以还在对已完成的部分进行深度优化,尽最大可能保证稳定性和较小的ROM占用。
你可以下载尝鲜,仅适用于学习,还未经过商业验证稳定性。
- 尽量在线程入口函数内调研操作系统的API,而不是在线程内子函数里调用。比如挂起、休眠等API,在线程入口函数里调用,会减少堆栈的切换成本。
- Fork 本仓库
- 提交代码
- 新建 Pull Request
- 星标本仓库