当前位置: 首页 > article >正文

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

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

文章目录

  • `VScode开发GD32移植(标准库通用),保姆级!!!!!!!`
    • `前言`
    • `一、准备所需GD32文件`
      • `1、下载对应的固件库和芯片包`
      • `2、找出固件库用到的文件`
      • `3、STM32cubeMX获取启动文件和连接文件`
      • `4、汇总所需文件`
    • `二、VScode配置`
      • `1、下载VScode`
      • `2、下载插件`
      • `3、创建工程`
      • `4、【项目资源】创建虚拟文件夹`
      • `5、【项目资源】将文件添加到虚拟文件夹`
      • `6、【芯片支持包】将芯片包添加到工程里`
      • `7、【构建配置】选择芯片类型 和 添加链接文件`
      • `8、【烧录配置】选择烧录工具 和 芯片名称`
      • `9、【项目属性】-【包含目录】将文件路径添加到工程`
      • `10、【项目属性】-【预处理宏定义】将预处理的宏定义添加到工程里`
    • `三、报错`
      • `报错1`
      • `报错2`
      • `报错3`
  • `如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡`




前言

众所周知,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

在这里插入图片描述




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

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


http://www.kler.cn/a/312938.html

相关文章:

  • 常见的噪声模型+图像中噪声模型的估计+常见的滤波方法(C++)
  • Dial-insight:利用高质量特定领域数据微调大型语言模型防止灾难性遗忘
  • Python数据预处理
  • HTML之列表
  • 基于Zynq FPGA对雷龙SD NAND的测试
  • 图像处理自动渲染代码
  • OCR两篇革命之作
  • C#区分值类型和引用类型【一文读懂】
  • 第十三周:机器学习笔记
  • 【开发语言】写程序的两大基本原则(PO和NT原则)
  • three.js 热力图
  • Android Perfetto 学习
  • 聚焦于 Web 性能指标 TTI
  • 2024新动态:低代码开发占领新常态市场
  • ImportError: DLL load failed while importing _ssl: 找不到指定的模块的解决方法
  • man 命令:查看命令的帮助信息
  • 【学习资料】袋中共36个球,红白黑格12个,问能一次抽到3个红4个白5个黑的概率是多少?
  • 封装一个录音声音振动效果的组件
  • foc原理odrive驱动板的使用,以及功能介绍
  • 基于TRIZ的救援机器人轻量化设计
  • 搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(一)-概述
  • 翻唱技巧:AU和Cubase翻唱录制对轨技巧
  • Linux 系统进程理解——标识符,状态
  • uniapp中使用echarts 完整步骤,包括报错以及解决方案
  • 实验一:Windows下的IIS服务器配置和管理
  • 50页PPT麦肯锡精益运营转型五步法