使用官方的ide可以直接创建带FreeRTOS的工程,但是不利于我们学习移植,所以特此记录怎么从头开始移植FreeRTOS到CH32V307VCT6芯片使用。
- 下载FreeRTOS源码
首先进入https://www.freertos.org/官网,然后找到如下Download字样,进入下载即可
下载完成后我们解压使用。 - 移植开始
接下来我们就开始进行移植工作,准备一个全新的工程,然后在项目目录中新建FreeRTOS目录,如下图所示。
接下来我们只需要往这里面填充我们的问题即可,首先把FreeRTOSv202406.01-LTS\FreeRTOS-LTS\FreeRTOS\FreeRTOS-Kernel目录下的include和portable文件夹复制到我们工程的目录中,然后把FreeRTOS-Kernel目录下的c文件全部复制到我们工程的FreeRTOS目录中,然后我们还需要一个配置文件去配置我们需要的功能,复制FreeRTOSv202406.01-LTS\FreeRTOS-LTS\FreeRTOS\FreeRTOS-Kernel\examples\template_configuration目录下的FreeRTOSConfig.h到我们工程目录FreeRTOS中。然后我们删除我们不需要用的文件,FreeRTOS\portable目录只保留MemMang和GCC目录,其中MemMang目录中只保留heap_4.c文件,GCC目录只保留RISC-V\chip_specific_extensions\RV32I_CLINT_no_extensions文件夹,至此,需要的文件我们基本就算完成了。
3.添加文件到工程中
如下,打开工程选项配置界面,
点击后出现如下界面后按照步骤执行添加我们的头文件。
然后出现如下界面,选择WorkSpace,随后选择项目路径后点击ok即可。
添加完成后的界面如下
如此就可以开始编译了一次我们的项目了。