从0开始搭建基于ARM GCC的软件系统04——移植FreeRTOS

一、获取FreeRTOS源码

    进入FreeRTOS官网:https://www.freertos.org/a00104.html

  

从0开始搭建基于ARM GCC的软件系统04——移植FreeRTOS

点击Download下载源码文件。我下载的是“FreeRTOSv10.2.1_191129.exe”,其它版本也可以。

解压后:

从0开始搭建基于ARM GCC的软件系统04——移植FreeRTOS

先不用看Labs和Plus两个文件夹(后面熟悉了之后再看)。直接进入到FreeRTOS目录:

从0开始搭建基于ARM GCC的软件系统04——移植FreeRTOS

进入到Source目录:

从0开始搭建基于ARM GCC的软件系统04——移植FreeRTOS

如图所示,就是FreeRTOS的源代码了。将其移植到我们的系统中即可。

 

二、移植FreeRTOS

在我们的系统工程中创建一个目录用于存放FreeRTOS源码。

我创建目录结构:OSFreeRTOSv10.2.1Source。

将以下文件都从刚下载的源码包中拷贝过来。

特别注意:在选择port.c时,一定要选择与硬件对应的目录,否则即使编译通过了,也可能会跑不起来。

文件移植完成后,可以尝试编译看看,不过编译过程中可能会报一些错误。

常用错误是启动文件中的中断响应函数需要做一些修改。

三、修改启动文件

启动文件中会用到port.c中的三个中断函数。

这里为了保持启动文件的一致性,我们不修改启动文件,来修改port.c中的函数名:

这个函数在stm32l4xx_it.c也有定义,所以需要将其注释掉。

四、修改系统时钟频率

根据实际情况修改系统时钟频率:configCPU_CLOCK_HZ。

我的系统中使用SystemCoreClock定义的系统频率。

在FreeRTOSConfig.h中修改如下:

我这里通过前面这些步骤的修改,代码已经顺利编译通过。若还有遇到编译问题,可逐一排除(不清楚的可百度解决^_^)。

五、写测试代码

本例测试GPIOB6以1秒的频率闪烁。

比较幸运……

编译后直接跑起来了……

来源:YLFM-明觉

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月21日
下一篇 2019年11月21日

相关推荐