从本章开始我们就踏入了 FreeRTOS 的大门,FreeRTOS 是一个 RTOS 类的嵌入式实时操作系统。在此之前 ALIENTEK 已经推出了 UCOS 操作系统的教程和例程,但是现在为什么又要学 FreeROTS 呢?这就是本章的目的,本章分为如下几部分: 1.1 初始 FreeRTOS 1.2 磨刀不误砍柴工 1.3 FreeRTOS 源码初衷
我们看一下 FreeRTOS 的名字,可以分为两部分:Free 和 RTOS,Free 就是免费的、自由的、不受约束的意思,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。可以看出 FreeROTS 就是一个免费的 RTOS 类系统。这里要注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 UCOS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。操作系统允许多个任务同时运行,这个叫做多任务,实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务,任务调度在各个任务之间的切换非常快!这就给人们造成了同一时刻有多个任务同时运行的错觉。操作系统的分类方式可以由任务调度器的工作方式决定,比如有的操作系统给每个任务分配同样的运行时间,时间到了就轮到下一个任务,Unix 操作系统就是这样的。 RTOS 的任务调度器被设计为可预测的,而这正是嵌入式实时操作系统所需要的,实时环境中要求操作系统必须对某一个事件做出实时的响应,因此系统任务调度器的行为必须是可预测的。像 FreeRTOS 这种传统的 RTOS 类操作系统是由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下一刻应该运行哪个任务。 FreeRTOS 是 RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,当然了,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看 FreeRTOS 要比 UCOSII 和 UCOSIII 小的多。
为什么选择 FreeRTOS?上面我们说了 RTOS 类系统有很多,为什么要选择 FreeRTOS 呢?在 UCOS 教程中,我们说过学习 RTOS 首选 UCOS,因为 UCOS 的资料很多,尤其是中文资料!但是 FreeRTOS 的资料少,而且大多数是英文的,我为何要选择它?原因如下: 1、FreeRTOS 免费!这是最重要的一点,UCOS 是要收费的,学习 RTOS 系统的话 UCOS 是首选,但是做产品的话就要考虑一下成本了。显而易见的,FreeRTOS 在此时就是一个很好的选择,当然了也可以选择其他的免费的 RTOS 系统。 2、许多其他半导体厂商产品的 SDK 包就使用 FreeRTOS 作为其操作系统,尤其是 WIFI、蓝牙这些带协议栈的芯片或模块。 3、许多软件厂商也使用 FreeRTOS 做本公司软件的操作系统,比如著名的 TouchGFX,其所有的例程都是基于 FreeRTOS 操作系统的。ST 公司的所有要使用到 RTOS 系统的例程也均采用了 FreeRTOS,由此可见免费的力量啊! 3、简单,FreeRTOS 的文件数量很少,这个在我们后面的具体学习中就会看到,和 UCOS 系统相比要少很多!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !