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

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

3天内不再提示

51单片机上跑RTOS会有意义吗?

strongerHuang 来源:strongerHuang 作者:strongerHuang 2021-05-27 17:34 次阅读

最近看见我的一个技术交流群在讨论一个问题:在51单片机上跑RTOS有没有意义?

今天就来围绕51和RTOS展开讲讲。

1关于51单片机及性能和资源

51单片机可以说是我们这一代人的经典,因为它资源不是那么多,而且相对简单,是很多初学者的入门必选之一。

1.51单片机种类51单片机的种类很多,我们这里是一种笼统的叫法,通常来说指的是8位MCU

比如早期市面上常见的:英特尔的80C51系列、 爱特梅尔的AT89C51系列、 国产宏晶的STC89C51系列、STM8系列,还有恩智浦、微芯等这些公司都有51单片机。

其实,早期很多做通用MCU的半导体公司,自家都有51单片机系列,只是随着32位单片机的出现,很多以前的51单片机逐渐离开了大家的视野。

2.51单片机的性能再说下51单片机的性能,性能主要是主频(或者时钟频率),当然还有一些其他因素决定性能,比如总线位宽。(可以参看文章《CPU性能由主频决定吗?》)

目前51单片机的主频通常从几兆到几十兆,比如STC89C51的主频可以高达48M。

48M的速度,按理说也不低了,这个速度如果32位MCU,跑GUI基本都可以了。

但是,这个是在8位的51单片机上,因为总线数据位宽的限制、没有预处理操作等,其性能相对32位来说还是低了很多。

这么说吧,同样跑一段程序,以48M运行的51单片机,是跑不过同主频(48M)的32位机(比如STM32)。

当然,51单片机如果以最高48M主频运行,其性能跑RTOS还是足足有余。

3.存储资源我们通常说的资源,其实还包含外设资源,比如ADCI2C等。因为这里讨论的是RTOS,这里主要说Flash(用于代码存储)和RAM(运行存储)的资源。

早期的51单片机,因为存储技术的限制(生产Flash和RAM成本很高),其资源相对都很小。比如经典的AT89C51其内部只有:128Bit的RAM,4K的Falsh。

但随着存储技术的成熟,现在51单片机存储容量都普遍增多了,比如市面上流行的STC单片机,其内部高达8K的RAM,以及64k的Flash.

2适用于51单片机的RTOS有哪些?

上面说了51的性能和资源,再来说说哪些RTOS可以在51单片机上运行。

早期的RTOS,很多都对流行的51单片机做了适配(底层驱动,例程),即使没有做适配,也做了一些通用的驱动接口,供更多人选择。

因为现在的芯片制造技术成熟了,然后随着需求的增加(软件资源更丰富、要求更高),很多RTOS都普遍偏向于32位的MCU,导致有一些RTOS对51单片机不是那么友好。

当然,目前可用于51单片机的RTOS依然有很多,只是有一些相对小众化,大家不是那么了解。

像Small RTOS、Keil 自带的RTX51 Tiny、大家熟悉的uCOS等这些都可以运行在51单片机上的RTOS。

之前给大家分享过一篇文章《STM8都支持哪些RTOS》中有描述,像AtomThreads、 Chibios、 CMX-Tiny+、 embOS这些RTOS都对51单片机做了适配。

我之前学习51的时候,在上面跑过高度裁剪的uCOS,简单跑两个任务还是问题不大,包括我给大家分享的文章《在STM8上运行的Atomthreads》还提供了对应的实例供大家学习。

3在51单片机上跑RTOS有没有意义?

可能很多人认为:现在是32位单片机的天下,再加上51单片机的性能和资源都很少,跑RTOS很吃力,所以在51单片机上跑RTOS没有意义了。

是的,确实存在这样的问题。但是,我认为有没有意义要看情况,在某些情况下,在51单片机上跑RTOS依然有意义。

1.意义不大的情况因为目前确实32位MCU存在各方面优势的情况,51单片机存在后天的不足,目前很多情况下,在51单片机上跑RTOS其意义确实显得不是那么大。

比如:一个包含各种外设模块,处理各种业务逻辑大型的系统,这种情况下不适合用51单片机以及在上面跑RTOS。

还比如:一个功能非常简单的系统,像采集一个温度值,通过串口传输出去的单元系统。因为简单项目使用RTOS会额外增加系统的复杂程度。

2.有意义的情况我认为,一个东西的存在必然有它存在的意义。

像用于学习,我觉得意义还是比较大,毕竟RTOS编程思维和裸机思维方式差异比较大。

可能有些初学者目前主要掌握了51单片机的知识,想学习RTOS,这个时候在51单片机上跑RTOS就显得有意义。

