恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
基于VScode搭建GD32开发环境
首页
资讯中心
/
基于VScode搭建GD32开发环境
基于VScode搭建GD32开发环境
发布时间:2026/8/26 16:27:16
———————————————————————————————————————————声明首先声明一下我这个教程需要使用到的工具链和硬件组网。工具链cmake、ninja、llvm.clang、J-Link烧录环境、arm-none-eabi全家桶硬件组网J-Link调试器、麒麟GD32F303ZET6开发板。硬件你有什么用什么就行。注意工具链安装完成之后要编辑系统环境变量最后用终端工具检查版本。VScode插件———————————————————————————————————————————前言看完我的这篇说明之后https://blog.csdn.net/qq_59757948/article/details/156263142?spm1001.2014.3001.5501不少同学私信我说想看一版完整的搭建国产ARM单片机开发环境ST现在有官方插件了的说明。本来我想通过给那篇文章演示的芯片进行信息脱敏然后公布完整文档出来但是一来考虑到ReRam芯片具有一些特殊性二来最近入手了一块GD32F303ZET6开发板一直吃灰所以决定一点点重新实验搭建GD32的现代化开发环境并且写这篇说明。总体的方向大概会是clangd负责语法检查然后CMake选用Ninja作为generator指导arm-none-eabi-gcc编译代码之后用cortex-debug连接arm-none-eabi-gdb和JLinkGDBServerCL进行调试。关于clangd和ninja的简介请参考拙作https://blog.csdn.net/qq_59757948/article/details/156981661?spm1001.2014.3001.5501强烈建议0基础的同学跟着我的流程走一遍先先学会输出Hello再写单片机代码。VScode可以通过点下图的齿轮切换配置文件不用担心发生插件冲突哦大不了切换配置文件之后ctrlshiftp输入reload重启一下。另外本文还会穿插介绍一些之前没有提到的VScode机制大家一起学习沟通。这边先介绍一个VScode有两种基本配置User settings与WorkSpace settings前者对整个软件配置有全局作用后者针对当前工作区。此外VScode大部分设置都支持UI修改和json文件修改。例如我们可以从文件-首选项-设置里面修改字体大小也可以直接修改json文件的键值对针对WorkSpace生效的settings.json文件需要存储到工程根目录下的.vscode文件夹。环境配置核心思路参考ST官方的VScode配置结合GD32的keil例程实现我们的目的。VScode模板URL:https://gitee.com/jumayusi/stm32-vscode-template.gitGD32的keil例程URLhttps://gitee.com/jumayusi/gd32u-keil-routine.git2026年1月24日更新由于经验不足上面的配置过程也遇到了不小的阻塞不过后来在B站遇到了一位GD官方的FAE给我指了有一条明路。之前编译失败的主要原因有两点第一点失败的原因是因为keil的代码是ARMCC编译风格的我们使用的arm-none-eabi-gcc可能无法编译或者编译通过后无法运行这里说的代码包含了C语言库函数和GD32的启动文件ASM汇编。第二点失败的原因是编译通过后正常获得了所有.obj链接脚本出现问题。之前让AI帮忙修改ST的脚本没有自己审阅GD的手册犯了一个致命失误。F303ZET6的运存是64KBAI因为幻觉一直强调是96KB导致最后的elf和bin烧录之后都是不可用状态。其实GD官方考虑到这一点推出了基于Eclipse的GD32EmbedddedBuilder模仿STM32CubeIDE。它可以自动生成GD芯片的Example供大家裁剪使用但我相信其实大部分人都没有在这个IDE里面编辑代码因为Eclipse实在太笨重了。下面演示一下获取例程的方法1打开软件之后file-new-project。2在新窗口中选择C/C-C Project注意这一点和我们以往使用CubeIDE的习惯相悖完成之后点击next。3这里选择ARM C Projects之后输入项目名称然后点击next。4下面就该选择目标芯片了注意double check一下Flash和Ram尺寸5后面的Debug选项直接全选然后next即可。调试失败的原因主要如下总结第三是对cortex debug插件的底层逻辑或者说VScode的底层逻辑一知半解半桶水晃荡导致的。VScode积极采纳Json取代XMLUI能改的设置Json能改UI不能改的设置Json键值对依旧能改对前言里面的知识点自己还没有吃透哈哈。cortex-debug插件需要正确添加gdb路径之后才能正常参与调试这个插件是VScode对gdb发起访求的工具。从这里进入设置然后添加ARM-ToolChain-Path以及GDB的路径最后全局设置会被修改为注意这里的路径都需要改成你自己的本文实现的功能主要就需要添加clangd.path\gdbPath\armToolChainPath这三种。修改完成之后ctrlshiftp然后relaod重启即可进行调试了。例程使用示例URLhttps://gitee.com/jumayusi/vscode-development-gd32.git这个repo里面没有来得及替换掉所有ARMcc风格c语言代码cmake也写的不够优美仅仅是能用而已不过后面有时间我还是会不断更新的。注意一切CMake工程都是路径敏感的如果你喜欢和我一样给工程文件夹标序号请在最外层进行vscode打开的需要是你拉取下来的原文件夹。之后直接选择ninja预设配置就可以正常使用cmake了。此外我今天遇到了GDB响应过慢的问题回退到了14.3版本解决的非常恶心了卡了我一下午 。