基于STM32的FreeRTOS开发(2)----Cube工程的FreeRTOS配置

news2024/9/22 11:38:27

为什么使用Cube进行FreeRTOS配置

STM32Cube是STMicroelectronics提供的一种软件工具,用于配置和生成STM32微控制器的固件。它提供了一个图形化用户界面,可以轻松配置微控制器的各种功能和外设,并生成初始化代码。使用Cube可以大大简化微控制器开发过程,减少手工编写配置代码的工作量。
FreeRTOS是一个嵌入式实时操作系统,提供了任务调度、信号量、队列等多种多核操作系统常用机制。使用Cube配置FreeRTOS可以使用图形化界面轻松配置任务和资源,并生成初始化代码。这样可以大大减少手工编写FreeRTOS配置代码的工作量,使得开发人员能够专注于应用程序的开发。

最近在弄ST和GD的课程,需要GD样片的可以加群申请:6_15061293 。

生成例程

使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板
在这里插入图片描述
新建一个工程,这里有3种新建工程方式。
● 基于MCU新建工程
● 基于ST模块新建工程
● 基于案例新建工程
在这里插入图片描述
创建时候,可以查看开发板或者芯片的基础资料。
在这里插入图片描述

配置FreeRTOS

如果想要在STM32上使用FreeRTOS,需要遵循以下步骤:
1.在左侧的菜单栏中选择“Middleware”,然后找到“FreeRTOS”选项并将其打开。
在这里插入图片描述
2.选择FreeRTOS版本
FreeRTOS是一个可移植的实时操作系统,可以在很多不同的平台上运行。
CMSIS-RTOS v1是在CMSIS v2之前发布的版本。它为 Cortex-M 微控制器提供了简单的RTOS接口,但没有提供其他额外的功能,如事件、信号量等。
CMSIS-RTOS v2是在CMSIS v3之后发布的版本。它为 Cortex-M 微控制器提供了丰富的RTOS接口,支持事件、信号量等多种功能。它还支持跨平台开发,可以在不同的操作系统上使用。
FreeRTOS 可以使用两种CMSIS-RTOS版本来移植到不同的平台上,CMSIS_v1和CMSIS_v2可以使FreeRTOS移植到很多不同的平台上。选择哪一个版本具体取决于项目需求和硬件平台的限制。
在这里选择CMSIS v2进行开发。
在这里插入图片描述
3.需要为FreeRTOS配置合适的时钟源,围了防止与HAL库钟的时钟冲突,可以将时基源修改为定时器。
在这里插入图片描述
4.在“FreeRTOS”选项卡中,可以配置FreeRTOS的各种参数,如内存分配方式、任务优先级等。
在这里插入图片描述
在配置FreeRTOS的时候,系统会自动创建一个用户任务,在配置面板钟选择Tasks and Queues可以查看。
在这里插入图片描述
5.生成包含FreeRTOS配置的代码。
在Project Manager中,选择Code Generator,选择生成独立的c和文件。
在这里插入图片描述
在Project中,配置项目路径,注意不能有空格和中文,之后选择IDE为STM32CubeIDE。
在这里插入图片描述
6.点击“Generate Code”按钮,STM32CubeMX将会生成包含FreeRTOS配置的代码。
在这里插入图片描述
编译并下载程序到STM32微控制器,就可以使用FreeRTOS了。请注意,这只是一个大致的流程,具体的配置过程因开发环境和微控制器型号而异。

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

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

相关文章

[GNN] 图神经网络入门

GNN和GCN的入门公式一、GNN的计算二、GCN的计算跟随B站课程【GNN图神经网络最牛教程】学不会up直接下跪!图神经网络快速入门教程(GNN/GCN)的笔记 一、GNN的计算 对于一个图来说,要更新它自身的特征,也要更新它邻接节点…

前端websocket劫持漏洞(CSWSH)

0x00 什么是ws劫持 在Websocket的业务中,其中常见的漏洞是ws劫持,全称为跨站点CSWSH(Cross-Site WebSocket Hijacking)跨站WebSocket劫持漏洞。 WebSocket概念 WebSocket是通过HTTP启动的双向、全双工通信协议。它们通常用于流式传输数据和其他异步流量…

深度卷积神经网络、池化层、为什么使用卷积

目录1.深度卷积神经网络(a deep convolutional neural network)输入图像的维度是,如果,计算输出图像维度公式:。s表示步幅,p表示填充的层数。filters的通道数是和输入图像的通道数保持一致的。分析上图案例:第一层卷积…

MySQL基本查询案例练习

目录 一.案例1 需求 解决代码 二.案例2 需求 解决代码 一.案例1 创建一个学生表,插入以下数据 insert into student values(1,张明,男,89,78,90), (2,李静,男,77,73,60), …

golang map原理

简介本文主要通过探究在golang 中map的数据结构及源码实现来学习和了解map的特性,共包含map的模型探究、存取、扩容等内容。欢迎大家共同讨论。Map 的底层内存模型在 goland 的源码中表示 map 的底层 struct 是 hmap,其是 hashmap 的缩写type hmap struc…

