FreeRTOS移植

发布时间:2024年01月05日


一、FreeRTOS简介

1.1 初识FreeRTOS

??首先看一下 FreeRTOS 的名字,可以分为两部分:“Free”和“RTOS”,“Free”就是免费的、自由的、不受约束的意思,“RTOS”全称是 Real Time Operating System,中文名就是实时操作系统,要注意的是,RTOS 并不是值某一特定的操作系统,而是指一类操作系统,例如,μC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类的操作系统。因此,从 FreeRTOS 的名字中就能看出,FreeROTS 是一款免费的实时操作系统。
??操作系统是允许多个任务“同时运行”的,操作系统的这个特性被称为多任务。然而实际上,一个 CPU 核心在某一时刻只能运行一个任务,而操作系统中任务调度器的责任就是决定在某一时刻 CPU 究竟要运行哪一个任务,任务调度器使得 CPU 在各个任务之间来回切换并处理任务,由于切换处理任务的速度非常快,因此就给人造成了一种同一时刻有多个任务同时运行的错觉。
??FreeRTOS 操作系统是一个功能强大的 RTOS 操作系统,并且能够根据需求进行功能裁剪,以满足各种环境的要求,FreeRTOS 的特点如下图所示:
在这里插入图片描述

1.2 FreeRTOS资料获取

??磨刀不误砍柴工,学习一个东西第一个会的是找资料,找资料最好的就是官网:https://www.freertos.org/
在这里插入图片描述
在这里插入图片描述
??上面有内核的学习,这边我们先下载,其中LTS版本没有库例程。下载解压后得到的文件,各子文件和子文件的的描述如下表所示:

名称描述
FreeRTOSFreeRTOS 内核
FreeRTOS-PlusFreeRTOS 组件
tools工具
GitHub-FreeRTOS-HomeFreeRTOS 的 GitHub 仓库链接
Quick_Start_Guide快速入门指南官方文档链接
Upgrading-to-FreeRTOS-xxx升级到指定 FreeRTOS 版本官方文档链接
History.txtFreeRTOS 历史更新记录

在这里插入图片描述
??打开FreeRTOS 子文件夹,就能够看到 FreeRTOS 内核的文件
在这里插入图片描述

  • Demo文件夹:里面就是 FreeRTOS 的演示工程
  • License 文件夹:中包含了 FreeRTOS 的相关许可信息,如果是要使用 FreeRTOS 做产品的话,就得仔细地看看这个文件夹中的内容。
  • Source 文件夹:这个文件夹中的内容就是 FreeRTOS 的源代码了。Source 文件夹中各文件和文件夹的描述如下表所示:
名称描述
include内包含了 FreeRTOS 的头文件
portable内包含了 FreeRTOS 的移植文件
croutine.c协程相关文件
event_groups.c事件相关文件
list.c列表相关文件
queue.c队列相关文件
stream_buffer.c流式缓冲区相关文件
tasks.c任务相关文件
timers.c软件定时器相关文件

在这里插入图片描述

1.3 开发环境简介

??本文以STM32F407标准库为例,讲解如何移植FreeRTOS,编译环境为MDK。首先需要准备一个标准库例程,本文使用的是正点原子点灯实验 0.0 。然后准备好FreeRTOS内核源码就行,本文使用的版本是FreeRTOSv9.0.0,可以直接从附件下载

二、FreeRTOS移植

2.1 文件添加

??

2.2 keil工程添加

2.3 文件修改

文章来源:https://blog.csdn.net/weixin_44567668/article/details/135419275
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。