文章目录

  • 系列文章目录
  • 一、Free-Rtos是什么?
  • 二、在stm32工程模板里如何使用free-rtos系统
  • 1.如何在官网下载free-rtos源码
  • 2.如何在stm32工程中使用free-rtos系统
  • 总结



前言

程序需要沉淀沉淀再沉淀


提示:以下是本篇文章正文内容,下面案例可供参考

一、free-rtos是什么?

freemodbus 主机模式 stm32f103_stm32

 这里我就直接参考正点原子资料了。

二、在stm32工程模板里如何使用free-rtos系统

1.如何在官网下载free-rtos源码

下载free-rtos源码链接:FreeRTOS Real Time Kernel (RTOS) - 浏览 /FreeRTOS at SourceForge.net

打开以后出现一下界面:

freemodbus 主机模式 stm32f103_嵌入式硬件_02

 

这里我选择9.0.0版本来讲解,点击进去跳转到以下界面:

freemodbus 主机模式 stm32f103_编译环境_03

 这里面有zip和exe文件,大家任意选择其中一个下载就好,下载后:

freemodbus 主机模式 stm32f103_编译环境_04

打开以上这个exe文件,会提示保存的路径,然后源码就会放在这里。这里就不做介绍了

freemodbus 主机模式 stm32f103_stm32_05

其中FreeRTOS和 FreeRTOS-plus这2个文件夹就是源码,plus说白了就是功能会多一点,跟苹果手机plus理解是一样的,如果只是学习free-rtos系统,plus这个文件夹里的源码就不需要用到了。

打开FreeRTOS文件夹出现以下:

freemodbus 主机模式 stm32f103_arm_06

 其中:Demo文件夹就是freerots的相关例程,

             License文件夹就是相关的许可信息,

             Source文件夹就是freerots的庐山真面目了,就是源码,打开之后:

freemodbus 主机模式 stm32f103_嵌入式硬件_07

其中这6个.c文件就是移植freertos时候需要用到了的,很重要。include文件就是包含的头文件,这里就不做过多的介绍了,接下来看看protable文件夹:

freemodbus 主机模式 stm32f103_arm_08

其中keil、 MenMang、RVDS这3个文件,移植的时候也需要用到,他们分别是:使用MDK编译环境需要用到的文件、管理内存的一些文件、使用MDK编译环境所需的文件。这里重点讲解以下RVDS文件,玩过32的同学对这个文件命应该不陌生吧,里面就是不同架构的MCU:

freemodbus 主机模式 stm32f103_嵌入式硬件_09

这里我使用的是stm32f103zet6,所以就要用到ARM_CM3文件夹了,打开该文件夹后发现有一个.c和.h文件,这2个文件也是移植的时候所必须要的。

freemodbus 主机模式 stm32f103_arm_10

 

接下来就让我们正式的移植该系统吧!

2.如何在stm32工程中使用free-rtos系统

这里我随便找了正点原子的一个例程:

freemodbus 主机模式 stm32f103_stm32_11

我们要新建一个文件夹,这里我命名为:FreeRTOS

freemodbus 主机模式 stm32f103_官网_12

 

 然后打开该工程后:

freemodbus 主机模式 stm32f103_官网_13

 新建2个分组:FreeRTOS_CORE和FreerRTOS_PORTABLE

freemodbus 主机模式 stm32f103_stm32_14

 分别将刚刚我提到的.c文件依次添加:

freemodbus 主机模式 stm32f103_stm32_15

 

freemodbus 主机模式 stm32f103_嵌入式硬件_16

 

freemodbus 主机模式 stm32f103_官网_17

 添加完.c文件后,就要添加对应的头文件了:

freemodbus 主机模式 stm32f103_官网_18

 添加完后编译一下会发现找不到FreeRTOSConfig.h文件

freemodbus 主机模式 stm32f103_arm_19

 这个文件就在我刚刚说的例程里面随便找一个复制过来,具体放到哪个文件夹就随意,自己决定。

然后再编译一遍,就没有错误了。

这里还没有完成freertos的移植,还需要配置以下3个.c文件:

freemodbus 主机模式 stm32f103_arm_20

 下个章节再介绍怎么更改这3个文件吧,现在打字累了哈哈哈哈。


总结

还是那一句话:程序需要沉淀沉淀再沉淀。