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

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

3天内不再提示

一款轻量级的实时操作系统Atomthreads

5RJg_mcuworld 来源:未知 作者:李倩 2018-09-12 16:40 次阅读

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

更多内容请参看官网:

http://atomthreads.com

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

https://www.osrtos.com

3源码简介

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

源码下载地址:

https://github.com/kelvinlawson/atomthreads

内核函数接口:

支持Port

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

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

    关注

    6030

    文章

    44507

    浏览量

    632440
  • 操作系统
    +关注

    关注

    37

    文章

    6718

    浏览量

    123165

原文标题:在STM8跑个轻量级操作系统,很多复杂问题可以迎刃可解!

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FreeRTOS嵌入式实时操作系统

      1 FreeRTOS操作系统功能   作为轻量级操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系
    发表于 07-06 11:07 6570次阅读
    FreeRTOS嵌入式<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>

    RT-Thread内部机制大揭秘,带你深入操作系统内核

    、RT-Thread概述RT-Thread是一款具有显著优势的开源嵌入式实时操作系统。它不仅具备轻量级
    的头像 发表于 08-01 08:11 2904次阅读
    RT-Thread内部机制大揭秘,带你深入<b class='flag-5'>操作系统</b>内核

    基于Openharmony轻量级操作系统的分布式数据管理开发案例

    实验内容本例程演示如何在小凌派-RK2206开发板上使用OpenHarmony轻量级操作系统进行KvStore(即分布式数据管理)数据读写。例程:(1)创建两个线程,个负责写入KvStore存储
    的头像 发表于 08-07 08:23 825次阅读
    基于Openharmony<b class='flag-5'>轻量级</b><b class='flag-5'>操作系统</b>的分布式数据管理开发案例

    为了学习内核开发,大佬手搓了轻量级操作系统YiYiYa OS

    作者:evilbinary(鸭佬) YiYiYa操作系统个朴实无华的操作系统,追求快速开发,最小实现,同时遵循SOLID原则。编码简洁明了,非常适合学习操作系统的同学。目前既有
    发表于 08-30 14:57

    创建51轻量级操作系统

    创建51轻量级操作系统
    发表于 09-29 09:58

    实时操作系统RTOS有什么要点?

    实时操作系统(non-RTOS)的任何场合,也都可采用RTOS。但是,要找到一款具有完全相同应用编程接口(API)的匹配RTOS就相当困难了。因此,许多传统的操作系统(OS)在其内嵌
    发表于 04-01 07:48

    分享一款Linux操作系统

    摘要:在嵌入式技术迅速普及的今天,Linux操作系统,由于其开放源代码,高稳定性和低成本等特性,非常适合于嵌入式系统的开发,成为了嵌入式领域里发展最快的操作系统.改进通用Linux操作系统
    发表于 11-04 06:00

    嵌入式实时操作系统的相关资料分享

    实时操作系统内核。属于轻量级操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统
    发表于 01-24 06:44

    基于RT-Thread操作系统衍生rt-smart实时操作系统简介

    执行。rt-smart 是一款高性能混合微内核操作系统,在传统嵌入式操作系统划分中,rt-smart 能够填补传统 RTOS 和大型操作系统 Linux 之间的空白,在
    发表于 06-22 17:56

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

    一款可以在STM8上运行的实时操作系统Atomthreads
    的头像 发表于 03-07 16:10 3740次阅读

    实时操作系统的特点_实时操作系统的组成

    本文主要阐述了实时操作系统的特点及组成。实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理
    发表于 09-01 16:48 5052次阅读

    实时操作系统和非实时操作系统的区别

    本文主要阐述了实时操作系统和非实时操作系统的区别。
    发表于 09-02 15:58 1.1w次阅读

    实时操作系统Free RTOS的详细介绍

    实时操作系统Free RTOS 简介 FreeRTOS是个迷你的实时操作系统内核。作为
    发表于 06-21 14:30 6146次阅读

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

    ** 1、FreeRTOS** FreeRTOS是个迷你的实时操作系统内核。作为轻量级操作系统
    的头像 发表于 06-29 17:15 948次阅读
    FreeRTOS:<b class='flag-5'>一</b>个迷你的<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>内核

    介绍一款轻量级的RISC-V解释型模拟器

    XEMU 是一款轻量级的 RISC-V 解释型模拟器,基于 C 语言实现,支持 RV32IM 指令集,支持简单外设模拟
    的头像 发表于 07-22 14:25 1839次阅读
    介绍<b class='flag-5'>一款</b><b class='flag-5'>轻量级</b>的RISC-V解释型模拟器