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

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

3天内不再提示

STM32开发中的五大嵌入式系统

MCU开发加油站 来源:STM32嵌入式开发 作者:STM32嵌入式开发 2021-01-18 16:51 次阅读

技术往往更新得非常快,并且总是让我们觉得学起来有难度而且有些迷茫。不过没有关系我们发烧友专注于在快乐中学习,要学习STM32,我们首先了解下五大嵌入式操作系统:μClinux、μC/OS-II、eCos、FreeRTOSRT-thread

μClinux

μClinux是一种优秀的嵌入式Linux版本,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。

μClinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。

因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。μClinux对文件系统支持良好,由于μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。μClinux最大特点在于针对无MMU处理器设计,这对于没有MMU功能的STM32F103来说是合适的,但移植此系统需要至少512KB的RAM空间,1MB的ROM/FLASH空间,而STM32F103拥有256K的FLASH,需要外接存储器,这就增加了硬件设计的成本。

6e19850e-445e-11eb-8b86-12bb97331649.png

μClinux结构复杂,移植相对困难,内核也较大,其实时性也差一些,若开发的嵌入式产品注重文件系统和与网络应用则μClinux是一个不错的选择。

μC/OS-II

μC/OS-II是在μC/OS的基础上发展起来的,是用C语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点。

6ec43de6-445e-11eb-8b86-12bb97331649.png

对于实时性的满足上,由于μC/OS-II内核是针对实时系统的要求设计实现的,所以只支持基于固定优先级抢占式调度;调度方法简单,可以满足较高的实时性要求。μC/OS-II中断处理比较简单。

一个中断向量上只能挂一个中断服务子程序ISR,而且用户代码必须都在ISR(中断服务程序)中完成。ISR需要做的事情越多,中断延时也就越长,内核所能支持的最大嵌套深度为255。

μC/OS-II是一个结构简单、功能完备和实时性很强的嵌入式操作系统内核,针对于没有MMU功能的CPU,它是非常合适的。它需要很少的内核代码空间和数据存储空间,拥有良好的实时性,良好的可扩展性能,并且是开源的,网上拥有很多的资料和实例,所以很适合向STM32F103这款CPU上移植。

eCos

eCos,即嵌入式可配置操作系统。它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

eCos操作系统的可配置性非常强大,用户可以自己加入所需的文件系统。eCos操作系统同样支持当前流行的大部分嵌入式CPU,eCos操作系统可以在16位、32位和64位等不同体系结构之间移植。eCos由于本身内核就很小,经过裁剪后的代码最小可以为10 KB,所需的最小数据RAM空间为10 KB。

6f11e168-445e-11eb-8b86-12bb97331649.png

在系统移植方面 eCos操作系统的可移植性很好,要比μC/OS-II和μClinux容易。eCos最大特点是配置灵活,并且支持无MMU的CPU的移植,开源且具有很好的移植性,也比较合适于移植到STM32平台的CPU上。但eCOS的应用还不是太广泛,还没有像μC/OS-II那样普遍,并且资料也没有μC/OS-II多。eCos适合用于一些商业级或工业级对成本敏感的嵌入式系统,例如消费电子领域中的一些应用。

FreeRTOS

由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对于μC/OS-II、 embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。

作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用 时间。

相对于常见的μC/OS-II操作系统,FreeRTOS操作系统既有优点也存在不足。其不足之处, 一方面体现在系统的服务功能上,如FreeRTOS只提供了消息队列和信号量的实现,无法以后进先出的顺序向消息队列发送消息。

另一方 面,FreeRTOS只是一个操作系统内核,需外扩第三方的GUI(图形用户界面)、TCP/IP协议栈、FS(文件系统)等才能实现一个较复杂的系统, 不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等无缝结合。

RT-thread

RT-Thread 是一款主要由中国开源社区主导开发的开源实时操作系统(许可证GPLv2)。实时线程操作系统不仅仅是一个单一的实时操作系统内核,它也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈,文件系统,libc接口,图形用户界面等。

