FreeRTOS--入门学习-移植

news/2025/2/25 22:13:19

FreeRTOS-入门学习-移植

  • FreeRTOS-下载
    • FreeRTOS-具体文件介绍
    • 工程创建并使用
    • 移植成功--使用FreeRTOS手册帮助开发

FreeRTOS-下载

使用官网需要科学上网,我们这里使用其他国内的下载地址 下载202212.00版本
下载地址:https://sourceforge.net/projects/freertos/
在这里插入图片描述
下载zip几秒后就会自动下载了
在这里插入图片描述

FreeRTOS-具体文件介绍

下载后解压如图
在这里插入图片描述
进入FreeRTOS文件

Demo:示例
License:许可-就是我们可以使用在哪些地方
Source:FreeRTOS源码
Test:是一个测试用例
在这里插入图片描述
进入demo 找到我们对应的开发版stm32f103这是一个系列的 就可以查看使用案例,因为这个是一个纯keil文件,用到了外面的source文件夹 ,所以我们要自己新建工程 在把source 放入工程使用
在这里插入图片描述

工程创建并使用

假设我们已经创建了一个点灯的工程文件 现在我们要把freertos加入其中 只需要加入source 为了区分我们在将名字改为FreeRTOS
在这里插入图片描述
我们一般调用freeRTOS里面的include里面的各种头文件 要调用 就要先设置好路径如图

在这里插入图片描述
在portable 里面只有这两个文件 需要其他的都可以不用
MemMang:内存管理
RVDS:编译器相关内容
在这里插入图片描述
MemMang:里面的网页表情进去就是内存的文件
在这里插入图片描述

我们使用的事第四种内存管理方式 其他的四种可以直接删除掉
在这里插入图片描述
在stm32f103中是CM3系列的的内容 所以我们可以删掉RVDS里面的其他内容:只留下一个ARM_CM3
在这里插入图片描述
我们打开ARM_CM3文件发现也有一个.H文件为了可以使用而且不报错就需要再keil里面在添加路径
在这里插入图片描述
新建一个FreeRTOS组 这个根目录下添加各种.c文件 还有portable/RVDS/ARM_CM3下面的.C文件

在这里插入图片描述
在这里插入图片描述
添加后编译报错找不到文件
在这里插入图片描述
查看demo示例代码找到这个文件
在这里插入图片描述
发现该文件在文件的根目录下面 直接复制到根目录下面使用 (这个一般是放在和main文件一个文件夹里面)
在这里插入图片描述
编译可能会出现如下错误 -这个错误是没有启动编译
在这里插入图片描述
在文件里面把0改为1就可以了
在这里插入图片描述

移植成功–使用FreeRTOS手册帮助开发

xTaskCreate 就是核心代码 动态是系统自动分配,静态是需要手动分配
在这里插入图片描述


http://www.niftyadmin.cn/n/5865986.html

相关文章

多线程的案例之线程池 [Java EE 多线程]

目录 1. 什么是线程池 1.1 定义 1.2 工作原理 1.3 优点 1.4 举例 2. 标准库中的线程池 2.1 创建线程池 2.2 Executors 创建线程池的几种方式 2.3 ThreadPoolExecutor 提供了更多的可选参数, 可以进一步细化线程池行为的设定 3. 实现线程池 3.1 主要操作说明 3.2 代…

java给钉钉邮箱发送邮件

1.开通POP和IMAP 2.引入pom <dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version> </dependency>3.逻辑 String host "smtp.qiye.aliyun.com"; String port "…

C#中提供的多种集合类以及适用场景

在 C# 中&#xff0c;有多种集合类可供使用&#xff0c;它们分别适用于不同的场景,部分代码示例提供了LeetCode相关的代码应用。 1. 数组&#xff08;Array&#xff09; 特点 固定大小&#xff1a;在创建数组时需要指定其长度&#xff0c;之后无法动态改变。连续存储&#xf…

深度学习-6.用于计算机视觉的深度学习

Deep Learning - Lecture 6 Deep Learning for Computer Vision 简介深度学习在计算机视觉领域的发展时间线 语义分割语义分割系统的类型上采样层语义分割的 SegNet 架构软件中的SegNet 架构数据标注 目标检测与识别目标检测与识别问题两阶段和一阶段目标检测与识别两阶段检测器…

.manifest是什么文件格式

.manifest 文件是一种用于描述应用程序或组件元数据的文件&#xff0c;其格式和内容因平台和应用类型而异。在某些情况下&#xff0c;.manifest 文件采用 JSON 格式&#xff0c;例如在 Web 应用程序中&#xff0c;manifest.json 文件用于定义应用的名称、版本、图标、启动页面等…

04基于vs2022的c语言笔记——数据类型

目录 前言 4.数据类型 4-1数据类型初识 4-2数据类型之整型 4-3 sizeof的应用 4-4unsigned的应用 4-5实型/浮点型 4-6字符型 4-7转义字符 4-8字符串初识 4-9-1 输入之 整数的输入 提示&#xff1a; 本节代码部分 1.scanf的基本用法介绍 2.两个变量的输入 3.输…

Python 学习之旅:高级阶段(十六)Web 开发之路由和视图函数

在 Python 的 Web 开发领域,路由和视图函数是构建 Web 应用不可或缺的部分。它们就像是 Web 应用的 “交通枢纽” 和 “服务窗口”,路由负责引导用户请求到达正确的处理地点,而视图函数则负责处理这些请求并返回相应的响应。接下来,我们将以 Flask 框架为例,深入了解路由和…

【R语言】ggplot2绘图常用操作

目录 坐标轴以及标签的相关主题 图例调整 字体类型设置 颜色相关 ggplot2如何添加带箭头的坐标轴&#xff1f; 标题相关主题调整 修改点图中点的大小 如何使得点的大小根据变量取值的大小来改变&#xff1f; 柱状图和条形图 坐标轴以及标签的相关主题 theme( # 增大X…