“华为杯”研究生数学建模竞赛2005年-【华为杯】A题:交通网络的通行时间预测与最优路径决策(附获奖论文)

赛题描述 A: Highway Traveling time Estimate and Optimal Routing Ⅰ Highway traveling time estimate is crucial to travelers. Hence, detectors are mounted on some of the US highways. For instance, detectors are mounted on every two-way six-lane highways o…

树与二叉树深度剖析(一)

一. 树简介 1. 定义 (1) 树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。 (2) 树(Tree)是n(n≥0)个节点(Node)的有限集合。在任意一颗非空树中,有且仅有一个特定的成为根(Root)…

【快速幂】876. 快速幂求逆元

876. 快速幂求逆元 文章目录题目描述输入格式:输出格式:数据范围输入样例输出样例方法:快速幂解题思路代码复杂度分析:题目描述 给定 n 组 ai,pia_i,p_iai​,pi​,其中 pip_ipi​ 是质数,求 aia_iai​ 模 …

MySQL 8.0.31中使用MySQL Workbench提示配置文件错误信息

MySQL 8.0.31中使用MySQL Workbench提示配置文件错误信息 Error opening configuration file UnicodeDecodeError:‘gbk’ coded can’t decode byte 0x92 in position 5004: illegal multibyte sequence 配置文件之前安装MySQL Server的时候编码格式好像改了, 才使的MySQL W…

高级通讯录(C语言)

目录 前言 为何要实现高级通讯录 高级通讯录实现: 创建通讯录 打印菜单 初始化通讯录 实现加载功能 实现添加功能 实现增容功能 实现删除功能 实现查询功能 实现修改功能 实现查询所有联系人功能 实现排序功能 实现清空功能 实现保存功能 实现退出功能 通讯录总代码…

基于stm32G431RBT6蓝桥杯嵌入式—新建工程和点灯

目录 cube新建工程 GPIO输出与LED模块 推挽输出模式push-pull 开漏输出模式open-drain LED原理 程序 cube新建工程 时钟树配置:一般使用内部时钟。 GPIO输出与LED模块 输入0,输出GND;输入1,输出3.3V。 P-MOS管高电平导通&a…

2023年新手卖家怎么做好跨境电商?

随着互联网时代的高速发展,跨境电商成为我国经济发展中不可忽视的重要力量,在国内优惠政策大力扶持以及线上消费习惯的加持下,跨境电商行业迎来了发展的黄金机遇期。但是随之而来的是各大资本的涌入,跨境电商中小卖家们也面对越发…

第五章 程序控制结构

一、程序流程控制介绍 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。 (1)顺序控制 (2)分支控制 (3)循环控制顺序控制&am…

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_…

数据库管理-第五十四期 春节俩故障(20230128)

数据库管理 2023-01-28第五十四期 春节俩故障1 19.13 bug 320763052 19.15 CSS总结第五十四期 春节俩故障 虽然春节期间除了年三十的现场值班和远程值班&#xff0c;没啥事的&#xff0c;结果还是处理了俩故障&#xff0c;今天上工&#xff0c;分析一下。 1 19.13 bug 320763…

了解3dmax面片建模方式

首先在模式里面选中面片栅格&#xff0c;Patch Grids&#xff1b; 选择四边形面片&#xff1b; 在顶视图中画一个面片&#xff0c;之后如下&#xff1b;面片从前和左看到的是一条线&#xff1b; 调整面片参数&#xff0c;长度分段和宽度分段分别为2和3&#xff1b; 工具栏选中修…

信息论复习—线性分组码的基本性质

目录 线性分组码&#xff1a; 非线性码示例&#xff1a; 线性码示例: 许用码字间的距离&#xff0d;&#xff0d;码距&#xff1a; 码距与码的检错纠错能力之间的关系&#xff1a; 线性分组码的基本性质&#xff1a; 线性分组码的最小码距与最小码重的关系&#xff1a; …

最详细的华为VRP操作指南

第二章&#xff1a;华为VRP系统 通用路由平台VRP&#xff08;Versatile Routing Platform&#xff09;是华为公司数据通信产品的通用操作系统平台。它以IP业务为核心&#xff0c;采用组件化的体系结构&#xff0c;在实现丰富功能特性的同时&#xff0c;还提供了基于应用的可裁…

Android深入系统完全讲解(43)

为什么要编码&#xff1f;这里主要是因为信息有甬余需要压缩&#xff0c;所以会出现各类算法。如果存储原始 数据&#xff0c;那就很大。 举例来说&#xff0c;BMP&#xff0c;压缩算法有 jpg&#xff0c;png 等等。 比如 PCM&#xff0c;压缩的 mp3 H.264 相关 这里我们看一下…

剑指 Offer 09. 用两个栈实现队列(力扣)

一&#xff1a;题目用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回 -1 )示例 1&#xff1a;输入&…