36 Star 242 Fork 56

zevorn / AntOS

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

AntOS

介绍

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倍以上,还在做相关的优化,争取进一步提高速度!

约束

  1. AntOS,不支持函数可重入(受51内核架构限制)
  2. 仅支持抢占式调度,不支持时间片调度
  3. 不允许多线程同优先级

快速上手

准备工具

编译器

KeilC51-V901完整版,或仅使用其编译工具链

代码编辑器

推荐使用Vscode 或 source insight,如果你没有用过这两个软件,直接使用Keil即可。

烧录软件

根据使用的MCU,去下载对应的烧录软件。 比如我现在使用的是STC公司的芯片,那么我需要准备STC-ISP烧录助手。

获取源码

下载源代码的方式有很多,可以使用Git克隆

git clone https://gitee.com/zevorn/antos.git

也可以在Gitee仓库直接点击「克隆/下载」。

使用说明

目前AntOS的开发进度在内核层,主要聚焦在「内核子系统」。已经完成了线程操作、动态内存管理、面向对象的管理框架。由于51资源受限,所以还在对已完成的部分进行深度优化,尽最大可能保证稳定性和较小的ROM占用。

你可以下载尝鲜,仅适用于学习,还未经过商业验证稳定性。

注意事项

  1. 尽量在线程入口函数内调研操作系统的API,而不是在线程内子函数里调用。比如挂起、休眠等API,在线程入口函数里调用,会减少堆栈的切换成本。

参与贡献

  1. Fork 本仓库
  2. 提交代码
  3. 新建 Pull Request
  4. 星标本仓库

Repository Comments ( 27 )

Sign in to post a comment

About

超轻量级实时操作系统,适合在8051为内核的MCU上运行,专门为小型家电及简易物联网终端设计。 expand collapse
C and 3 more languages
Apache-2.0
Cancel

Releases

No release

AntOS

Contributors

All

Activities

Load More
can not load any more
C
1
https://git.oschina.net/zevorn/antos.git
git@git.oschina.net:zevorn/antos.git
zevorn
antos
AntOS
new_framework

Search