首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。
一、开发环境说明
开发板:GD32F310G-START 2022-1 V1.0
桌面操作系统: macOS Monterey 12.3
开发软件: VSCode 1.66.2 (Universal)
编译工具链: arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824 (release)
下载工具:openocd 0.33.1
二、相关工具安装
1. 编译工具链
编译工具使用 arm-none-eabi-gcc 工具链。
在官方下载:https://developer.arm.com/too…
下载最新版本即可
下载之后直接双击根据提示进行安装即可。
安装成功后,关掉所有终端,重新打开,输入/Applications/ARM/bin/arm-none-eabi-gcc --version如果出现版本信息,则安装完成。
2. 下载工具
下载工具使用的是pyocd
在终端中输入以下代码安装pyocd:
pip3 install pyocd
或者
pip install -U pyocd
(如果未安装python3的同学请自行安装即可)
安装完毕后检查pyocd版本:
pyocd --version
出现版本好即安装成功。
3. 仿真插件
在VSCode搜索并安装扩展Cortex-Debug
三、代码编译
使用附件包进行代码编译
下载附件后解压
1. 代码编译
使用VSCode打开附件包解压的文件夹
在目录下执行make命令即可在build目录下生成可执行文件
执行make clean可清除生成文件
2. 重新生成makefile
附件中包含一个可重新生成makefile文件的python脚本CreateMakefile.py,可方便小伙伴们添加自己代码后,重新生成对应的makefile文件。
四、代码仿真&烧录
使用USB线连接上我们的GD32F310G-START开发板
点击VSCode上的“运行和调试”,再点击开始调试(F5),即可进入调试状态,并运行到main函数
之后可进行单步调试。
五、问题处理
1. pyocd运行报错
如果在进入调试时无法进入调试,且报错情况如下图所示
查看gdb-server中有下图中的报错信息
其原因为pyocd解析GigaDevice.GD32F3x0_DFP.3.0.0.pack包内容时路径缺少包名称
解决方案为:
在/opt/homebrew/lib/python3.9/site-packages/pyocd/target/pack路径下,找到cmsis_pack.py文件
做如下修改
在_load_flash_algo(self, filename: str)函数中添加如上图红框中的代码
pack_name = self.pack.filename.split(‘/’)[-1]
pack_name = pack_name.replace(‘.pack’, ‘’) + ‘/’
filename = pack_name + filename
在svd(self)函数中添加如上图红框中的代码
pack_name = self.pack.filename.split(‘/’)[-1]
pack_name = pack_name.replace(‘.pack’, ‘’) + ‘/’
svdPath = pack_name + svdPath
保存文件后,重新点击调试即可正常进行。
文件下载
GD32F310G_START.tar.bz2
作者:LJL