一款可以在STM8上运行的实时操作系统Atomthreads

置顶公众,不错过每一条消息!

640?wx_fmt=png

    前面有朋友大概了问了这样一个问题:我想在STM8单片机上,不跑操作系统,在需要处理一些业务逻辑时,还需要检测按键短按、长按、多个按键同时按下,我要如何实现?


不跑操作系统,这个问题其实是一个“很难”的问题,在单线程(裸机)情况下,处理多件事情,这个逻辑处理必须要严谨才行。


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

1写在前面

在不跑操作系统的情况,我曾经也用STM8单线程(逻辑)处理过相对复杂的业务逻辑:检测键盘(短按、长按)、控制显示、检测信号、串口收发通信等......

虽然那些复杂的业务逻辑功能实现了,但开发的时间和周期,以及后期更新、维护的成本可想而知。

所以,本文针对资源较小的STM8,推荐大家使用一款轻量级的实时操作系统Atomthreads。

到底有多轻量级?

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

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


为什么不选择STM32呢?

因为产品成本控制。我曾经也在想,为什么不选择一个资源大一点,而且速度快一点的STM32来开发呢,便宜的STM32也就两三元钱,但便宜的STM8就一块多钱。


说到STM8价格,不得不说51单片机,51单片机价格可以说是STM8的好几倍,而且资源也没有STM8丰富。据我了解,还有很多老一辈工程师还在使用51单片机(AT89C51、STC89C51等)。


所以,如果你在学习51开发,有必要学习一下STM8开发。因为做产品的话,STM8比51明显有优势


2

Atomthreads介绍

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


主要特征

  • 具有操作系统该有的功能:优先级抢占、信号量、队列、计时器等

  • 轻量级:整个操作系统就几个C文件

  • 高度可移植的ANSI C代码,不依赖于任何编译器

  • 易于阅读,源代码提供丰富的注释

  • 可以使用单个体系结构特定模块移植到任何CPU体系结构


支持的CPU架构

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

640?wx_fmt=png

更多内容请参看官网:

http://atomthreads.com

提示:公众号不支持外链接,请复制链接到浏览器打开)


经常关注过我分享的朋友会发现,Atomthreads也在以前分享过的RTOS列表中:

https://www.osrtos.com

640?wx_fmt=png

3源码简介

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


源码下载地址:

https://github.com/kelvinlawson/atomthreads


内核函数接口:

640?wx_fmt=png

支持Port

640?wx_fmt=png

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


最好做一个调查吧:




推荐阅读

1.MAVLink学习之路01_认识MAVLink

2.MAVLink学习之路02_工具下载、环境搭建

3.MAVLink学习之路03_XML中定义MSG并生成C代码

4.MAVLink学习之路04_MAVLink移植到STM32具体步骤

5.MAVLink学习之路05_MAVLink应用编程接口分析

4最后

若觉得文章对你有帮助,记得点赞、分享。(一个赞代表一份认可


扫描下面二维码、关注,在底部菜单中查看更多精彩内容!

640?wx_fmt=jpeg

长按识别图中二维码关注


640

赞赏是对作者的认可与支持!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

strongerHuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值