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

news2024/12/31 7:26:18

文章目录

  • 前言
  • 一、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.coloradmin.cn/o/1579178.html

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

相关文章

C#互联网区域医学检验中心云LIS系统源码

云LIS联通四级(市、县、乡、村)检验服务网构建互联网检验服务新体系落地检验资源区域共享建设。云LIS系统是一种基于云计算技术的区域实验室信息管理系统,它的主要功能是管理实验室中的各种信息数据,包括样品数据、检测结果、仪器…

微信小程序-接入sse数据流并实现打字机效果( ChatGPT )

从流中获取的数据格式如下 小程序调用SSE接口 const requestTask wx.request({url: xxx, // 需要请求的接口地址enableChunked: true, // enableChunked必须为truemethod: "GET",timeout: 120000,success(res) {console.log(res.data)},fail: function (error) {//…

Golang | Leetcode Golang题解之第18题四数之和

题目&#xff1a; 题解&#xff1a; func fourSum(nums []int, target int) (quadruplets [][]int) {sort.Ints(nums)n : len(nums)for i : 0; i < n-3 && nums[i]nums[i1]nums[i2]nums[i3] < target; i {if i > 0 && nums[i] nums[i-1] || nums[i]…

今日科普:车祸导致颈部挥鞭样损伤,该怎样治疗

王先生因一次严重的车祸遭遇了颈部挥鞭样损伤。车祸后&#xff0c;他感到颈部和上肢持续性的刀割样疼痛&#xff0c;麻木不堪&#xff0c;严重影响了日常生活。王先生为了寻求疼痛缓解&#xff0c;来到了北京精诚博爱医院。经过详细的检查&#xff0c;医生决定为他实施颈交感射…

高端大气自适应全屏酷炫渐变卡片html源码图片切换特效html5源码导航引导网站源码

源码特点&#xff1a; 1&#xff1a;手工书写DIVCSS、代码精简无冗余。 2&#xff1a;自适应结构&#xff0c;全球先进技术&#xff0c;高端视觉体验。 3&#xff1a;SEO框架布局&#xff0c;栏目及文章页均可独立设置标题/关键词/描述。 4&#xff1a;附带测试数据、安装教程、…

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

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

postgresql发布和订阅

一、发布订阅介绍 发布和订阅使用了pg的逻辑复制的功能&#xff0c;通过发布端创建publication与表绑定&#xff0c;订阅端创建subscription同时会在发布端创建逻辑复制槽实现逻辑复制功能 逻辑复制基于 发布&#xff08;Publication&#xff09; 与 订阅&#xff08;Subscri…

性能优化 - 你知道开发React项目中,可以做哪些性能优化吗

难度级别:中高级及以上 提问概率:75% 在React项目开发中,面临着比较大的问题就是组件更新以及重复渲染的问题,基于这两点,我们可以在日常开发工作中,可以通过以下几点,来提升React的性能,加快组件更新对比,避免过多的重复渲染问题。 …

FR中隐藏系统管理--用户管理中 表格中每条数据中的编辑按钮,删除按钮

比如隐藏删除按钮&#xff1a; var userTableTools BI.Constants.getConstant("dec.constant.user.table.tools")for(var key in userTableTools){if(key "delete"){var deleteItem userTableTools["delete"]deleteItem.invisible true;}}

python|map

# 定义一个平方函数 def square(x): return x ** 2 # 创建一个数字列表 numbers [1, 2, 3, 4, 5] # 使用 map 函数将平方函数应用于列表中的每个元素 squares map(square, numbers) #将numbers绑定上一个函数 print(type(square)) print(square)# 将结果转换为列表…

Macos 部署自己的privateGpt(2024-0404)

Private Chatgpt 安装指引 https://docs.privategpt.dev/installation/getting-started/installation#base-requirements-to-run-privategpt 下载源码 git clone https://github.com/imartinez/privateGPT cd privateGPT安装软件 安装&#xff1a; Homebrew /bin/bash -c…

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

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

老子云、AMRT3D、眸瑞科技

老子云概述 老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自主可控的自动化3D云引擎。 平台架构 平台特性 1、基…

深入了解iOS内存(WWDC 2018)笔记-内存诊断

主要记录下用于分析iOS/macOS 内存问题的笔记。 主要分析命令&#xff1a; vmmap, leaks, malloc_history 一&#xff1a;前言 有 3 种思考方式 你想看到对象的创建吗&#xff1f;你想要查看内存中引用对象或地址的内容吗&#xff1f;或者你只是想看看 一个实例有多大&#…

Utilize webcam to capture photo with camera

1. Official Guide& my github Official course my github 2. Overcome Webcam js Error in Chrome: Could not access webcam link 直接把代码拷贝到本机的下述目录下 To ignore Chrome’s secure origin policy, follow these steps. Navigate to chrome://flags/#un…

nginx 配置访问地址和解决跨域问题(反向代理)

1、配置访问地址&#xff08;通过ip访问&#xff09; //配置ip访问地址 location ^~/auditApp{alias /usr/local/front-apps/cbd/auditApp;index index.html;if (!-e $request_filename) {rewrite ^/(.*) /auditApp/index.html last;break;}} 2、解决跨域问题&…

Unity2023使用sdkmanager命令行工具安装Android SDK

1&#xff0c;下载cmdline-tools&#xff0c;官网地址&#xff1a;https://developer.android.com/studio或者https://dl.google.com/android/repository/文件名 文件名对应版本名。例如文件名为commandlinetools-win-9862592_latest.zip 引用Android cmdline-tools 版本与其…

面向跳转编程JOP问题及挑战

BTI分支目标识别精讲与实践系列 思考 1、什么是代码重用攻击?什么是ROP攻击?区别与联系? 2、什么是JOP攻击?间接分支跳转指令? 3、JOP攻击的缓解技术?控制流完整性保护? 4、BTI下的JOP如何缓解?什么是目标着陆台? 5、BTI的架构细节?硬件原理?间接分支类型?指…

LangChain Agent v0.2.0简明教程 (下)

5. Agent5.1 Tools&#xff08;Function Calling&#xff09;5.2 Agent 6. Memory 5. Agent Agent的核心思想是根据用户输入的prompt&#xff0c;使用LLM来选择要采取的一系列操作(agent调用tools prompt llm tools)。在Chain中&#xff0c;一系列操作被硬编码&#xff08;…

记录一下前端定时器清除失效的问题

目录 一、问题引入 二、错误代码&#xff1a; 三、错误原因 四、修正的代码 附 vue提供的线上运行代码网址以便证实可用性 一、问题引入 按理说&#xff0c;打开定时器 xxx setInterval(()>{ },100)&#xff0c;之后只要 clearInterval(xxx) 就可以顺利关闭定时器…