0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-07 16:10 次阅读

前面有朋友大概了问了这样一个问题:我想在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位多种处理器

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

https://www.osrtos.com

3源码简介

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

源码下载地址:

https://github.com/kelvinlawson/atomthreads

内核函数接口:

支持Port

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18298

    浏览量

    222286
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121901
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118802
  • STM8单片机
    +关注

    关注

    0

    文章

    65

    浏览量

    10104
收藏 人收藏

    评论

    相关推荐

    带你认识实时操作系统(rtos)

    实时操作系统(RTOS)是为嵌入式系统实时应用提供一个稳定、可预测和高效运行环境的操作系统
    的头像 发表于 04-16 16:30 140次阅读
    带你认识<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>(rtos)

    再谈嵌入式实时操作系统

    由于嵌入式处理器早期功能单一且运算能力不高,嵌入式应用已不能满足各个领域不断增长的需求。嵌入式操作系统应运而生,嵌入式操作系统可以支持新时代复杂、多任务环境和功能的嵌入式应用程序。嵌入式操作系
    的头像 发表于 04-09 17:27 217次阅读
    再谈嵌入式<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>

    详解实时操作系统和非实时操作系统

    实时操作系统,当外界事件和数据产生时,系统能以足够快的速度予以处理,其处理结果能在规定的时间内控制生产结果或对系统做出响应,并控制所有实时
    的头像 发表于 12-26 09:54 1915次阅读
    详解<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>和非<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>

    LabVIEW不同操作系统使VI、可执行文件或安装程序

    LabVIEW不同操作系统使VI、可执行文件或安装程序 LabVIEW可以多个操作系统
    发表于 12-02 21:47

    什么是实时操作系统(RTOS)

    实时操作系统(RTOS)是一种专为实时应用程序设计的操作系统实时应用程序需要在特定时间内做出预测的响应,因此 RTOS 专注于提供对时间约
    的头像 发表于 11-23 17:14 1670次阅读

    实时操作系统的滴答Tick设置多少才合适?

    是指操作系统运行一次的时间。在实时操作系统中,Tick的设置是一个非常关键的问题。合适的Tick设置可以提高
    的头像 发表于 10-29 16:33 535次阅读

    到底啥是实时操作系统呢?它到底实时实时呢?

    在于,它不仅会控制硬件,而且还可以提供必要的保障,确保所有任务可以按时完成。 实时操作系统可根据其实时条件分为硬
    的头像 发表于 10-29 16:33 732次阅读

    如何判断自己的应用需要实时操作系统

    无线,WIFI无线。主要是数据采集,多种通信规约转换。 请问怎么判断自己的设备需要实时操作系统实时操作系统中,ucos、freertos
    发表于 10-28 08:12

    开源操作系统大全

    程序。 2、ToAruOS ToAruOS 是个由伊利诺伊大学计算机科学本科生开发的业余爱好操作系统,其代码托管 GitHub 。ToAruOS 可在 P OSIX 和 x86
    发表于 10-27 15:13

    实时操作系统应用上有什么区别?

    实时操作系统应该就是FreeRTOS、UCOS、RT-T这些吧。 这些系统有没有级别区分,就是哪个功能更丰富、实时性更好的说法。
    发表于 10-24 07:01

    STM8低功耗模式下可以降低主频运行吗?

    STM8低功耗模式下可以降低主频运行
    发表于 10-11 06:57

    鸿蒙操作系统的前世今生

    研发鸿蒙操作系统的号角。 2019年8月9号,华为正式发布了HarmonyOS 1.0,该系统率先部署智慧屏。2019年
    发表于 10-08 19:55

    嵌入式操作系统IJLC/OS通信电源监控中应用

    的查询分析和统计等功能也必不可少。通信电源设备运行参数多,实时效果强,设备当中选择功能强大的控制芯片.应用嵌入式操作系统.使其尽可能地发挥出强大的软件控制功能,满足用户对通信电源控制
    发表于 09-20 06:46

    多个任务程序如何在RTX实时操作系统运行

    - EVB - NUC240 - LQFP100 V1.0 Keil RTX(实时电子X)是为ARM和Cortex M系列处理器开发的实时操作系统,它提供了个环境,用户
    发表于 08-22 08:18

    FreeRTOS:一个迷你的实时操作系统内核

    、协程等,可基本满足较小系统的需要。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单
    的头像 发表于 06-29 17:15 523次阅读
    FreeRTOS:一个迷你的<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>内核