基于STM32的FreeRTOS学习之FreeRTOS简介(一)

记录一下,方便以后翻阅~

1. 什么是FreeRTOS

FreeRTOS全称Free Real Time Operating System,顾名思义就是免费的实时操作系统。一般,一个处理器核心在某一时刻只能运行一个任务,操作系统中任务调度器的责任就是决定在那个时刻应该运行哪个任务。FreeRTOS是由用户给每个任务分配一个任务优先级,任务调度器根据此优先级决定下一刻运行哪个任务。

2. FreeRTOS优势

1)FreeRTOS是免费的!运行在商业应用中使用,且不需要公开代码。
2)许多半导体厂商产品SDK包就是用的FreeRTOS作为其操作系统,尤其是WIFI、蓝牙这些模块。
3)许多软件厂商也使用FreeRTOS作为软件开发的操作系统。
4)FreeRTOS文件数量少,文档相对齐全,已被移植到很多不同的微处理器上。
5)社会占有率高,如下图:
在这里插入图片描述

3. 学习资料准备

3.1 在学习FreeRTOS任务切换时需要了解Cortex-M内核架构相关知识,相关参考资料包括《The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition》,对应中文资料《ARM Cortex-M3与Cortex M4 权威指南(第三版)》。
3.2 FreeRTOS源码,最新版可以在FreeRTOS官网下载,原子哥给了一个FreeRTOSv9.0.0,可以下旧的版本。

4. FreeRTOS源码初探

下载完成后,FreeRTOS源码如下图所示。其中FreeRTOS和FreeRTOS-Plus文件夹里是源码。
在这里插入图片描述
4.1 FreeRTOS文件夹
FreeRTOS文件夹里主要包括三个文件,其中Demo文件夹里是相关例程;License文件夹里是相关许可信息,做产品的需要看;Source文件夹里是FreeRTOS核心代码。
在这里插入图片描述
4.2 Source文件夹
Source文件夹里的东西如下图所示。include文件夹里包括一些头文件,下面.c的文件就是源码文件。portable文件夹里包括了FreeRTOS系统和具体硬件之间的连接桥梁,不同的编译环境,不同的MCU,其桥梁是不同的。
在这里插入图片描述
4.3 protable文件夹
protable文件夹如下图所示。以MDK编译环境下的STM32F103为例。MemMang文件夹跟内存管理相关,必须移植,Keil文件夹必须移植。不过Keil文件夹里只有一个See-also-the-RVDS-directory.txt文件,意思是参考RVDS里面的资料。
在这里插入图片描述
4.4 RVDS文件夹
RVDS文件夹里面有不同架构的MCU,包括ARM_CM3文件夹,其里面的文件是必须移植的。
在这里插入图片描述
4.5 FreeRTOS-Plus文件夹
FreeRTOS-Plus文件夹里包括Demo和Source。Demo文件夹里是案例,Source文件夹里并不是FreeRTOS系统的源码,是在FreeRTO系统上另外增加的一些功能代码。如果只学习FreeRTOS系统的话,暂时不用学习FreeRTOS-Plus里的资料。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Leisure_ksj/article/details/114651984