纪国圣 发表于 2020-4-5 08:57

FreeRTOS IO移植

本帖最后由 纪国圣 于 2020-4-5 09:01 编辑

FreeRTOS IO是FreeRTOS下的一个功能组件,为用户提供一种类似于POSIX的外设驱动框架。
官网关于FreeRTOS IO介绍如下:


官网上有关于FreeRTOS IO的使用例程,但基于的是LPC1769单片机。因此本帖以此为蓝本,介绍如何将FreeRTOS IO移植到STM32上。
硬件平台为STM32F429-Nucleo
软件平台为STM32CubeMXv5.5+keilv5(采用零级优化)
                HAL库版本为V1.25
                FreeRTOS版本为10.2.1
本例程是在已移植好FreeRTOS的例程上修改。
首先解压LPC1769_FreeRTOS_Plus_Featured_Demo_002.zip文件,将LPC1769_FreeRTOS_Plus_Featured_Demo_002\FreeRTOS-Products\FreeRTOS-Plus-IO文件拷贝至工程中。

其中Device和使用的硬件平台相关,为本次修改重点,其余的文件为FreeRTOS IO的源码,修改较少。
添加头文件路径和.c文件:



先屏蔽串口中断和初始化:


然后修改以下文件:







FreeRTOS_STM32F4xx_uart.c的修改请见具体文件。
然后开一个任务,写一个非常简单的例程验证移植是否正确:

效果如下:
通过发送字符串,可以看到开发板上的灯闪烁。
注意,在编译过程中会出现警告,按下图配置忽略警告:

至此移植完成。
官网源码:
移植好的源码:

纪国圣 发表于 2020-4-12 11:10

大家平时不用FreeRTOS的其他组件做开发吗?

磨砂 发表于 2020-5-6 16:26

非常感谢楼主分享

晓伍 发表于 2020-5-6 16:27

英文的也看不明白啊

八层楼 发表于 2020-5-6 16:27

有截图很清晰

观海 发表于 2020-5-6 16:28

非常不错的资料

一直填填 发表于 2022-6-24 16:48

mask一下

sadicy 发表于 2022-6-26 11:05

感觉你们做移植,怎么这么轻松

juliestephen 发表于 2022-7-10 14:09

这个IO是什么组件   

kkzz 发表于 2022-7-10 15:06

FreeRTOS没有用到这一步呢。   

sanxingnote7 发表于 2022-7-10 17:23

有开发FreeRTOS的教程吗?

jimmhu 发表于 2022-7-10 19:16

POSIX是总线的吗   

hearstnorman323 发表于 2022-7-10 21:31

谢谢楼主分享的资料了。   

rosemoore 发表于 2022-7-24 22:04

如何自定义组件?   
页: [1]
查看完整版本: FreeRTOS IO移植