8位单片机轻松跑RTOS操作系统

cathy的头像

我想在单片机上,不跑操作系统,在需要处理一些业务逻辑时,还需要检测按键短按、长按、多个按键同时按下,我要如何实现?

如果在业务逻辑比较复杂的情况下,不跑操作系统,这个问题其实是一个“很难”的问题,在单线程(裸机)情况下,处理多件事情,这个处理逻辑必须要严谨才行,否则很有可能“卡机”或“死机”。

但是,有了操作系统,这个问题就不是问题了。

8位单片机能跑RTOS吗?

针对上面的问题,肯定又有人会问:8位单片机能跑RTOS吗?

现在8位单片机的资源相对以前更多了,跑RTOS完全没有问题。

还有,在8位单片机上跑RTOS会有意义吗?

针对本文开篇说的问题,就有意义,也有必要。如果跑裸机,虽然那些复杂的业务逻辑功能实现了,但开发的时间和周期,以及后期更新、维护的成本可想而知。

下面分享一款可以在 STM8 运行的轻量级的实时操作系统Atomthreads。

Atomthreads介绍

Atomthreads是一款免费的轻量级实时操作系统,适用于RAM和ROM资源较小的嵌入式系统。Atomthreads在开源BSD许可下发布的,可以不受限制地免费商用。

到底有多轻量级?

能支持最小资源(1K RAM,8K ROM)STM8运行五六个线程,可以说问题不大。

如果你的应用程序对RAM占用量很小,可以运行更多线程,当然,线程多少不是问题,能合理处理各项业务逻辑才是关键。

主要特征

  • 具有操作系统该有的功能:优先级抢占、信号量、队列、计时器等
  • 轻量级:整个操作系统就几个C文件
  • 高度可移植的ANSI C代码,不依赖于任何编译器
  • 易于阅读,源代码提供丰富的注释
  • 可以使用单个体系结构特定模块移植到任何CPU体系结构

支持的CPU架构

从8位微控制器到32位多种处理器。

“8位单片机轻松跑RTOS操作系统"

更多内容请参看官网:

http://atomthreads.com

源码简介

Atomthreads内核虽小,但该有的都有。而且源码提供众多例程,方便初学者学习。

源码下载地址:

https://github.com/kelvinlawson/atomthreads

内核函数接口:

“8位单片机轻松跑RTOS操作系统"

支持Port

“8位单片机轻松跑RTOS操作系统"

因为Atomthreads是一款非常轻量级的实时操作系统,不像FreeRTOS、RT-Thread、μC/OS等,没有文件系统、网络、CLI等一些组件。所以,Atomthreads不适合于实现复杂功能的嵌入式系统。

最后,分享一下移植好的Demo下载地址:

https://pan.baidu.com/s/1MC8dPjyyxm4cgHfCOOrmtg
提取码:f36g

来源:嵌入式专栏(作者 | strongerHuang)
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。