JNH官网

【ARM】应用CMSIS接口在STM32F769开发板实现FreeRTOS的移植

一、文档背景

在嵌入式系统开发中,实时操作系统(RTOS)是一种用于管理任务调度、资源共享和同步的软件。 FreeRTOS是一个轻量级、可移植的RTOS内核,因其易用性和可靠性而广受欢迎。

CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司提供的标准接口,用于简化ARM Cortex-M微控制器开发。 CMSIS提供了一系列硬件抽象层(HAL)和中间件,可帮助开发人员轻松地将应用程序移植到不同的ARM Cortex-M微控制器平台。


二、 解决的问题或者进行问题分析

● 简介:概述移植FreeRTOS的过程。

● 配置CMSIS接口:如何配置CMSIS接口以支持FreeRTOS。

● 移植FreeRTOS内核:介绍如何将FreeRTOS内核移植到STM32F769开发板。

● 创建任务:如何创建FreeRTOS任务。


三、 如何应用CMSIS接口在STM32F769开发板实现FreeRTOS的移植

1. 打开STM32CubeMX软件,选择“ACCESS TO MCU ...”,如下图3-1所示:




图3-1

2. 选中开发板对应的处理器的名称,选择“Start Project...”,如下图3-2所示:



图3-2

3. 选择“Project Manager”,输入项目名称,并选择工具链名称,如下图3-3所示:



图3-3

4. 由于在项目中需要用于LED灯的控制,打开发板关于LED的原理图,如下图3-4所示:



图3-4

5. 根据LED灯的原理图配置好,LED灯的GPIO口,如下图3-5所示:



图3-5

6. 设置晶振的类型,如下图3-6所示:



图3-6

7. 选择“FreeRTOS”,配置好接口,再选择“Tasks and Queues”,添加任务,如下图3-7所示:



图3-7

8. 添加GreenLEDTask与BlueLEDTask两个任务,如下图3-8所示:



图3-8

9. 把“Timebase Source”修改为TIM6,如下图3-9所示:



图3-9

10. 配置好系统时钟,如下图3-10所示:


图3-10

11. 选择“GENERATE CODE”生成项目生成并打开项目,如下图3-11所示:


图3-11

12. 新创建Board_LED.c与Board_LED.h文件,并修改Main与gpio文件内容,Board_LED.c文件部分代码如图3-12所示:



图3-12

13. 修改freertos.c文件中GreenLED与BlueLED对应任务函数的内容,如下图3-13所示:


图3-13

四、验证FreeRTOS已移植成功

编译工程,并把工程下载到STM32F769开发板上,观察绿灯与蓝灯的闪烁情况。


五、讨论分析

1、找不到相关的头文件,如图5-1所示:



图5-1

解决方法:

确认相关头文件的路径,把相关的头文件添加到项目中,如图5-2所示:



图5-2

六、结论

使用CMSIS接口移植FreeRTOS可以进一步简化移植过程并提高代码的可移植性,创建更强大、更可靠和更高效的应用程序。


【更多软件使用问题请站内搜索或关注B站:查看视频教学】

jnh官网 jnh官网 jnh官网 jnh官网 金年会 金年会 金年会 金年会