这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 坤创E-Geek/天科大新电社 » Free-RTOS移植在STM32上的移植

共13条 1/2 1 2 跳转至

Free-RTOS移植在STM32上的移植

高工
2019-10-11 17:46:42     打赏

准备工作:Free-RTOS源码、STM32基础工程。

1.将下载的源码进行解压,解压过程如下。

图片1.png


2.解压后会得到FreeRTOSv9.0.0文件夹,该文件夹包含了FreeRTOS的所有内容。

图片2.png

3.重点看下FreeRTOS与FreeRTOS-Plus文件夹的内容,FreeRTOS文件夹下有Demo、License、  Source三个文件。

图片3.png

4.Demo文件夹里面就是移植好的FreeRTOS的相关例程,这里列举了一些处理器包括ARM7、ARM9、AVR等。

图片4.png

5.可见FreeRTOS为很多MCU做了相关DEMO,这里也少不了ST的MCU,下面框出了ST的M4 M4内核的F4系列和F7系列。

图片5.png

6.这个是基于M3内核的F103系列的工程DEMO,我们重点关注CORTEX_STM32F103_Keil

图片6.png


7.License文件夹我们暂时不用关注,如果您的产品商业化了需要仔细阅读。

图片7.png

8.Source文件夹就知道是重头戏了,这里是FreeRTOS的源码,这些源码是以后我们学习需要熟悉的。大体上看没有UCOSIII那么多。

图片8.png

9.在include文件夹中主要包含了一些重要的头文件,移植的时候是我们所需要的。

图片9.png

10.Portable文件夹主要是用于FreeRTOS与硬件连接的桥梁,实现在不同的编译器和不同的MCU之间架起通向FreeRTOS的桥梁。

图片10.png

11.本平台建立在keil的编译器上,打开keil文件夹可以看到一个See-also-the-RVDS-directory.txt文本,让参考RVDS 文件夹下的路径内容。

图片11.png


12.打开RVDS文件夹,看到CM0、CM3、CM4、CM7内核都在,重点关注ARM_CM3文件夹

图片12.png

13.ARM_CM3文件夹中有port.c和portmacro.h文件,这两个文件是移植的时候所需要的。

图片13.png

14.关于FreeRTOS-Plus文件夹同样也有Demo和Source文件夹。

图片14.png

15.Demo 文件夹下也是一些相关的示例,Source文件夹下相对于FreeRTOS文件夹下的增加了一些功能,如CLI、FAT等,就系统本身而言和FreeRTOS是一样的,因此我们只需要掌握FreeRTOS即可。

图片15.png

16.在基础工程中新建一个FreeRTOS的文件夹

图片16.png

17.添加好FreeRTOS的文件夹后将FreeRTOS下的Source目录下的源码复制到该目录下。

图片17.png

18.可以将portable文件下不需要的文件夹删除,保留我们需要的,以keil平台为例,只需要保留Keil、MemMang、RVDS三个文件夹,其余的均可以删除。

图片18.png

19.在keil基本工程上添加两个分组,分别是FreeRTOS_CORE和FreeRTOS_PORT。

图片19.png

20.向FreeRTOS_CORE分组中添加 croutine.c、event_groups.c、list.c、queue.c、tasks.c、timers.c文件。

图片20.png

21.向FreeRTOS_PORT分组中添加port.c文件,该文件来自路径: portable\RVDS\ARM_CM3 heap_4.c文件来自路径:\portable\MemMang。其中port.c是ARM_CM3文件下的文件,选择M3的内核需要加入该文件。 heap_4.c来自MemMang文件下,作为内存管理的一种方法,我们暂时选择heap_4.c。

图片21.png

22.然后就是添加需要的头文件路径,如下所示:

图片22.png

23.尝试着编译一次,发现不能打开FreeRTOSConfig.h文件

图片23.png

24.由于缺少FreeRTOSConfig.h头文件,编译器会报错,我们可以自己新建一个FreeRTOSConfig.h文件,将其添加进去,这明显不是一个明智的办法,不要忘了我们有demo示例工程哦!从DEMO示例中找到FreeRTOSConfig.文件复制到我们include文件夹下。

图片24.png

25.再次编译,没有错误。

图片25.png

至此,我们的FreeRTOS的移植也全部完成啦。大家可以尽情的体验FreeRTOS带来的流畅体验了~







关键词: Free-RTOS     移植     STM32     FreeRT    

工程师
2019-10-11 22:15:15     打赏
2楼

学习一下


高工
2019-10-15 18:30:46     打赏
3楼

支持支持!


院士
2019-10-15 21:59:41     打赏
4楼

freeRTOS 我还是超级喜欢的


菜鸟
2019-10-21 22:15:44     打赏
5楼

来的有点晚啦


菜鸟
2019-10-22 19:31:17     打赏
6楼

学习一下



助工
2019-10-23 11:59:51     打赏
7楼
楼主好厉害呀,向楼主学习

工程师
2019-10-26 14:27:05     打赏
8楼

学习一下


工程师
2019-10-26 14:32:51     打赏
9楼

不错 给楼主点赞


工程师
2019-10-26 14:56:43     打赏
10楼

学习了    


共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]