手把手叫你学会搭建FreeRTOS工程文件(上)

简介: 手把手叫你学会搭建FreeRTOS工程文件

一.序言

首先我们可以去FreeRTOS官方下载源码包 下载链接可能网速慢。我们也可以去他的代码托管网站 网站链接 这里我下载的是v9.00版本的。

这里有一个小tips:不管下载什么东西,版本既不要最新的也不要太老的。最新的不稳定,而且资料少,太旧的已经过时了,可能缺少一些功能相对于新版本。

二.提取文件

下载完成后我们进入这个文件夹。这也是我们唯一需要的文件夹。

2.1 Source文件夹

在FreeRTOS/Source目录下有include文件夹和一些.c文件,包含的是FreeRTOS通用的头文件和C文件。适用于各种编译器和处理器,是通用的。需要裁剪和移植的是portblle文件夹。

2.2 portble文件夹

这个文件夹是和编译器相关的文件早,在不同的编辑器中使用不同的支持文件。我们使用的是Keil进行编译,打开文件夹我们发现。只有一个.txt文件。文件名写着 See-also-the-RVDS-directory

所以我们需要的文件夹就是RVDS,同时我们也需要MemMang这个文件夹。这个文件夹是进行内存管理的。

MemMang下有5个heap文件各有区别(这里我们选用heap4.c)后面介绍不同。

2.3 Demo 文件夹

这个目录下内容就是 Deme 例程,我们可以直接打开里面的工程文件, 各种开发平台的完整 Demo,开发者可以方便的以此搭建出自己的项目,甚至直接使用。 FreeRTOS 当然也为 ST 写了很多 Demo,其中就有 F1、 F4、 F7 等工程,这样子对我们学习 FreeRTOS 是非常方便的,当遇到不懂的直接就可以参考官方的 Demo。

三.建立FreeRTOS工程

这是我的一个裸机工程目录。

3.1 新建FreeRTOS目录

本次示例是以一个裸机工程为基础来搭建FreeRTOS。我们首先在裸机根目录下新建一个文件夹,名称叫"FreeRTOS",并且在FreeRTOS文件夹下新建两个空文件夹。分别命名“src”与"port",src文件夹下保存FreeRTOS中核心源文件,也就是.c文件,port下面保存内存管理以及处理器架构相关代码。这些代码FreeRTOS 官方已经提供给我们的,直接使用即可,在前面已经说了, FreeRTOS是软件,我们的开发版是硬件,软硬件必须有桥梁来连接,这些与处理器架构相关的代码, 可以称之为 RTOS 硬件接口层,它们位于 FreeRTOS/Source/Portable 文件夹下。

3.2 移植src文件夹

前面我们已经建立好了src文件夹,现在打开 FreeRTOS V9.0.0 源码,在“FreeRTOSv9.0.0\FreeRTOS\Source”目录下找到

所有的‘.c 文件’,将它们拷贝到我们新建的 src 文件夹中,拷贝完如图

目录
相关文章
|
传感器 XML 消息中间件
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
|
1月前
【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)
【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)
289 0
|
3月前
|
开发工具 图形学 Android开发
从零开始的unity3d入门教程(一)----环境配置
该文章是《从零开始的Unity3D入门教程》系列的第一篇,详细介绍了Unity3D的环境配置过程,包括注册Unity账户、下载安装Unity Hub和Unity编辑器、配置许可证、创建Unity项目、下载安装Visual Studio 2022以及将Unity与Visual Studio相关联等步骤。
从零开始的unity3d入门教程(一)----环境配置
|
1月前
|
Oracle Java 关系型数据库
JLink 使用教程:从入门到精通
本文提供了JLink工具的使用教程,包括入门、进阶和高级篇,涉及创建运行时镜像、添加模块、自定义启动器、压缩镜像、自定义运行时参数和配置文件等内容,旨在帮助用户创建独立的Java应用程序运行时环境。
198 0
|
5月前
|
传感器 物联网 调度
从0入门FreeRTOS之第一节 什么是FreeRTOS?
FreeRTOS(Free Real-Time Operating System)是一款开源的实时操作系统(RTOS),专为嵌入式系统设计。由Real Time Engineers Ltd.开发和维护,FreeRTOS以其小巧、高效、易于使用的特点广受欢迎。FreeRTOS支持多种微控制器和微处理器平台,提供丰富的实时操作系统功能,使开发者能够轻松构建高效、实时响应的应用程序。
343 0
|
6月前
|
存储 C++ 内存技术
Keil5使用心得以及知识总结
Keil5使用心得以及知识总结
171 0
|
6月前
|
消息中间件 资源调度 算法
FreeRTOS最全教程(目录)
FreeRTOS最全教程(目录)
682 1
|
传感器 调度 开发者
【Freertos基础教程】任务管理之基本使用
【Freertos基础教程】任务管理之基本使用
128 0
|
芯片
手把手叫你学会搭建FreeRTOS工程文件(下)
手把手叫你学会搭建FreeRTOS工程文件(下)
155 1
|
算法 编译器 Linux
1-FreeRTOS入门指南
1-FreeRTOS入门指南