【梁山派】GD32F470移植FreeRTOS
梁山派GD32F470移植FreeRTOS 准备工作 梁山派:梁山派有两个版本1.0.1(GD32F450)和1.0.2(GD32F470)版本 GD32F470项目: https://gitea.klelee.org/klelee/GD32F470ZGT6 FreeRTOS源码: 官方下载链接 https://www.freertos.org/zh-cn-cmn-s/a00104.html; 本人的OSS下载 https://klelee-files.oss-cn-qingdao.aliyuncs.com/FreeRTOS/FreeRTOSv202212.01.zip 移植过程 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#技术交流#
【梁山派】MDK539编译时无法使用Arm Compiler V5 的问题解决
问题现象 使用Keil MDK539 编译连山派demo时出现如下报错: Rebuild started: Project: GD32F450 *** Target 'GD32F450' uses ARM-Compiler 'Default Compiler Version 5' which is not available. *** Please review the installed ARM Compiler Versions: 'Manage Project Items - Folders/Extensions' to manage ARM Compiler Versions. 'Options for Target - Target' to select an ARM Compiler Version for the target. *** Rebuild aborted. Build Time Elapsed: 00:00:01 提示默认使用的Compiler Version 5不存在。 解决方案 手动安装Compiler Version 5。首先在Arm官网下载安装包:https://developer.arm.com/downloads/view/ACOMP5 然后进行安装,首先解压该文件,解压后双击ARMCompiler_506_Windows_x86_b960\Installer\setup.exe 文件进行安装。 点击next 勾选同意,然后next 选择安装位置 新建C:\Keil_v5\ARM\ARMCC\ 文件夹,并选中其作为安装目录,然后点OK进行安装。 Next -> install 进行安装即可 完成之后取消勾选launch release note,然后点击Finish完成安装。 进行Keil中编辑器的配置,点击环境配置按钮 打开Folders/Extensions -> Setup Defaule ARM Compiler Version 后面的选择点 选择之前设置的安装位置,并确认 点close退出 点击魔术手开始配置编译器 确认编译器版本是v5 重新编译通过。 \n#技术交流#