软件版本:VIvado HLx 2018.2
从FreeRTOS的官网中下载源代码:
https://www.freertos.org/a00104.html
图:FreeRTOS的官网
上图中,点击能支持的MCU,找到Xilinx的,如下图:
图:SupportMCUs 支持Xilinx的页面
可以看到,支持的工具是GCC(后面我们保留源码文件夹就只保留GCC的就OK。)。
我下载的是v10.0.0的版本(因为在2018.2自带的FreeRTOS BSP是10.0.0的),删除源码中不必要的文件夹(有关编译器的只保留GCC,有关硬件的只保留Cortex A9),最后保留下来的图下所示,并创建SourceInsight工程。
图:删除源码中的无关文件夹
其实Xilinx 提供的BSP有选项可以自带BSP(参考FreeRTOS网站:https://www.freertos.org/a00090.html#XILINX),不用做过多的移植,直接写应用程序就OK,下载源码是为了学习FreeRTOS,了解其原理。
在BSP源码中,有一个配置文件FreeRTOSConfig.h,如下图。
图:FreeRTOSConfig.h
不同架构的MCU在使用的时候配置也不同,在此配置文件中可以完成FreeRTOS的裁剪和配置。注释部分写得很清楚,不要在这个头文件中做任何编辑,需要改变配置在Board Support Package Settings中完成,如下图。
图:Board Support Package Settings
这个配置头文件FreeRTOSConfig.h主要包含“INCLUDE_xxx”开始的宏和“configxxx”开始的宏,具体每个宏控制什么,表达什么意思,可以参照正点原子的《FreeRTOS开发手册.pdf》第三章的内容,这个教程在他们官网上下载。