一、获取FreeRTOS源码
进入FreeRTOS官网:https://www.freertos.org/a00104.html
点击Download下载源码文件。我下载的是“FreeRTOSv10.2.1_191129.exe”,其它版本也可以。
解压后:
先不用看Labs和Plus两个文件夹(后面熟悉了之后再看)。直接进入到FreeRTOS目录:
进入到Source目录:
如图所示,就是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进行处理,非常感谢!