GD32零基础教程第一节(开发环境搭建及工程模板介绍)

文章目录

  • 前言
  • 一、MDK keil5安装
  • 二、设备支持包安装
  • 三、CH340串口驱动安装
  • 四、STLINIK驱动安装
  • 五、工程风格介绍
  • 总结


前言

本篇文章正式带大家开始学习GD32F407VET6国产单片机的学习,国产单片机性能强,而且价格也便宜,下面就开始带大家来介绍和安装相关的软件开发环境。

一、MDK keil5安装

MDK-ARM(Microcontroller Development Kit for ARM)是一套由Keil公司开发的针对ARM Cortex-M微控制器的集成开发环境(IDE)。Keil MDK提供了一系列工具,包括编译器、调试器、仿真器和各种实用工具,用于开发嵌入式系统的软件。

1.双击打开MDK安装包安装:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.选择安装的路径:

这里可以点击Browse切换保存的路径,路径一定要为英文名,否则会报错。
在这里插入图片描述
3.输入信息:

这里全部输入1即可,输入完成后点击Next等待安装完成即可。
在这里插入图片描述

二、设备支持包安装

这个设备支持包包含以下内容:

设备描述文件(SVD 文件): SVD 文件描述了 GigaDevice GD32F4 系列微控制器的寄存器映射、外设配置和功能描述。这些描述文件是Keil MDK-ARM 调试器和仿真器使用的重要组成部分,能够帮助开发人员进行调试和分析。

驱动程序和中间件: 设备支持包通常包含针对特定微控制器系列的驱动程序和中间件,例如GPIO、UART、SPI、I2C等外设的驱动程序和示例代码。这些驱动程序和中间件可以帮助开发人员快速地搭建基础设施,并加速软件开发过程。

示例代码: 设备支持包还包含了一些示例代码,用于演示如何使用不同的外设和功能。这些示例代码提供了开发人员学习和参考的范例,帮助他们更好地理解如何在实际项目中应用各种功能和技术。

文档和说明: 通常情况下,设备支持包还包含了相关的文档和说明,介绍了支持包中包含的各种组件和功能的用法和注意事项。

找到支持包:
在这里插入图片描述

双击安装下一步即可:
在这里插入图片描述

三、CH340串口驱动安装

CH340驱动程序是一款用于支持CH340芯片的设备驱动程序,通过安装这个驱动程序,用户可以在各种操作系统上实现对CH340芯片的支持,从而方便地进行USB转串口通信。

找到CH341SER.EXE驱动,双击安装即可:

在这里插入图片描述
在这里插入图片描述

四、STLINIK驱动安装

STLINK是STMicroelectronics公司推出的一款用于调试和烧录STM32微控制器的调试器和编程器。ST-LINK/V2和ST-LINK/V2-1是两种常见的型号,分别支持不同版本的STM32微控制器。ST-LINK调试器可以通过USB接口连接到主机(如PC),并与目标STM32微控制器进行通信。

进入STLINK目录找到dpinst_amd64.exe双击安装即可:

在这里插入图片描述
在这里插入图片描述

五、工程风格介绍

在这里插入图片描述
在工程下会有五个文件夹,分别是CMSIS、Library、project、Startup、User这五个文件夹。

下面来介绍一下这五个文件夹的功能和作用:

CMSIS(Cortex Microcontroller Software Interface Standard):

CMSIS是ARM Cortex微控制器软件接口标准,它提供了一组通用的接口定义,用于访问Cortex微控制器的核心功能,如处理器、中断控制器、时钟控制器等。CMSIS包含了一系列头文件和源文件,为开发者提供了与硬件相关的接口抽象,使得软件开发更加方便和可移植。

Library:

这个文件夹通常包含了ST提供的标准外设库(Standard Peripheral Library),用于对GD32微控制器的外设进行初始化和操作。这些库包含了各种功能函数,可以简化对外设的配置和控制。

Project:

这个文件夹通常包含了用户的工程文件,包括源代码文件、头文件、链接文件以及其他相关文件。用户可以在这个文件夹中组织自己的代码,编写应用程序,并进行编译、链接和调试。

Startup:

Startup文件夹包含了启动代码(startup code),这些代码用于初始化微控制器的硬件环境,包括设置堆栈、初始化全局变量和复位向量等。启动代码是整个程序的起点,它在执行main函数之前被调用。

User:

这个文件夹通常是供用户存放自己编写的代码和头文件的地方。用户可以根据需要在这个文件夹中添加自己的源代码文件和头文件,用于实现特定的功能或者模块。

总结

本篇文章主要讲解了GD32开发环境的搭建以及工程的大体介绍。

开发环境链接:
链接:https://pan.baidu.com/s/1kRbWpGPsGLK1t3WQ-oWBqg
提取码:tr7y

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode-移除元素

题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

如何使用群晖Synology Drive结合cpolar内网穿透实现同步Obsidian笔记文件

文章目录 一、简介软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步1 安装并设置Synology Drive套件2 局域网内同步文件测试 三、内网穿透群晖Synology Drive,实现异地多端同步Windows 安装 Cpolar步骤&#…

软件设计师-基础知识科目-数据结构3

三、 数据结构: 时间复杂度: 背复杂度对应的代码。Tips:时间复杂度估算看最内层循环,如若没有循环和递归则为O(1)。 空间复杂度: 需要单独空间存储数据时使用。考点:非递归的空间…

少儿编程 2024年3月电子学会图形化编程等级考试Scratch二级真题解析(判断题)

