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

在这里插入图片描述




┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈┈
┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈
┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈
▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈┈

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

Introduction:GD32F10x标准固件库。适用于GD32F10x系列MCU,与Cortex-M微控制器软件接口标准(CMSIS)兼容。固件库包括程序、数据结构和宏定义,覆盖所有集成外设的特征,并包括了全部相关驱动和示例程序。 Introduction:GD32F1x0标准固件库。适用于GD32F1x0(130/150/170/190)系列MCU,与Cortex-M微控制器软件接口标准(CMSIS)兼容。固件库包括程序、数据结构和宏定义,覆盖所有集成外设的特征,并包括了全部相关驱动和示例程序 Introduction:GD32F10x系列IAR7.4、Keil MDK 4.74、Keil MDK 5.15 及更高版本支持安装文件。 Introduction:GD32F1x0 外设驱动库和通用例程 ,支持 GD32F130 / GD32F150 / GD32F170 / GD32F190 包含USB Device驱动库和例程 ,仅支持 GD32F150 提供 Keil 和 IAR 两种工程 ,分别在 Keil v4.7x/v5.18a , IAR v7.4 验证通过 Introduction:GD32F1x0 分散加载例程 ,支持 GD32F130 / GD32F150 / GD32F170 / GD32F190 例程演示了如何将代码分配到Flash指定区域,参考这个例程,客户可将非关键代码分配到Flash高地址空间。 Introduction:包含三个文件,具体说明如下: 1. GigaDevice.GD32F1x0_Addon.3.1.0.exe Keil4 环境补丁,支持 Keil v4.7x , 2. GigaDevice.GD32F1x0_DFP.3.1.0.pack Keil5 在线支持包, 支持 Keil v5.15 及以上版本; 3. IAR_GD32F1x0_ADDON.1.0.2.exe IAR 环境补丁,支持 IAR v7.4 以上版本. Introduction:Pdsc Installation of support files for Keil MDK 5.13 or later version
### 如何设置 VSCode 进行 GD32 开发 为了在 Visual Studio Code 中进行 GD32 微控制器的开发,需要完成一系列工具链和扩展的安装与配置。以下是详细的说明: #### 工具链准备 GD32开发依赖于 GNU ARM Embedded Toolchain 提供的编译器和其他工具集。可以从官方网站下载适合操作系统的版本并安装[^1]。 ```bash # 下载并解压 GNU ARM 编译器到指定目录 wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 tar xf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C /opt/ export PATH=/opt/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH ``` #### 安装必要的 VSCode 扩展 VSCode 需要一些特定的插件来支持嵌入式开发: - **C/C++ Extension Pack**: 提供 IntelliSense 和调试功能。 - **PlatformIO IDE**: 虽然主要用于 Arduino 平台,但也适用于其他 MCU 项目。 - **CMake Tools**: 如果使用 CMake 构建系统,则此扩展非常有用。 可以通过打开 Extensions 视图 (`Ctrl+Shift+X`) 来搜索上述名称逐一安装这些扩展程序[^2]。 #### 创建工作区及配置 launch.json 文件 创建一个新的文件夹作为项目的根目录,并初始化 `.vscode` 子文件夹用于存储配置文件。编辑 `launch.json` 添加如下内容以便启动 GDB 调试会话: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/main.elf", "miDebuggerPath": "/usr/bin/arm-none-eabi-gdb", // 或者实际路径 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb" } ] } ``` #### 设置 tasks.json 自动化构建过程 同样位于 `.vscode/tasks.json`, 描述如何调用 make 命令或其他脚本来生成可执行二进制文件: ```json { "tasks": [ { "label": "Build Project", "type": "shell", "command": "make", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ], "version": "2.0.0" } ``` 以上步骤完成后即可利用强大的集成开发环境来进行高效的固件编写与测试活动了[^3]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值