还比如:一个相对不是那么复杂的项目,它的外设模块(或资源)用的比较多,同时,整体业务逻辑不是那么复杂,也不要求处理太多事件。像采集温度、湿度传输、按键检测等小项目,通过RTOS各任务模块化运行,我觉得还是比较有意义。

最后,还是那句话,有没有意义,还与你实际情况有关。

原文标题:在51单片机上跑RTOS有没有意义?

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    5997

    文章

    43948

    浏览量

    620553
  • RTOS
    +关注

    关注

    20

    文章

    773

    浏览量

    118773

原文标题:在51单片机上跑RTOS有没有意义?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问同步电机使用矢量变频器拖动有意义吗?

    ,此时输出电压增加以求恢复转速,同时内环限制电流不能过载。但是在同步电机的情况下,除非负载达到失步,其转速是与电压无关的,是否可以认为此时外环是起不到作用的,只有内环有作用,这岂不是可以认为用矢量变频器拖动同步电动机是没有意义的?或者说是一种浪费?
    发表于 11-16 06:49

    51单片机可以操作系统吗?

    据说单片机可以上操作系统,那51单片机可以上操作系统吗,感觉51单片机性能那么差,还能跑操作系统? 如果可以的话都可以
    发表于 11-06 06:59

    基于嵌入式RTOS在MSP430单片机上的实现

    电子发烧友网站提供《基于嵌入式RTOS在MSP430单片机上的实现.pdf》资料免费下载
    发表于 10-27 14:13 1次下载
    基于嵌入式<b class='flag-5'>RTOS</b>在MSP430<b class='flag-5'>单片机上</b>的实现

    如何把程序通过烧写器加到at89c51单片机上

    谁知道要把程序通过烧写器加到at89c51单片机上,那么at89c51的电路该怎么连接才能把这个程序加进去,求高人指点,感激不尽
    发表于 10-26 06:54

    51单片机上就一个vcc和GND,怎么连接多个舵机的电源线?

    51单片机上就一个vcc和GND,怎么连接多个舵机的电源线
    发表于 10-17 08:27

    51单片机烧写程序的方法

    STC89C51是应用广泛的51单片机,很多人都是通过该单片机入门学习的,单片机的学习需要勤动手。单片机
    的头像 发表于 09-11 10:10 3433次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>烧写程序的方法

    2023百度云智大会看点:李彦宏表示卷大模型没有意义 不如卷应用

    2023百度云智大会看点 李彦宏卷大模型没有意义 不如卷应用 9月5日百度智能云在北京举办2023百度云智大会。 在今天的2023百度云智大会上,百度创始人、董事长兼首席执行官李彦宏表示,在AI领域
    的头像 发表于 09-05 15:36 535次阅读

    51单片机多任务执行例子

    51单片机多任务同时执行。RTX51 tiny是一种实时操作系统(RTOS),可以用它来建立多个任务(函数)同时执行的应用(从宏观上看是同时执行的,但从微观上看,还是独立运行的)。嵌入
    发表于 08-04 15:59 0次下载

    基于51单片机的蓝牙台灯设计

    基于51单片机的蓝牙台灯设计
    的头像 发表于 08-01 01:08 875次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的蓝牙台灯设计

    51单片机最小系统的构成

    在基础篇01中,我们完成了51单片机开发环境的搭建,本节我们正式学习51单片机51单片机要工作
    发表于 07-15 15:23 5297次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>最小系统的构成

    51单片机的晶振频率是多少?

    51单片机是一种常用的微控制器芯片,广泛应用于各种电子设备的控制和计算中。在单片机中晶振非常重要,它是单片机实现高精度和高速运算的基础。JSK晶鸿兴为您介绍
    的头像 发表于 07-03 14:37 3735次阅读

    有意义的创新|高通发布《2022高通中国企业责任报告》

    践行富有意义的创新并逐步实现2025年企业责任目标。报告还介绍了2022财年高通在中国开展的各项企业责任工作。 高通公司中国区董事长孟樸表示: 富有意义的创新不仅仅只是一项理念,它是高通业务各个方面的指导原则,包括企业责任、产
    的头像 发表于 06-29 14:35 224次阅读
    富<b class='flag-5'>有意义</b>的创新|高通发布《2022高通中国企业责任报告》

    单片机启动文件.s有什么作用?

    在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示。
    发表于 06-05 12:24 607次阅读
    <b class='flag-5'>单片机</b>启动文件.s有什么作用?

    51单片机可以移植RTOS吗?

    说起RTOS移植,我们首先会想到32位单片机
    发表于 05-23 17:09 1414次阅读

    ARM单片机51单片机有什么区别

    ARM单片机51单片机都是嵌入式微控制器,它们都有自己的特点和应用领域。本文将介绍ARM单片机51
    的头像 发表于 05-08 13:58 2065次阅读