2024年3月scratch编程等级考试二级真题 判断题(共10题,每题2分,共20分) 26、下列积木块运行结果为false 答案:错 考点分析:考查积木综合使用,重点考查逻辑或积木的使用,或运算是只…

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动中心旋转自转小球割草旋转逻辑

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动&中心旋转自转小球&割草旋转逻辑<&#xff01;&#xff01;&#xff01;文章末尾有完整代码下载链接地址&#xff01;&#xff01;&#xff01;> Hello大家好&#xff01;今天我们来用最新的CocosCreat…

python|drop的应用

drop 删除列B 删除索引为1的行 删除列为‘A’&#xff0c;‘C’的列&#xff0c;axis表示方向 删除时保留原始 DataFrame&#xff08;使用 inplaceFalse&#xff09; 删除时直接修改原始 DataFrame&#xff08;使用 inplaceTrue&#xff09;

java数据结构与算法刷题-----LeetCode628. 三个数的最大乘积

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 排序选择线性搜索最值 排序 解题思路&#xff1a;时间复杂度O( …

网络通信流程

建立完tcp请求再发起http请求 开启系统代理之后&#xff0c;以clash verge为例 127.0.0.1:7897&#xff0c;假设hci.baidu.com的IP为153.37.235.50 发起对hci.baidu.com的HTTP请求&#xff0c;由于开启了系统代理不进行DNS解析&#xff0c;浏览器调用socket()获得一个socket&a…

Redis7(二)数据类型及其用法

一、概述 命令不区分大小写&#xff0c;key区分大小写 数据类型针对value String List Set Hash ZSet bitmap GEO HyperLogLog Stream bitfield 二、String <K,V> 1、设值/取值 getrange key index1 index2 getrange key 0 -1//获取所有的值 SETRANGE KEY_N…

线程池实践篇

文章目录 配置线程池参数定义参数实体bean配置线程池使用 配置线程池参数 定时任务线程池基础参数 # 定时任务线程池基础参数 task:pool:corePoolSize: 5 # 核心线程数maxPoolSize: 20 # 设置最大线程数keepAliveSeconds: 300 # 设置线程活跃时间&#xff0c;单位秒queueCapa…

使用 Go-Ora 连接到 Oracle 数据库

前文 《 一鍵啓動 Oracle 23c Free 》 介绍了如何使用容器技术快速拉起 Oracle 23c 数据库。 这个开发者版本可以很便捷的拉起、测试、销毁&#xff0c;对开发者是非常友好的。 本文将介绍如何使用 Go 语言构建项目&#xff0c;并连接到 Oracle 数据库。 Go 环境配置 本文使用的…

如何将本地websocket服务端从本地暴露至公网实现客户端远程连接

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

Rust语言入门第一篇-环境搭建

Rust语言入门第一篇 Rust官网 一&#xff0c;环境搭建 1、C开发环境配置 Rust 语言的底层是依赖于 C/C 编译器的。在安装 Rust 编译器时&#xff0c;通常会自动安装所需的 C/C 编译环境&#xff0c;以便 Rust 能够生成可执行文件或库。因此&#xff0c;在安装 Rust 之前&…

Docker之数据卷和Dockerfile

目录 一、Docker数据管理 二、数据卷 创建数据卷 查看数据卷 删除数据卷 挂载数据卷 三、数据卷容器 创建数据卷容器 测试数据卷容器 备份数据卷容器 还原数据卷容器 四、Dockerfile 什么是Dockerfile 基本结构 常用指令 快速入门 编写Dockerfile文件 构建镜…

安全升级,智能领航:RFID技术推动铁路锁控系统进入新时代

随着我国铁路运输行业的快速发展&#xff0c;铁路安全运营的重要性日益凸显&#xff0c;为了提高铁路运输安全性&#xff0c;降低人为操作失误&#xff0c;航连科技提出了一种基于RFID技术的铁路智能锁控系统解决方案&#xff0c;旨在为我国铁路安全运营提供有力支持。 一、系统…

C++:VS dump调试(2)

之前写的&#xff1a; C&#xff1a;VS2019调试dump文件-CSDN博客 1、需要dump文件【这个一般是客户现场收集的】 2、对应的pdb文件【这个是软件编译时候生成的】 3、代码【有可能只有自己负责模块的代码&#xff0c;没有全部代码&#xff0c;但是基本调试也是只会用到自己部…

IP协议中的四大支柱:DHCP、NAT、ICMP和IGMP的功能剖析

DHCP动态获取 IP 地址 我们的电脑通常都是通过 DHCP 动态获取 IP 地址&#xff0c;大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文&#xff08;DHCP DISCOVER&#xff09; 的 IP 数据报&#xff0c;由于客户端没有 IP 地址&#xff0c;也不知道 DHCP 服务器的…

FPGA:图像数字细节增强算法(工程+仿真+实物,可用毕设)

目录 日常唠嗑一、视频效果二、硬件及功能1、硬件选择2、功能3、特点 未完、待续……四、工程设计五、板级验证六、工程获取 日常唠嗑 有2个多月没写文章了&#xff0c;又是老借口&#xff1a;“最近实在是很忙”&#x1f923;&#xff0c;不过说真&#xff0c;确实是比较忙&am…

DIY可视化UniApp表格组件

表格组件在移动端的用处非常广泛&#xff0c;特别是在那些需要展示结构化数据、进行比较分析或提供详细信息的场景中。数据展示与整理&#xff1a;表格是展示结构化数据的理想方式&#xff0c;特别是在需要展示多列和多行数据时。通过表格&#xff0c;用户可以轻松浏览和理解数…

java数据结构与算法刷题-----LeetCode238. 除自身以外数组的乘积

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 动态规划&#xff1a;左右乘积列表2. 滚动数组对动态规划过程…