文章目录
- 系列文章目录
- 一、Free-Rtos是什么?
- 二、在stm32工程模板里如何使用free-rtos系统
- 1.如何在官网下载free-rtos源码
- 2.如何在stm32工程中使用free-rtos系统
- 总结
前言
程序需要沉淀沉淀再沉淀
提示:以下是本篇文章正文内容,下面案例可供参考
一、free-rtos是什么?
这里我就直接参考正点原子资料了。
二、在stm32工程模板里如何使用free-rtos系统
1.如何在官网下载free-rtos源码
下载free-rtos源码链接:FreeRTOS Real Time Kernel (RTOS) - 浏览 /FreeRTOS at SourceForge.net
打开以后出现一下界面:
这里我选择9.0.0版本来讲解,点击进去跳转到以下界面:
这里面有zip和exe文件,大家任意选择其中一个下载就好,下载后:
打开以上这个exe文件,会提示保存的路径,然后源码就会放在这里。这里就不做介绍了
其中FreeRTOS和 FreeRTOS-plus这2个文件夹就是源码,plus说白了就是功能会多一点,跟苹果手机plus理解是一样的,如果只是学习free-rtos系统,plus这个文件夹里的源码就不需要用到了。
打开FreeRTOS文件夹出现以下:
其中:Demo文件夹就是freerots的相关例程,
License文件夹就是相关的许可信息,
Source文件夹就是freerots的庐山真面目了,就是源码,打开之后:
其中这6个.c文件就是移植freertos时候需要用到了的,很重要。include文件就是包含的头文件,这里就不做过多的介绍了,接下来看看protable文件夹:
其中keil、 MenMang、RVDS这3个文件,移植的时候也需要用到,他们分别是:使用MDK编译环境需要用到的文件、管理内存的一些文件、使用MDK编译环境所需的文件。这里重点讲解以下RVDS文件,玩过32的同学对这个文件命应该不陌生吧,里面就是不同架构的MCU:
这里我使用的是stm32f103zet6,所以就要用到ARM_CM3文件夹了,打开该文件夹后发现有一个.c和.h文件,这2个文件也是移植的时候所必须要的。
接下来就让我们正式的移植该系统吧!
2.如何在stm32工程中使用free-rtos系统
这里我随便找了正点原子的一个例程:
我们要新建一个文件夹,这里我命名为:FreeRTOS
然后打开该工程后:
新建2个分组:FreeRTOS_CORE和FreerRTOS_PORTABLE
分别将刚刚我提到的.c文件依次添加:
添加完.c文件后,就要添加对应的头文件了:
添加完后编译一下会发现找不到FreeRTOSConfig.h文件
这个文件就在我刚刚说的例程里面随便找一个复制过来,具体放到哪个文件夹就随意,自己决定。
然后再编译一遍,就没有错误了。
这里还没有完成freertos的移植,还需要配置以下3个.c文件:
下个章节再介绍怎么更改这3个文件吧,现在打字累了哈哈哈哈。
总结
还是那一句话:程序需要沉淀沉淀再沉淀。