VScode开发GD32移植(标准库通用),保姆级!!!!!!!

VScode开发GD32移植(标准库通用),保姆级!!!!!!!

文章目录




前言

众所周知,MDK是很多人手上最常用的开发软件的
之周所众,MDK的版本已经落后到 " 要不是没有替代品狗都不用 " 的地步了

stm32cubeMX解决了很多人的困扰,但是不能编写代码且不能烧录!还得用回MDK!
stm32cubeIDE解决了更多人的困扰,但是stm32cubeIDE只能烧录ST的芯片啊!!!

笔者花了近两天的摸索和朋友的帮助,终于总结出了使用VScode来取代MDK
既可以代码编写方便,又可以烧录,还可以兼容各个常见的芯片
移植和配置过程挺复杂的,笔者已经尽量写的通俗易懂了

如果使用的时HAL库,可以看笔者的另一篇文章:
【STM32cubeMX + VScode开发GD32移植(HAL库通用),保姆级!!!!!!!】



一、准备所需GD32文件

1、下载对应的固件库和芯片包

官网:【兆易创新GigaDevice-资料下载兆易创新GD32MCU】

固件库:GD32F10x_Firmware_Library_V2.3.0.7z

芯片包:GD32F10x_AddOn_V2.3.0

选择自己的芯片和版本

2、找出固件库用到的文件

解压固件库:GD32F10x_Firmware_Library_V2.3.0.7z

可以创建两个文件夹分别放置这写文件

笔者这里创建了Library文件夹和User文件夹

3、STM32cubeMX获取启动文件和连接文件

启动文件: startup_stm32f103xe.s

链接文件: STM32F103RCTx_FLASH.ld

(注意自己用的芯片型号,不要无脑移植)

可以到别人的工程里面找,也可以自己生成

可以使用STM32cubeMX生成(STM32cubeIDE也行)

笔者这里用STM32cubeMX








至此,拿到了启动文件和链接文件,笔者创建一个project文件夹放置

4、汇总所需文件

自此就获取到了所需的所有文件了




当然,也可以不按照笔者的文件安置风格,可以参照生成的STM32cibeMX工程的文件安置风格


二、VScode配置

1、下载VScode

官网:【Visual Studio Code - Code Editing.Redefined】

自己下载,没什么难点

2、下载插件

需要下载两个插件

C/C++

Embedded IDE

不过,这两个插件附带会下载其他插件,该下载就下载

3、创建工程

选择工程的地址,并且将上面的准备的文件放入工程文件夹里面

4、【项目资源】创建虚拟文件夹

5、【项目资源】将文件添加到虚拟文件夹




6、【芯片支持包】将芯片包添加到工程里


7、【构建配置】选择芯片类型 和 添加链接文件

8、【烧录配置】选择烧录工具 和 芯片名称


9、【项目属性】-【包含目录】将文件路径添加到工程


10、【项目属性】-【预处理宏定义】将预处理的宏定义添加到工程里

USE_STDPERIPH_DRIVER:标准库就必须要加这个

GD32F10X_xx:根据实际情况


三、报错

报错1

解决办法


报错2

解决办法


报错3




┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈┈

┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈

┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈

▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈┈

▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈

▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈

▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈┈

如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡

相关推荐
深蓝海拓41 分钟前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器41 分钟前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
渐暖°1 小时前
【leetcode算法从入门到精通】5. 最长回文子串
vscode·算法·leetcode
BugShare2 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian
深蓝海拓3 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
跃渊Yuey3 小时前
【Linux】线程同步与互斥
linux·笔记
AI视觉网奇4 小时前
FBX AnimSequence] 动画长度13与导入帧率30 fps(子帧0.94)不兼容。动画必须与帧边界对齐。
笔记·学习·ue5
科技林总4 小时前
使用Miniconda安装Jupyter
笔记
woodykissme4 小时前
倒圆角问题解决思路分享
笔记·学习·工艺
laplace01234 小时前
Clawdbot 部署到飞书(飞连)使用教程(完整版)
人工智能·笔记·agent·rag·clawdbot