查看原文
其他

FreeRTOS_001_准备工作

strongerHuang strongerHuang 2021-01-31

开篇闲谈

在开始学习FreeRTOS之前,先给大家闲聊一些话题。当然,肯定还是与文章有一定关系的。


1.什么是FreeRTOS?

考虑到关注我的读者中有许多是初学者,这里简述一下FreeRTOS。


简单的来说FreeRTOS就是一种实时操作系统


RTOS:Real Time Operating System实时操作系统。

FreeRTOS从字面可以将它拆分为Free + RTOS,前面Free代表一种操作系统类型的名称,就像UCOS、RTX、uclinux;后面RTOS代表实时操作系统。


2.为什么要学习FreeRTOS?

这个问题在我看来,主要是因为FreeRTOS相对其他RTOS有很多优势,比较火、开源免费···。当然,有许多优点,肯定也有它的不足,这里就不再评价它的不足之处了。


从近几年嵌入式操作系统排名的数据来看,FreeRTOS的排名在嵌入式操作系统的排名中还是比较高的。


在Micrium官网(也就是UCOS的官方网站)上面也给出了一份之前RTOS的排名。其实UCOS也是相对比较火的一款实时操作系统,和FreeRTOS最大的差别在于UCOS属于商业RTOS,项目使用需要收费。


从以上数据来看,FreeRTOS在这接下来的几年时间应该也会排在嵌入式操作系统的前列。所以,如果你还不知道选择学习什么RTOS,那么,FreeRTOS是你值得考虑的,同时选择FreeRTOS学习也是有必要的。


3.为什么我还要造轮子?

相信很多人都知道网上有很多关于FreeRTOS的资料,而且还很多,那么为什么我还要在这里写呢?


说句实话,我之前分享过的类似的文章,在网上还有更多,为什么你还是选择关注了我呢?


每个人有每个人的分享风格,每个人考虑的角度也不同。我也是一个从技术小白过来的人,分享的东西会站在小白的角度考虑。


我个人觉得FreeRTOS是我们这一行嵌入式开发工程师必备的技能。如果我的文章能让你看懂,那么说明我分享的目的也达到了。


准备工作

完事开头难,有了开头,只要不停止前行的脚步,总会达到成功的终点。相信前面关注我的朋友都知道我分享的文章是面向基础的人群,也就是说写的比较基础,相信你们都能够理解并学会。

提示:微信公众号不支持外链接】


1.下载FreeRTOS源码及相关资料

FreeRTOS所有的源码及更多的资料都可以进入官网查找并下载。

官网地址:

http://www.freertos.org


针对初学者主要下载源码和API文档。


官网目前最新的FreeRTOS版本是V9.0.0,其实有些平台已经给出了V9.1.0了


官网最新版本下载地址:

http://www.freertos.org/a00104.html



历史版本源码下载地址:

https://sourceforge.net/projects/freertos/files/FreeRTOS


参考手册下载地址:

http://www.freertos.org/Documentation/RTOS_book.html


2.开发工具下载安装

我接下来讲述的FreeRTOS例程将结合MDK-ARM或者EWARM集成开发工具,也将会提供MDK-ARM或者EWARM的源代码工程。所以需要大家安装并学会使用这两种开发工具。


如果有朋友对这两种开发工具不是很熟悉,可以参看我关于MDK-ARM和EWARM的系列教程。


参看文章:

1.MDK-ARM介绍、下载、安装与注册

2.MDK-ARM_新建软件工程详细过程


3.EWARM介绍、下载、安装与注册

4.EWARM_新建软件工程详细过程


3.下载STM32标准外设库

为什么要下载STM32标准外设库呢?

直接的说:我们接下来讲述的内容是基于STM32标准外设库来展开详细讲解。


在上面下载FreeRTOS源码中,其实是包含了STM32的标准外设库,但那是很老的库。我们搞技术的人一般都有一种心理,都喜欢追求新的技术(只要不影响某些功能),特别是学习者更应该向最新的技术看齐。


http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961


当然,这一小节主要是看硬件平台,如果你使用的其他平台的处理器,可以略过,我这里只是向初学者提供一种便利而已。

学习FreeRTOS与底层硬件平台的关系不是很大,只是在移植的时候需要用上,后面学习API具体的功能时,基本不会关心硬件平台。


最后

微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,在我的底部菜单查看更多精彩内容!

长按识别图中二维码 关注

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存