打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
说一说RTOS

RTOS 即Real-time operating system,实时操作系统,这种操作系统比分时操作系统实时性强,线程切换速度快,线程切换时间可控,为了保证实时性,实时操作系统一般都是抢占型内核,允许高优先级的线程抢占CPU,优先级低的排队执行。普通的单片机程序只有一个while循环,功能比较多的时候这个循环代码很复杂,阅读性差,不好维护。而RTOS可以创建线程,每个线程有自己的while循环,功能可以模块化设计。

使用RTOS的优点

1、功能扩展性好,加个功能加个线程就好了,非常方便。

2、单片机利用率高,减少单片机空转。

3、可以像电脑端一样编程,电脑程序员方便地做单片机开发。进程间通讯,内存管理等随便用。

4、代码阅读方便,各个线程很清晰。

5、部分RTOS自带各种功能模块,比如网络,文件系统,UI等模块。选择使用操作系统基本上都是因为这个优点。

使用RTOS的缺点:

1、实时性变差,有人说RTOS不就是实时操作系统嘛,怎么会变差呢,有了操作系统单片机肯定要花费不少时间在操作系统上,比如线程切换是需要时间的等等。实时操作系统是相对非实时操作系统来说的。没有操作系统的那个while才是最实时的。

2、内存开销大,包括RAM和Flash,增加了操作系统代码量就增多了,占用更多的Flash空间,每个任务栈占用了很多RAM,每个栈肯定都有些富余的,也就是有不少的栈空间是空闲的,占用了宝贵的RAM空间。

3、出现BUG时不好调试,虽然大部分单片机都有在线仿真功能。因为每个线程都有自己的线程栈,查找起来麻烦一些。

4、操作系统为了安全运行,必须开关全局中断,在操作系统里面有大量的开关全局中断操作。全局中断只要关闭就会对实时性有一定的影响。比如恰好关闭中断时事件到来,这时候是不能响应的。

5、移植操作系统需要一些汇编知识,稍有些难度,好在官方都有实际例子可以借鉴。

记得09年的时候在51单片机上跑RTOS,51单片机主频低,能跑是能跑,占用比较多资源,没有多少空间给功能开发,也就学学玩玩,实际应用不现实。如果要使用RTOS还是在主频高一些,存储资源丰富的ARM上跑比较合适,比如STM32。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[硬核】如何从零打造一款操作系统,给单片机写个RTOS
一款可以在STM8上运行的实时操作系统Atomthreads
基于MSP430单片机的实时多任务操作系统
关于 RTOS 的选择
单片机系统中的多任务多线程机制的实现
一款与众不同的MCU问世,将挑战RTOS?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服