基于VScode搭建GD32开发环境
———————————————————————————————————————————声明首先声明一下我这个教程需要使用到的工具链和硬件组网。工具链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版本解决的非常恶心了卡了我一下午 。

相关新闻

autocad 2020 模型窗口输出布局窗口

autocad 2020 模型窗口输出布局窗口

布局空间是模型空间的观察窗口,便于进行局部查看和打印操作模型窗口和布局窗口数据编辑同步多个图框图纸输出,一个图纸输出到一个布局窗口操作步骤:1. 打开 CAD 图纸,如果没有布局,可以新建布局;2. 点击布局…

2026/11/16 4:38:53 阅读更多 →
大型量产固件的工程实践(十):嵌入式状态机设计——多阶段初始化与断点续传

大型量产固件的工程实践(十):嵌入式状态机设计——多阶段初始化与断点续传

大型量产固件的工程实践(十):嵌入式状态机设计——多阶段初始化与断点续传 本文是《大型量产固件的工程实践》专栏第 10 篇。 上一篇:第 9 篇实战《GPIO 模拟 SPI 实现源码与使用范例》 | 下一篇:第 11 篇《健壮的网络状态机》 一、为什么需要状态机 嵌入式里很多外设的…

2026/10/31 19:33:06 阅读更多 →
如何快速部署k8s-image-swapper:Helm一行命令实现ECR镜像自动镜像(新手保姆级教程)

如何快速部署k8s-image-swapper:Helm一行命令实现ECR镜像自动镜像(新手保姆级教程)

如何快速部署k8s-image-swapper:Helm一行命令实现ECR镜像自动镜像(新手保姆级教程) 【免费下载链接】k8s-image-swapper Mirror images into your own registry and swap image references automatically. 项目地址: https://gitcode.com/g…

2026/11/2 4:15:34 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