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

    文章

    19156

    浏览量

    229075
  • 操作系统
    +关注

    关注

    37

    文章

    6734

    浏览量

    123184
  • RTOS
    +关注

    关注

    21

    文章

    809

    浏览量

    119414
  • STM8单片机
    +关注

    关注

    0

    文章

    65

    浏览量

    10151
收藏 人收藏

    评论

    相关推荐

    国产实时操作系统:和RT-Linux,Zephyr的实时性对比

    RT-Thread工业领域、高安全高可靠性领域,实时操作系统在其中发挥着重要的作用,从毫秒级,微秒级实时响应,决定着装置系统能满足何种严苛
    的头像 发表于 11-12 01:07 307次阅读
    国产<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>:和RT-Linux,Zephyr的<b class='flag-5'>实时</b>性对比

    linux是实时系统还是分时操作系统

    大家平时玩单片机基本对于µC/OS、FreeRTOS、ThreadX这些操作系统非常熟悉了,他们都属于实时操作系统(RTOS),工业领域
    的头像 发表于 11-11 11:43 296次阅读

    ARM开发板实时操作系统介绍

    现代电子设备中,嵌入式系统扮演着越来越重要的角色。ARM处理器因其低功耗、高性能的特点,成为了许多嵌入式系统的首选平台。 实时
    的头像 发表于 11-05 11:34 279次阅读

    简单认识RTOS实时操作系统

    RTOS(Real Time Operating System,实时操作系统)是种专门设计用于严格时间限制内处理任务的操作系统。它以其高
    的头像 发表于 08-20 11:20 2348次阅读

    3568F-翼辉SylixOS国产操作系统演示案例

    SylixOS简介 SylixOS是“翼辉信息”开发的一款国产开源大型实时操作系统,内核自主化率达10 0%(据工信部评估报告),具有完全自主可控的技术能力,可满足广大用户国产化需求。 SyixOS
    发表于 07-25 15:52

    实时芯资讯:Core i7-9700TE与鸿道Intewell实时操作系统适配

    快速发展的工业数字化时代,高性能的处理器与先进的工业操作系统之间的适配性成为了企业实现智能制造与数字化转型的关键。英特尔Core i7-9700TE 是一款高性能处理器,具备多核心设计和高计算能力
    的头像 发表于 07-18 17:46 248次阅读

    嵌入式实时操作系统:Intewell操作系统与VxWorks操作系统有啥区别

    Intewell操作系统和VxWorks操作系统都是工业领域常用的操作系统,它们各有特点和优势。以下是它们之间的些主要区别:
    的头像 发表于 07-08 14:16 368次阅读
    嵌入式<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>:Intewell<b class='flag-5'>操作系统</b>与VxWorks<b class='flag-5'>操作系统</b>有啥区别

    请问STM32上有跑RTOS实时操作系统的吗?

    亲们最近在鼓捣实时操作系统,有什么好的经验请不吝赐教,嘿嘿。 我摸索uT/OS。社区有STM32几芯片
    发表于 05-16 07:16

    微内核实时操作系统的介绍

    微内核实时操作系统(Microkernel Real-Time Operating System, μRTOS)是种专为实时设计的操作系统
    的头像 发表于 05-11 17:13 468次阅读

    实时、高可靠的微内核操作系统——鸿道Intewell

    鸿道Intewell操作系统源于1990年诞生的“道”操作系统,与“道”系统一脉相承,历经30年的不懈努力和研发迭代,功能和性能上已经可以
    的头像 发表于 05-07 17:01 407次阅读
    高<b class='flag-5'>实时</b>、高可靠的微内核<b class='flag-5'>操作系统</b>——鸿道Intewell

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

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

    再谈嵌入式实时操作系统

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

    个成熟且可靠的开源实时操作系统

    市场上有许多专有和开源实时操作系统(RTOS)。ThreadX已经以其对小代码大小和高性能的关注而闻名。然而,它的竞争优势远远超出了这些属性。
    的头像 发表于 02-20 12:26 811次阅读

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

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