FreeRTOS源码获取-->FreeRTOS移植-->FreeRTOS源码文件了解 | FreeRTOS二

news2024/11/27 13:52:49

目录

说明:

一、获取源码

1.1、FreeRTOS官网获取

1.2、正点原子开发板A盘资料\6,软件资料\13,版本-->V10.4.6

二、移植源码

2.1、移植步骤

2.1.1、添加源码、头文件路径

2.1.2、添加FreeRTOSConfig.h文件路径

2.1.3、添加或修改相关代码

三、FreeRTOS源码文件了解

3.1、FreeRTOS

3.1.1、Demo

3.1.2、License

3.1.3、Source

3.2、FreeRTOS-Plus

3.3、tools


说明:

第一次STM32移植FreeRTOS过程坎坷,与此记录。

关于FreeRTOS源码获取:去官网

关于移植测试例程:原子哥V3.5标准库点灯例程

问题:删除了原子哥自带的System目录,因为发现下载的例程和视频教学的不一样(并且找不到和教学视频一样的例程),不熟悉不会改,报错实在太多了,故删。

解决:找到了一篇博客(下文有链接直达),移植了串口与延时函数即可

 

一、获取源码

1.1、FreeRTOS官网获取

步骤如下:

1)浏览器打开网址:https://www.freertos.org/

2)进入官网后,点击下载FreeRTOS,如下图1:

图1

 3)下载最新源码,如下图2:

 图2

4)等待文件下载,如下图3:

图3

5)解压文件夹,如下图4:

图4

6)打开源码文件夹,如下图5:

 图5

1.2、正点原子开发板A盘资料\6,软件资料\13,版本-->V10.4.6

二、移植源码

2.1、移植步骤

2.1.1、添加源码、头文件路径

1)mdk与工程目录添加源码

打开一个原子哥流水灯例程(System目录已删除,因为发现和原子哥教学视频代码不一样,所以用别人写好的),在工程目录下创建一个FreeROTS并复制FreeRTOS源码,在工程中添加两个文件(FreeRTOS_CODE,FreeRTOS_PORTABLE),并向这两个文件添加.c文件,添加完成后如下图1、2:

图1

 图2

2)添加文件路径

打开使用的mdk,将port.c和heap_4.c文件所在目录路径添加,添加完成后如下图3:

图3

2.1.2、添加FreeRTOSConfig.h文件路径

在FreeRTOS官方给的Demo中找到FreeRTOSConfig.h文件,复制到include目录下(什么位置无所谓,路径找到到就可以),添加完成如下图4:

图4

2.1.3、添加或修改相关代码

步骤点这里

三、FreeRTOS源码文件了解

3.1、FreeRTOS

可以看出 FreeRTOS 源码中有4个文件夹,总结构如下图5:

 

 图5

3.1.1、Demo

FreeRTOS的相关例程,结构如下图6:

图6

3.1.2、License

相关的许可信息,使用FreeRTOS做产品的需要看看,结构如下图7:

图7

3.1.3、Source

 Source文件夹内容是FreeRTOS的源码,在移植时需要移植的源码就是来自于这,结构如下图8:

 图8

3.2、FreeRTOS-Plus

而是在 FreeRTOS系统上另外增加的一些功能代码,比如 CLI FAT Trace 等等。就系统本身而言,和 FreeRTOS 里面的一模一样的,所以我们如果只是学习 FreeRTOS 这个系统的话, FreeRTOS-Plus 就没必要 看了。

3.3、tools

新增的一些工具,不熟悉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/180613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VisualSVN Server Enterprise 5.1.1 Crack

