当前位置:首页 > > strongerHuang
[导读]关注星标公众号,不错过精彩内容作者|strongerHuang微信公众号 | 嵌入式专栏我想在单片机上,不跑操作系统,在需要处理一些业务逻辑时,还需要检测按键短按、长按、多个按键同时按下,我要如何实现?如果在业务逻辑比较复杂的情况下,不跑操作系统,这个问题其实是一个“很难”的问题...


关注 星标公众,不错过精彩内容



作者 | strongerHuang


微信公众号 | 嵌入式专栏



我想在单片机上,不跑操作系统,在需要处理一些业务逻辑时,还需要检测按键短按、长按、多个按键同时按下,我要如何实现?
如果在业务逻辑比较复杂的情况下,不跑操作系统,这个问题其实是一个“很难”的问题,在单线程(裸机)情况下,处理多件事情,这个处理逻辑必须要严谨才行,否则很有可能“卡机”或“死机”。
但是,有了操作系统,这个问题就不是问题了
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位多种处理器。





更多内容请参看官网:


http://atomthreads.com


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



源码简介


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


https://github.com/kelvinlawson/atomthreads




内核函数接口:




支持Port




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




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


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





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