MacOS +VScode 环境下搭建GD32 embedded builder HAL 库环境(空白项目)

我主力用机是mac+VSCODE+PlatformIO 开发ESP芯片的,最近要转开发GD32 系列的方案,在网上找了半天都是GD32+SPL库的教程,也没有GD embeded builder在mac环境下怎么顺利开发的资料,也没有在mac环境下用HAL库的资料,所以才有下面的笔记。

0.运行环境:

Macos 13.6.9 (22G830) 

vscode 版本: 1.92.2 (Universal)

ARM GCC 12.2

GD32E230(我这里用的是GD32E230C8T6)

DAP-LINK 

1. 编译工具链

1.1Arm GCC

ARM GCC:(12.2以后版本会有 LOAD segment with RWX permissions 警告)

Arm GNU Toolchain Downloads – Arm Developer

具体可以参考这里:【GD32F310开发板试用】MAC开发&调试环境搭建 - 极术社区 - 连接开发者与智能计算生态

注意的是12.2之后的安装路径跟老版有差异,需要自己手动改一下名字在黏贴复制调整一下。修改好之后如下图:

按照上面链接中的那样用终端查一下version 有输出版本号就OK

1.2Pyocd- debug and flash的工具

下载工具使用的是pyocd
在终端中输入以下代码安装pyocd:
pip3 install pyocd
或者
pip install -U pyocd
(如果未安装python3的同学请自行安装即可)
安装完毕后检查pyocd版本:
pyocd --version
出现版本好即安装成功。

安装好以后就要添加自己芯片的pyocd的支持包 ,运行这个命令

pyocd pack find gd32e230

然后用pyocd pack install gd32e230 安装支持包

1.3 Vscode仿真插件 Cortex-Debug

在VSCode搜索并安装扩展Cortex-Debug

2.GD Embeded Builder

2.1 配置后自动生成代码(GD32E230)

2.2打包输出自动生成的代码

下载后就是这个GD32E230 HAL库的代码

2.3下载GD32E23x Firmware Library

兆易创新GigaDevice-资料下载兆易创新GD32 MCU

找到自己板的对应的Firmware Library和 addON

完事就有下面三个文件夹

3.工程文件改造

3.1GD Embeded builder 源代码改造

  • 在/GD32E230_源代码 目录下建立个Docs文件夹,用来存放用不到的文件。把gdc 和cfg文件放进去。

  • 将/GD32E23x_Firmware_Library_V2.1.0/Utilities文件夹拷贝到/ GD32E230_源代码 目录下

3.2加入 makefile模版相关内容

将makefile附件里面的放进工作目录里面

3.3自动生成makefile

进入VSCODE,打开工作目录后,就可以看到文件了。之后就在VSCODE里面操作的多了。

!!!注意事项!!!

/firmware/cmsis/gcc_startup/startup_gd32e23x.S这个文件的名字要重命名为

/firmware/cmsis/gcc_startup/startup_gd32e23x.s

没错,就是大写S扩展名改为小写s,不然makefile 里面的 ASM路径会抓不到,也会ld阶段会报错。

修改makefile模版信息:

  • 项目名称-按自己的项目名称修改就好,后配置debug的时候要用到的,不要太复杂。

  • 修改CPU的结构 这里E230用的M23.

  • 修改FPU 和 浮点运算设置,这里用的GD32E230 所以注释掉
  • 修改MCU的型号

然后打开VScode的zsh终端,然后运行CreateMakefile.py 

完事就一堆输出,还有一个Makefile文件

3.4make 然后。。。。报错。。。

提示没选好设备。指向的文件是/firmware/cmsis/inc/gd32e23x.h。只要在 这个文件内加个 #define 信息就好

3.5再make 然后。。。还是warning。。。

这是因为用了ARM GCC 12.2的原因,加了个什么机制的。具体可以看这个d

https://www.cnblogs.com/milton/p/16756523.htmlicon-default.png?t=O83Ahttps://www.cnblogs.com/milton/p/16756523.html

解决方案如下:

打开/ldscripts/gd32e23x_flash.ld文件,注释掉这两段代码

3.6再make 完美输出bin

 4.配置debug的那些事

4.1准备/.vscode里面的文件

用vscode在项目目录内新建一个/.vscode 文件夹,在里面一共需要6个文件

4个json是用来调整vscode的设置的。

cortex开头的两个json不用管,用模版默认就行

tasks.json是用来设置Build  Flash等快捷命令的

launch.json是用来设置debug相关设置的

pack文件就是对应的AddOn里面的pack文件

svd文件是讲 pack文件用解压软件解压缩包出来然后拷贝过来,或者导入keli后再导出来。

把pack文件解压后得到以下的文件夹,把SVD文件夹里面的svd文件拖过去/.vscode文件夹里面就行。

4.2修改launch.json信息

launch.json是给vscode用的,主要是给debug用的。要改动的地方见标注的,主要是改device ,targetID 和svdFile。

 device TargetID用 pyocd list --targets 命令来确认一下

 然后就可以debug了

5.配置烧录的那点事

5.1准备/.vscode的tasks.json

tasks.json是用来自己定义一些快捷命令的。直接用模版的tasks.json就好。已经准备了 create_makefile ,build ,build_flash等命令。

按SHIFT+command+P 调出 Tasks:Run Task,回车

上下选择对应的命令就行。 

5.2修改tasks.json信息

tasks.json模版的唯一需要改动的地方是flash 这个的一个参数,我已经标注了。根据自己的芯片型号来改动就行,用 pyocd list --targets 来查看就行

6.编译上传

因为我们已经在tasks.json里面设置好了相关的参数。只要代码没问题,调通了以后。按SHIFT+command+P 调出 Tasks:Run Task,选flash或者build_flash执行。然后就上传好了。

当然我的模版只是一个还不能点灯的模版,用来测试环境是否OK。接下来就要点灯和hello world 了。当然,这里也是个大坑。

  • 16
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值