VisualSVN Server 提供以下主要功能。 Active Directory 单点登录 允许用户使用他们当前的 Active Directory 域凭据访问 VisualSVN Server。使用安全 Kerberos V5 或 NTLM 身份验证协议。支持双因素身份验证和智能卡。 多站点存储库复制 使用 VisualSVN 分布式文件系统 (VDF…

MySQL基础(1)—— 卸载与安装

文章目录MySQL卸载【windows】1、停止MySQL服务2、软件的卸载2.1 通过控制面板卸载软件2.2 通过360软件管家等第三方软件进行删除2.3 通过MySQL安装包提供的卸载功能卸载3、残余文件的清理4、清理注册表5、删除环境变量配置MySQL安装【windows】1、下载安装包2、安装3、配置环境…

Sharding-JDBC(六)5.1.0版本,实现按月分表、自动建表、自动刷新节点

目录1.Maven 依赖2.创建表结构3.yml 配置4.TimeShardingAlgorithm.java 分片算法类5.ShardingAlgorithmTool.java 分片工具类6.ShardingTablesLoadRunner.java 初始化缓存类7.SpringUtil.java Spring工具类8.源码测试9.测试结果10.代码地址背景: 项目用户数据库表量…

vscode运行C/C++程序

一、vsocde对C/C的支持 Visual Studio Code对C/C语言的支持由Microsoft C/C扩展程序提供。它使得C/C在Windows、Linux和macOS等跨平台开发成为可能。 二、安装扩展程序 打开VS Code软件选择任务栏上的扩展视图图标(下图红色方框)或使用快捷键(CtrlShif…

【自然语言处理】情感分析(四):基于 Tokenizer 和 Word2Vec 的 CNN 实现

情感分析(四):基于 Tokenizer 和 Word2Vec 的 CNN 实现本文是 情感分析 系列的第 444 篇,前三篇分别是: 【自然语言处理】情感分析(一):基于 NLTK 的 Naive Bayes 实现【自然语言处…

服务发现Discovery和Eureka自我保护机制

目录 一、服务发现Discovery ​二、Eureka自我保护 (一)故障现象 (二)导致原因 (三)怎么禁止自我保护 三、Eureka2.0的停更 一、服务发现Discovery 对于注册进eureka里面的微服务,可以通…

外挂、破解软件理论与实战

外挂、破解软件理论与实战 1 理论 1.1 不同操作系统下的可执行文件 Windows【PE】 PE 格式,可移植可执行格式(Portable Executable), 是 Windows 下的主要可执行文件格式。别被名字迷惑了,PE 文件必须是 Windows 下…

第四十六章 动态规划——状态机模型

第四十六章 动态规划——状态机模型一、通俗理解状态机DP1、什么是状态机2、什么是状态机DP二、例题1、AcWing 1049. 大盗阿福(1)问题(2)分析a.状态定义b.状态转移c.循环设计d.初末状态(3)代码2、AcWing 10…

C++学习/温习:新型源码学编程(三)

写在前面(祝各位新春大吉!兔年如意!) 【本文持续更新中】面向初学者撰写专栏,个人原创的学习C/C笔记(干货)所作源代码输出内容为中文,便于理解如有错误之处请各位读者指正请读者评论回复、参与投票&#xf…

01 课程简介、HTML标签【尚硅谷JavaWeb教程】

1. 课程体系设计 2. HTML标签 服务器—浏览器&#xff08;字符串"" &#xff09; demo01.html 1&#xff09;html语言是解释型语言&#xff0c;不是编译型 浏览器是容错的 2&#xff09;html页面中由一对标签组成&#xff1a; < html>称为 开始标签 < /htm…

Java基础语法——数组概念、数组内存图解(一个数组、二个数组)及二元数组的应用

目录 数组概述 数组定义格式 数组概念 数组的定义格式 数组的初始化 数组初始化概述 数组的初始化方式 Java中的内存分配 Java中一个数组的内存图解 Java中二个数组的内存图解 两个数组指向同一个地址的内存图解 数组操作中两个常见的小问题 二维数组 二维数组概述…

c++11 标准模板(STL)(std::forward_list)(十一)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

前端架构处理Cookie、Session、Token

1. Cookie Cookie 总是保存在客户端中。按在客户端中的存储位置&#xff0c;可分为内存 Cookie 和硬盘 Cookie。 内存 Cookie 由浏览器维护&#xff0c;保存在内存中&#xff0c;浏览器关闭后就消失了&#xff0c;其存在时间是短暂的。硬盘 Cookie 保存在硬盘里&#xff0c;…

Spring Boot、Spring MVC热部署

一、相关概述 JVM能够识别的是字节码.class文件每次重新运行都是一个重新编译的过程&#xff0c;也就是说会生成新的target字节码文件&#xff1b;但是每次修改了代码之后也必须要重新运行&#xff0c;这样比较麻烦。热部署就能较好地解决该问题&#xff0c;直接刷新页面就可以…

(22)go-micro微服务kibana使用

文章目录一 kibana介绍二 Kibana主要功能三 Kibana侧边栏四 Kibana安装1.拉取镜像2.运行命令3.查看是否运行五 Kibana使用六 Kibana图形化界面七 最后一 kibana介绍 Kibana &#xff1a;是一个开源的分析和可视化平台&#xff0c;旨在与 Elasticsearch 合作。Kibana 提供搜索、…

初识Nonebot2

文章目录什么是nonebot2&#xff1f;机器人工作流程WebSocket协议OneBot标准Nonebot2框架工作路径什么是nonebot2&#xff1f; 关于NoneBot2&#xff0c;我们先来引用一下官方文档的描述 NoneBot2是一个可扩展的 Python 异步机器人框架&#xff0c;它会对机器人收到的事件进行…

创建进度条 tqdm模块

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 创建进度条 tqdm模块 选择题 以下python代码最后输出错误的一项是? from tqdm import tqdm import time text{loss:0.2,learn:0.8} print(【开始执行】) for i in tqdm(range(50)…

python图像处理(图像缩放)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图像缩放也是isp处理的一个基本功能。现在的camera像素越来越大,但是显示设备的分辨率是一定的,如果想把图像显示在显示器或者lcd上面,那就要符合对应显示设备的分辨率。一般来说…

【数据结构与算法理论知识点】5、图与贪心算法

5、图与贪心算法 逻辑结构 5.1、图的定义和术语 图&#xff1a;Graph(V,E) V:顶点&#xff08;数据元素&#xff09;的有穷非空集合&#xff1b; E:边的有穷集合。 **无向图:**每条边都是无方向的 有向图:每条边都是有方向的 完全图:任意两个点都有一条边相连 稀疏图:有很…

SSM 农产品销售管理系统

SSM 农产品销售管理系统 SSM 农产品销售管理系统 功能介绍 首页 用户登录注册 图片轮播 最新上架 农产资讯 产品商城 产品详情 在线留言 加入购物车 提交购买 评论 收藏 系统简介 系统公告 关于我们 友情链接 后台管理 登录 系统用户管理 修改密码 用户权限管理 产品信息管理…