6f77ab74-445e-11eb-8b86-12bb97331649.png

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

    关注

    38

    文章

    7144

    浏览量

    161978
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3427

    浏览量

    128215
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348725

原文标题:STM32开发中的五大嵌入式系统

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NI发布的《2012嵌入式系统展望》下载

    `NI最新推出的2012嵌入式系统展望报告,该报告从技术发展和商业运营角度总结出嵌入式系统市场的五大趋势,指出
    发表于 03-12 11:00

    五大适合STM32嵌入式操作系统

    基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这嵌入式
    发表于 04-15 15:39

    嵌入式视频教程之嵌入式系统开发对人才的技能要求

    哪些?  嵌入式视频教程之嵌入式系统开发对人才的技能要求:  1、系统集成能力  嵌入式系统开发
    发表于 06-15 13:10

    嵌入式视频教程之嵌入式系统开发对人才的技能要求

    哪些?  嵌入式视频教程之嵌入式系统开发对人才的技能要求:  1、系统集成能力  嵌入式系统开发
    发表于 06-23 10:44

    嵌入式开发板的五大接口

    接口。嵌入式开发板的中就有五大类接口:并行接口、串行接口、USB、红外线接口、PCMCIA和CF;今天重点说下串行接口和USB接口。串行接口在嵌入式系统
    发表于 06-27 11:55

    STM32嵌入式系统开发实战指南

    STM32嵌入式系统开发实战指南
    发表于 04-03 09:51

    Python在开发实时嵌入式系统的作用

    Raspberry Pi等单板计算机上被采用。随着这种广泛且不断增长的采用,人们可能想知道在实时嵌入式系统是否存在Python的位置。以下是开发人员可能会发现Python在实时
    发表于 01-11 18:22

    嵌入式操作系统的特点及不足

    。基于STM平台且满足实时控制要求的操作系统,有以下4种可供选择。分别为μC/OS-II、μClinux、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这嵌入式
    发表于 02-05 07:11

    基于MBD的嵌入式系统设计

    STM32F407+matlab+STM32CubeMX】基于MBD的嵌入式系统实现基于STM32CubeMX和HAL的嵌入式
    发表于 08-17 07:08

    怎么解决在使用stm32+ucos进行嵌入式软件开发遇到的系统重启现象?

    本文章主要解决在使用stm32+ucos进行嵌入式软件开发遇到的系统重启现象查找与解决。
    发表于 09-18 07:23

    嵌入式Linux开发流程的各个步骤

    本文将系统地讲解嵌入式Linux开发流程的各个步骤,详细解析各个流程的疑点、难点。本书分3个部分,共12章。各部分内容如下:目录展示内容
    发表于 11-04 07:37

    嵌入式系统概述知识梳理

    嵌入式系统》 |(一)嵌入式系统概述 知识梳理《嵌入式系统》 |(二)ARM Cortex M
    发表于 12-22 06:53

    了解下五大嵌入式操作系统

    [掌握这五大嵌入式操作系统,你就是STM32牛人技术往往更新得非常快,并且总是让我们觉得学起来有难度而且有些迷茫。不过没有关系我们发烧友专注于在快乐中学习,要学习
    发表于 12-22 06:21

    STM32国线上技术周】聚焦五大主题、31场技术演讲、74个方案展示及答疑,全面展示STM32嵌入式技术创新和生态战略!

    有机会和ST以及合作伙伴的工程师实时互动。时间:2022年7月18日-7月22日(线上专场)▌活动亮点1、ST高层演讲:展示STM32嵌入式技术创新和更全面的生态系统战略2、聚焦五大
    发表于 06-27 09:47

    STM32国线上技术周】聚焦五大主题、31场技术演讲、74个方案展示及答疑,全面展示STM32嵌入式技术创新和生态战略!

    有机会和ST以及合作伙伴的工程师实时互动。时间:2022年7月18日-7月22日(线上专场)▌活动亮点1、ST高层演讲:展示STM32嵌入式技术创新和更全面的生态系统战略2、聚焦五大
    发表于 07-05 14:02