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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

致远互联-OA 前台fileUpload.do 绕过文件上传漏洞复现

0x01 产品简介 致远互联-OA 是数字化构建企业数字化协同运营中台,面向企业各种业务场景提供一站式大数据分析解决方案的协同办公软件。 0x02 漏洞概述 致远互联-OA 接口 fileUpload.do 接口处存在文件上传漏洞,未经身份验证的远程攻击者可通过目录遍历的方式绕过上传接口限…

阿里通义千问开源 320 亿参数模型;文字和音频自动翻译成手语Hand Talk拉近人与人的距离

✨ 1: Qwen1.5-32B Qwen1.5-32B是Qwen1.5系列中性能与效率兼顾的最新语言模型,内存占用低,运行速度快。 Qwen1.5-32B是Qwen1.5语言模型系列的最新成员,这个模型是基于先进的技术研发的,旨在提供一种既高效又经济的AI语言理解和生…

Unity面经(自整)——Unity基础知识

Unity基础知识 1. Image和RawImage的区别 Image比RawImage更耗性能。Image只能使用sprite属性的图片。而RawImage什么都可以使用 2. Unity3D中的碰撞器Collider和触发器Trigger的区别 碰撞器是触发器的载体,而触发器是碰撞器上的一个属性。 如果IsTrigger为fal…

Maven POM元素解析

这是对Maven中使用的Maven项目描述符的引用。 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/…

列车调度

描述 火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口&#xff08;Entrance&#xff09;轨道和一条出口&#xff08;Exit&#xff09;轨道&#xff0c;它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入&#xff0c;最后从出口离开。在图中有9趟列…

C#操作MySQL从入门到精通(7)——对查询数据进行简单过滤

前言 我们在查询数据库中数据的时候,有时候需要剔除一些我们不想要的数据,这时候就需要对数据进行过滤,比如学生信息中,我只需要年龄等于18的,类似这种操作,本文就是详细介绍如何对查询的数据进行初步的过滤。 1、等于操作符 本次查询student_age 等于20的数据,使用我…

Open CASCADE学习|平面上的PCurve

曲面上的曲线PCurve&#xff0c;字面上理解即为参数曲线(Parametric Curve)。在几何建模中&#xff0c;PCurve通常被描述为附加在参数曲面之间公共边上的数据结构。从更具体的定义来看&#xff0c;当给定一个曲面方程&#xff0c;并且其参数u和v是另一个参数t的函数时&#xff…

PyCharm双击无法打开 安装新旧版本pycharm同时启动失败的解决办法

由于2019版本无法直接升级到2023版本 所以下载了两个版本的PyCharm 且两个都是专业版的 一个是2019的&#xff0c; 一个是2024新版的其中2019版本是破解版&#xff01; 然后现在想要打开2024的新版&#xff0c;发现双击无法启动&#xff0c;到文件所在位置打开也无法启动&a…

二维数组及其内存图解

二维数组 在一维数组的介绍当中曾说&#xff0c;数组中可以储存任何同类型的元素&#xff0c;那么这个元素是不是可以也是数组呢&#xff1f;答案是可以&#xff0c;即在数组之中储存数组元素。这种情况就是多维数组&#xff0c;当一个数组中的元素是数组时叫做二维数组&#x…

如何使用校园网——Win10笔记本,台式机互开热点

当我们使用校园网的时候&#xff0c;往往只能连接一个电脑端&#xff0c;但是又想两个机子同时连接WIFI怎么办呢&#xff1f; 当然&#xff0c;前提条件是你先得其中一台电脑有网络哈 1、打开想开共享热点的电脑的设置 A、点击WIN&#xff0c;再点击设置 2、点击网络和Inte…

论如何在小程序展示超链接在线网页

在工作中遇到一个需求&#xff0c;就是在小程序中展示超链接网页&#xff0c;起初我是直接使用web-view标签 <web-view src"https://www.baidu.com/"/>但是web-view只能在开发阶段手机上展示&#xff0c;一旦小程序发布线上&#xff0c;就会出现下面这种情况“…

每日OJ题_两个数组dp④_力扣44. 通配符匹配

目录 力扣44. 通配符匹配 解析代码 力扣44. 通配符匹配 44. 通配符匹配 难度 困难 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。* 可以匹配任意字符序列&#xff08;包…

如果用大模型考公,kimi、通义千问谁能考高分?

都说大模型要超越人类了&#xff0c;今天就试试让kimi和通义千问做公务员考试题目&#xff0c;谁能考高分&#xff1f; 测评结果再次让人震惊&#xff01; 问题提干&#xff1a;大小两种规格的盒装鸡蛋&#xff0c;大盒装23个&#xff0c;小盒装16个&#xff0c;采购员小王买了…

【Java集合】面试题汇总

Java 集合Java 集合概览1. List, Set, Queue, Map 四者的区别&#xff1f;2. ArrayList 和 Array&#xff08;数组&#xff09;的区别&#xff1f;3. ArrayList 和 Vector 的区别?4. Vector 和 Stack 的区别?&#xff08;了解即可&#xff09;5. ArrayList 可以添加 null 值吗…

ts中的类型简介

注意&#xff1a;尽量不要在ts中用var&#xff0c;不然后续维护代码&#xff0c;容易出现很多问题。 var定义会在全局中生效&#xff0c;而let只会在作用域中起作用。 boolean string number array tuple&#xff08;元组&#xff09; enum&#xff08;枚举&#xff09; null u…

自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器

自动驾驶中的传感器融合算法&#xff1a;卡尔曼滤波器和扩展卡尔曼滤波器 附赠自动驾驶学习资料和量产经验&#xff1a;链接 介绍&#xff1a; 追踪静止和移动的目标是自动驾驶技术领域最为需要的核心技术之一。来源于多种传感器的信号&#xff0c;包括摄像头&#xff0c;雷达…

想进阶为 Go 语言高级开发工程师吗?那么,一定要阅读此文!

大家好&#xff0c;我是孔令飞&#xff0c;字节跳动云原生开发专家、前腾讯云原生技术专家&#xff1b;《企业级Go项目开发实战》作者&#xff0c;云原生实战营 知识星球星主&#xff1b; 我们知道&#xff0c;Go 出自名门 Google 公司&#xff0c;是一门支持并发、垃圾回收的编…

绝地求生:齐贺PUBG七周年!分享你的游玩感受及反馈赢惊喜道具

PUBG七周年庆典火热进行中&#xff0c;特殊道具、周年主题艾伦格上线&#xff01;七周年期间游玩PUBG&#xff0c;在评论区分享你的游玩感受及反馈&#xff0c;即可参与活动赢取夏日浪潮宝箱奖励。 参与方式 齐贺PUBG七周年&#xff01;在评论区分享分享你的七周年游玩感受及反…

(学习日记)2024.04.09:UCOSIII第三十七节:事件函数接口

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

stable diffusion的从安装到使用

stable-diffusion&#xff0c;一个免费开源的文生图软件&#xff0c;文章主要讲怎么从源码开始安装&#xff0c;以及使用的方式 git地址&#xff1a;https://github.com/AUTOMATIC1111/stable-diffusion-webui 本人电脑环境win10&#xff0c;软件pycharm&#xff0c;需要提前…