【GD32F427开发板试用】macOS/Linux系统开发环境搭建(开发、编译、烧录、调试)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动更多开发板试用活动请关注极术社区网站。作者HonestQiao
我日常的工作环境使用的是macOS系统或者Linux系统万不得已才使用Windows。
GD32官方提供了Keil MDK-ARM和IAR两款工具的支持但是没有提供对ARM-GCC的支持配置文件。而Keil MDK-ARM和IAR又绑死在了Windows系统这个真是一个悲伤的故事呀
经过查阅资料请教大佬一番学习研究之后顺利搞定了macOS环境中的开遍烧调。处理过程Linux环境同样适用。
学习研究过程中主要参考了三位大佬的如下文章深表感谢
下面为搭建的步骤
- 下载官方提供的开发库
- 地址https://aijishu.com/a/1060000…
- 开发板源码套件GD32F4xx_Demo_Suites并解压具体目录如下
-
-
- 其中我们需要的是
- GD32F4xx_Firmware_Library为GD32F4xx标准固件库。适用于GD32F4xx系列MCU与Cortex-M微控制器软件接口标准(CMSIS)兼容。固件库包括程序、数据结构和宏定义覆盖所有集成外设的特征并包括了全部相关驱动和示例程序。
- GD32427V_START_Demo_Suites为GD32F427V_START开发板套件演示代码
- 其中我们需要的是
-
-
-
- 开发环境的源码库配置是按照 GD32F4xx_Demo_Suites 的结构进行配置的在自己的环境中可以根据实际需要修改。
-
-
下载我已经打包好的模板工程
- 地址https://gitee.com/honestqiao/…
- 下载后将该模板工程目录放置到 01_GPIO_Running_LED 同级目录
-
- 说明
- 该工程的基础文件来自 01_GPIO_Running_LED
- 支持文件放置在 support_files 中
- toMakefile.py用于生成Makefile文件
- Makefile.templateMakefile模版
- startup_gd32f4xx.s从RTT中提取并根据GD32F427V修改
- GD32F427VK_FLASH.ld参考RTT中并根据GD32F427V修改
- GD32F4xx.svd从GD32F4xx的Keil5 Pack中提取并修改
- dot_vscodevscode配置文件本项目根目录中.vscode为该目录拷贝改名过去的
- 说明
-
-
- 如果是自己的工程则将 support_files 目录拷贝过去将 dot_vscode 拷贝为.vscode即可
-
-
pyocd 环境检查
- 安装pycode
pip3 install pyocd
- 安装GD32F427VK支持包
pyocd pack find gd32f427v
- 安装pycode
-
-
- 从Keil工程中的工程属性可以得知GD32F427V_START为GD32F427VK
- 安装支持包
pyocd pack install GD32F427VK
-
-
- 检查设备连接
- 将设备的GD-Link口与电脑连接
- 检查是否识别
pyocd list
- 检查设备连接
-
- 修改pack包
- 默认的pack包提供的svd文件有一点点小问题导致在flash或者debug的时候会出现如下的问题
- 修改pack包
-
-
- 不过该问题并不会影响实际的flash和debug但是看着就不爽经过研究使用如下的方法解决
- 找到对应目录
find /usr -name "cmsis-pack-manager"
- 然后处理
- # 进入GD32F4xx_DFP目录 cd /path/to/cmsis-pack-manager/GigaDevice/GD32F4xx_DFP # 查看当前的pack文件后面的命令请使用此时看到的 ls *.pack # 修改为备份 mv 3.0.3.pack 3.0.3.pack.bak # 解压 unzip 3.0.3.pack.bak # 查看首行 head -1 SVD/GD32F4xx.svd | hexdump | head -1 # 如果显示0000000 20 20 3c 开头的信息则需要使用sed处理关键是20 20 # 如果显示0000000 3c 开头的信息则不需要使用sed处理 # 使用sed处理20 20 # macOS sed -i “” ‘1s/^ *//gp’ SVD/GD32F4xx.svd # Linux sed -i ‘1s/^ *//gp’ SVD/GD32F4xx.svd # 查看处理结果 head -1 SVD/GD32F4xx.svd | hexdump | head -1 # 应返回0000000 3c 开头的信息 # 打包 zip -r 3.0.3.pack Device Flash GigaDevice.GD32F4xx_DFP.pdsc SVD # 删除不用的文件 rm -rf Device Flash GigaDevice.GD32F4xx_DFP.pdsc SVD
- 找到对应目录
- 不过该问题并不会影响实际的flash和debug但是看着就不爽经过研究使用如下的方法解决
-
-
arm gcc 环境检查
- 安装arm gcc下载地址https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
- 检查安装情况
/usr/local/bin/arm-none-eabi-gdb -v
如果安装在其他路径请更换为实际的路径。
- 使用VSCode打开工程配置arm gcc路径
- support_files/Makefile.template
-
- vscode配置.vscode/launch.json、.vscode/tasks.json
- 开始进行开发、编译、烧录、调试
- 了解该环境系统的任务命令
从菜单 - 终端 -运行任务或者从命令面板中执行
- 了解该环境系统的任务命令
命令列表说明
-
-
- _makebuildfolder: 创建编译目录
- env设置环境
- clean: 清理
- create_Makefile: 生成Makefile文件
- make: 编译
- Build自动执行_makebuildfolder、env、make
- flash烧录
-
-
- 生成Makefile文件
首次打开工程需要调用 create_Makefile 来生成Makefile文件
如果增减了文件也需要调用一次
其他时候则无需调用。
具体调用结果如下
- 生成Makefile文件
-
- 编译代码
通常只需要调用 Build 任务即可。
执行后会生成elf文件
- 编译代码
-
- 烧录elf文件
调用flash命令即可执行结果如下
- 烧录elf文件
-
- 调试
先从左则面板中进入扩展安装cortex-debug
- 调试
再到代码中合适的位置先打上断点然后从左则面板启动调试
启动后将会在main的入口处停住点击右上角的调试操作面板中的||>继续运行将会在合适的断点处停留。
经过上述步骤现在就可以在macOS/Linux系统中愉快的进行开发、编译、烧录、调试了。