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

描述

为什么使用Cube进行FreeRTOS配置

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

样品申请

[https://www.wjx.top/vm/wFGhGPF.aspx#]

生成例程

使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板

stm32cubemx

新建一个工程,这里有3种新建工程方式。
● 基于MCU新建工程
● 基于ST模块新建工程
● 基于案例新建工程
stm32cubemx
创建时候,可以查看开发板或者芯片的基础资料。

stm32cubemx

配置FreeRTOS

如果想要在STM32上使用FreeRTOS,需要遵循以下步骤:
1.在左侧的菜单栏中选择“Middleware”,然后找到“FreeRTOS”选项并将其打开。

stm32cubemx
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进行开发。

stm32cubemx
3.需要为FreeRTOS配置合适的时钟源,围了防止与HAL库钟的时钟冲突,可以将时基源修改为定时器。

stm32cubemx

4.在“FreeRTOS”选项卡中,可以配置FreeRTOS的各种参数,如内存分配方式、任务优先级等。

stm32cubemx

在配置FreeRTOS的时候,系统会自动创建一个用户任务,在配置面板钟选择Tasks and Queues可以查看。

stm32cubemx

5.生成包含FreeRTOS配置的代码。 在Project Manager中,选择Code Generator,选择生成独立的c和文件。

stm32cubemx

在Project中,配置项目路径,注意不能有空格和中文,之后选择IDE为STM32CubeIDE。

stm32cubemx

6.点击“Generate Code”按钮,STM32CubeMX将会生成包含FreeRTOS配置的代码。

stm32cubemx

编译并下载程序到STM32微控制器,就可以使用FreeRTOS了。请注意,这只是一个大致的流程,具体的配置过程因开发环境和微控制器型号而异。
审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分