TA的每日心情 | 怒 12 小时前 |
---|
签到天数: 85 天 [LV.6]常住居民II
三级逆天
- 积分
- 53741
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1.1、FreeRTOS是什么东东?
首先开篇之前,讲点废话,跟大家说说什么是FreeRTOS,我们又为什么要去学习它,它有什么优点。
我们直观的从名字上去认识FreeRTOS。Free具有免费的、自由的、不受限制的含义,RTOS的英文全称为Real Time Operating System,中文意思是实时操作系统。所以我们可以知道FreeROTS就是一个免费的实时操作系统。RTOS不是单指某一个确定的系统,而是表示一类系统,所有实时操作系统,都叫RTOS。例如大家所熟知的UCOS、FreeRTOS,KEIL公司的RTX、国产的RT-Thread、还有VxWorks、WindowsCE等这些都是RTOS类操作系统。
操作系统的特点是允许多个任务同时运行,这个叫做多任务运行,其实,一个处理器核心在某一时刻只能运行一个任务,只是由于任务间切换很迅速,所以我们才会认为同一时刻有多个任务在运行的错觉。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务。
FreeRTOS是一种十分小巧的RTOS,可以在资源有限的微控制器中运行。如果大家接触过UCOS的话,就可以看出,单单从文件数量上来看FreeRTOS要比UCOSII和UCOSIII小的多,FreeRTOS只有五六个C源文件。
1.2、为啥要选择FreeRTOS?
1.1节中我们讲,现在的RTOS有很多种,那么我们为啥要选择FreeRTOS呢?其实在2010年以前,在STM32这种资源相对ARM9,ARM11少的微控制器上,UCOS是首先,因为UCOS那时学习的人多,资料非常丰富,特别是中文资料,这非常有利于我们学习,相对于当时,FreeRTOS的资料非常有限,而且是英文的资料,那么我们为啥现在偏偏又要选择FreeRTOS呢?主要原因有如下几点:
(1)、FreeRTOS突出了Free,免费自由不受约束!这是最重要的一点,我想有这一点,就足够我们对它偏爱了。UCOS是要收费的(据了解,现在UCOS的开发公司,Micrium已经被Silicon Labs收购,所以现在使用Silicon Labs的产品跑UCOS也已经全部免费了。),如果单纯的只是想学习下RTOS的原理,那么建议选择UCOS,我想这种人大部分是学生吧。作为我们攻城狮而言,学习了技能,是要来攻城略地的,所以用来做产品,那么我们就不得不考虑成本因素了。因此FreeRTOS是一个很好的选择,当然免费的RTOS不只FreeRTOS,但是我们现在的主题是FreeRTOS。
(2)、自从UCOS收费以后,许多Soc芯片的SDK包使用的就是FreeRTOS作为其操作系统,尤其像WIFI、蓝牙4.0这些带协议栈的Soc芯片。
(3)、许多厂商都使用FreeRTOS作为本公司软件的操作系统,例如著名的UI界面软件TouchGFX,其所有的例程都是基于FreeRTOS操作系统的。ST公司的所有要使用到RTOS系统的例程也均采用了FreeRTOS,由此可见免费的力量是巨大的,将来会有越来越多的知名厂商使用FreeRTOS,相信FreeRTOS也会越来越完善的。
(4)、使用简单,FreeRTOS的文件数量很少,比UCOS少的要很多。
(5)、文档相对齐全,在官网www.freertos.org上可以找到所需的文档和源码。
(6)、FreeRTOS被移植到了很多不同的微处理器上,例如常用的STM32F1、F3、F4和最新的F7都有移植,这个给我们学习和移植带来很大方便。
(7)、社会占有率很高,EEtimes统计的2014年和2015年RTOS系统占有量中FreeRTOS已经跃升至第一位,如图下图所示:
好了,今天就先写到这里,下一讲我们会讲下FreeRTOS的特点、以及学习移植所需要准备的资料。 |
|