梁山派GD32F470移植FreeRTOS
准备工作
- 梁山派:梁山派有两个版本1.0.1(GD32F450)和1.0.2(GD32F470)版本
- GD32F470项目: https://gitea.klelee.org/klelee/GD32F470ZGT6
- FreeRTOS源码:
移植过程
FreeRTOS内核精简
我们下载到的FreeRTOS解压后得到如下目录,我们只需要其中的FreeRTOS目录,及其两个子目录Demo和Source下的部分文件,其他的文件和目录均删除。

精简后的FreeRTOS源码如下:

Keil项目导入FreeRTOS
首先将上面裁剪完成的FreeRTOS内核放到工程下面

双击打开GD32F470.uvprojx

在工程中创建FreeRTOS目录

将本地FreeRTOS相关源码导入工程

在项目下的FreeRTOS目录下找到source目录,选中该目录下的所有c文件,并点击Add


继续添加其他c文件,按照同样的步骤找到heap_4.c并添加:

继续找到port.c并添加

导入FreeRTOSconfig.h
将GD32F470ZGT6\FreeRTOS\Demo\CORTEX_M4F_STM32F407ZG-SK 目录下的FreeRTOSConfig.h文件复制到GD32F470ZGT6\FreeRTOS\Source\include 下。
将FreeRTOS的头文件路径配置到项目中


继续导入port.h 的头文件路径

至此,FreeRTOS的导入工作就完成了。
工程配置
不使用微库

关闭微库后printf重定向的问题就会报错,可以进行如下调整:
#if !defined(__MICROLIB)
//不使用微库的话就需要添加下面的函数
#if (__ARMCLIB_VERSION \n#技术交流#
登录 或 注册 后才可以进行评论哦!
还没有评论,抢个沙发!