【GD32F303开发之开发工具的安装与配置】

2023-11-14

GD32F303开发系列文章目录

第一章 GD32微控制器开发工具的安装与配置
第二章 GD32基准工程实验
第三章 GD32串口通信实验
第四章 GD32EXMC与LCD显示实验



前言

GD32拥有丰富的外设、强大的开发工具、易于上手的固件库,在32位微控制器选型中,GD32已经成为许多工程师的首选。而且经过8年的积累,GD32的各种开发资料都非常完善,这也降低了初学者的学习难度。因此,本文通过几个实例介绍GD32F303ZET6微控制器开发的过程。


一、GD32微控制器开发工具的安装与配置

自从GD32公司于2013年推出GD32系列微控制器至今,与GD32配套的开发工具有很多,如Keil公司的Keil、ARM公司的DS-5、Embest公司的EmbestIDE、IAR公司的EWARM等。目前国内使用较多的是EWARM和Keil。EWARM(Embedded Workbench for ARM)是IAR公司为ARM微处理器开发的一个集成开发环境(简称IAR EWARM)。与其他ARM开发环境相比较,IAR EWARM具有入门容易、使用方便和代码紧凑的特点。Keil是Keil公司开发的基于ARM内核的系列微控制器集成开发环境,它适合不同层次的开发者,包括专业的应用程序开发工程师和嵌入式软件开发入门者。Keil包含工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM内核的芯片,能帮助工程师按照计划完成项目。

1.安装Keil 5.30

双击运行MDK5.30.exe程序,在弹出的如下图所示的对话框中,单击Next按钮。
Keil 5.30安装步骤1
系统弹出如下图所示的对话框,勾选I agree to all the terms of the preceding License Agreement项,然后,单击Next按钮。
Keil 5.30安装步骤2
如下图所示,选择安装路径和包存放路径。然后,单击Next按钮。
Keil 5.30安装步骤3
随后,系统弹出如下图所示的对话框,在First Name、Last Name、Company Name和E-mail栏输入相应的信息,然后单击Next按钮。软件开始安装。
Keil 5.30安装步骤4
在软件安装过程中,系统会弹出如下图所示的对话框,勾选“始终信任来自"ARM Ltd"的软件(A)”项,然后单击“安装(I)”按钮。
Keil 5.30安装步骤5
软件安装完成后,系统弹出如下图所示的对话框,取消勾选Show Release Notes项,然后单击Finish按钮。
Keil 5.30安装步骤6
在如下图所示的对话框中,取消勾选Show this dialog at startup项,然后单击OK按钮,最后关闭Pack Installer对话框。
Keil 5.30安装步骤7
双击运行GigaDevice.GD32F30x_DFP.2.1.0.pack固件库包,打开如下图所示的对话框,直接单击Next按钮,固件库包即开始安装。
安装固件库包步骤1
固件库包安装完成后,弹出如下图所示的对话框,单击Finish按钮。
安装固件库包步骤2

2.设置Keil 5.30

Keil 5.30安装完成后,需要对Keil软件进行标准化设置,首先在“开始”菜单找到并单击Keil μVision5,软件启动之后,在弹出的如下图所示对话框中单击“是”按钮。
设置Keil 5.30步骤1
然后在打开的Keil μVision5软件界面中,执行菜单栏命令Edit→Configuration,如下图所示。
设置Keil 5.30步骤2
系统弹出如下图所示的Configuration对话框,在Editor标签页的Encoding栏选择Chinese GB2312(Simplified)。将编码格式改为Chinese GB2312(Simplified)可以防止代码文件中输入的中文乱码现象;在C/C++ Files栏勾选所有选项,并在Tab size栏输入2;在ASM Files栏勾选所有选项,并在Tab size栏输入2;在Other Files栏勾选所有选项,并在Tab size栏输入2。将缩进的空格数设置为2个空格,同时将Tab键也设置为2个空格,这样可以防止使用不同的编辑器阅读代码时出现代码布局不整齐的现象。设置完成后单击OK按钮。
设置Keil 5.30步骤3

3.Keil编辑和编译及程序下载过程

首先,用Keil建立工程、编写程序;然后,编译工程并生成二进制或十六进制文件;最后,将二进制或十六进制文件下载到GD32微控制器上运行。
(1)Keil编辑和编译过程
Keil的编辑和编译过程与其他集成开发环境的类似,如下图所示,可分为以下4个步骤:①创建工程,并编辑程序,程序包括C/C++代码(存放于.c文件)和汇编代码(存放于.s文件);②通过编译器armcc对.c文件进行编译,通过编译器armasm对.s文件进行编译,这两种文件编译之后,都会生成一个对应的目标程序(.o文件),.o文件的内容主要是从源文件编译得到的机器码,包含代码、数据及调试使用的信息;③通过链接器armlink将各个.o文件及库文件链接生成一个映射文件(.axf或.elf文件);④通过格式转换器fromelf,将.axf或.elf文件转换成二进制文件(.bin文件)或十六进制文件(.hex文件)。编译过程中使用到的编译器armcc、armasm,以及链接器armlink和格式转换器fromelf均位于Keil的安装目录下,如果Keil默认安装在C盘,这些工具就存放在C:\Keil_v5\ARM\ARMCC\bin目录下。
Keil编辑和编译过程
(2)程序下载过程
通过Keil生成的映射文件(.axf或.elf)或二进制/十六进制文件(.bin或.hex)可以使用不同的工具下载到GD32微控制器上的Flash,上电后,系统将Flash中的文件加载到片上SRAM,运行整个代码。
一般有两种下载程序的方法:①使用Keil将.axf通过GD-Link下载到GD32微控制器上的Flash中;②使用GigaDevice MCU ISP Programmer将.hex通过串口下载到GD32微控制器上的Flash中。

4.GD32工程模块名称及说明

工程建立完成后,按照模块被分为App、Alg、HW、OS、TPSW、FW和ARM。如下图所示。各模块名称及说明如下表所示。
Keil工程模块分组
GD32工程模块名称及说明

5.相关参考资料

在GD32微控制器系统设计过程中,有许多资料可供参考,如《GD32F303xx数据手册》《GD32F30x用户手册(中文版)》《GD32F30x用户手册(英文版)》和《GD32F30x固件库使用指南》等。
(1)《GD32F303xx数据手册》
选定好某一款具体芯片之后,需要清楚地了解该芯片的主功能引脚定义、默认复用引脚定义、重映射引脚定义、电气特性和封装信息等,可以通过《GD32F303xx数据手册》查询这些信息。
(2)《GD32F30x用户手册(中文版)》
该手册是GD32F30x系列芯片的用户手册(中文版),主要对GD32F30x系列微控制器的外设,如存储器、FMC、RCU、EXTI、GPIO、DMA、DBG、ADC、DAC、WDGT、RTC、Timer、USART、I2C、SPI、SDIO、EXMC和CAN等进行介绍,包括各个外设的架构、工作原理、特性及寄存器等。读者在开发过程中,会频繁使用到该手册,尤其是查阅某个外设的工作原理和相关寄存器。
(3)《GD32F30x用户手册(英文版)》
GD32F30x系列芯片的用户手册(英文版)。
(4)《GD32F30x固件库使用指南》
固件库实际上就是读/写寄存器的一系列函数集合,该手册是这些固件库函数的使用说明文档,包括封装寄存器的结构体说明、固件库函数说明、固件库函数参数说明,以及固件库函数使用实例等。不需要记住这些固件库函数,在开发过程中遇到不清楚的固件库函数时,能够翻阅之后解决问题即可。


总结

以上就是今天要讲的内容,本文仅仅介绍了在GD32开发过程Keil 5.30的安装和配置,下一章将通过一个简单实例介绍GD32基准工程的建立。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【GD32F303开发之开发工具的安装与配置】 的相关文章

  • linux嵌入式开发常用下载链接

    linux kernel ARM 开源wike ARM GNU编译工具链下载
  • 关于Android arm64-v8a、armeabi-v7a、armeabi、x86等CPU下的so文件兼容问题

    先介绍几个专业词 ARM 是嵌入式中的一种架构 全称为Advanced RISC Machine 能够理解为ARM处理器 ABI Application Binary Interface 应用程序二进制接口 描述了应用程序和操做系统之间 一
  • 【目录贴】硕士实验室嵌入式学习路线参考清单

    下面是对我在硕士期间边学边实践所写的部分文章 挑选整理出一个 学习清单 其实我写到目前为止 如果你看进去了这些东西 可以说各种东西达到了熟悉 熟练的状态 可不敢说精通 面试官会出手 如果看到这篇路线总结 无论你是本科还是硕士 你也别太感觉东
  • 初步认识Thread网络

    Thread网络 说明 本文档内容参考自 https openthread google cn guides 是基于这个官方文档内容进行的添加一些个人理解的介绍文档 文档内容仅能作为对thread 网络的一个概念学习和参考 基本概念 Thr
  • <Linux开发>系统移植 -之- linux构建BusyBox根文件系统及移植过程详细记录

    Linux开发 系统移植 之 linux构建BusyBox根文件系统及移植过程详细记录 前言 本章节讲解的是构建移植BusyBox根文件系统到linux开发板 主要是基于正点原子Linux开发板操作 接下来讲解具体过程记录 BusyBox源
  • 33.输入捕获原理与配置

    输入捕获原理与配置 参考资料 STM32Fx开发板 STM32Fx开发指南 HAL库版本 第x章 输入捕获实验 STM32Fxx官方资料 STM32Fxx中文参考手册 第x章 通用定时器 笔记基于正点原子官方视频 视频连接https www
  • ADC转换不准确?启用内部参考电压缓冲器 (VREFBUF)

    电压基准缓冲器VREFBUF 一 VREF 描述 1 VDDA 有时与VREF 键合 2 VREF 与 VREF 3 VREF 作用 二 VREFBUF 电压参考缓存器 1 简介 2 功能描述 3 VREFBUF 修边 三 VREFBUF寄
  • 【ARM】使用模板编写dht11温湿度linux驱动程序

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏资料 https gitee com stylle linux code 点赞 收藏 再看 养成习惯 订阅的粉丝可通过PC端文末加我微信 可对文章的内容进
  • cmake 报错

    目录 错误 原因 错误 The C compiler identification is unknown The CXX compiler identification is unknown CMake Error at CMakeList
  • DRM几个重要的结构体及panel开发

    一 DRM Linux下的DRM框架内容众多 结构复杂 本文将简单介绍下开发过程中用到的几个结构体 这几个结构体都在之前文章里面开发DRM驱动时用到的 未用到的暂不介绍 DRM中的KMS包含Framebuffer CRTC ENCODER
  • 基于MCU,如何零代码无开发实现OTA差分升级?

    概述 随着物联网设备智能化的发展 OTA 升级已经成为了业界公认的基础能力 而 OTA 在设计和实现过程中需要依赖于物联网设备的硬件方案 物联网设备主流的硬件方案为 1 直接基于通讯芯片 模块开发的方案 用户升级的主要目标是通讯芯片 模块
  • 嵌入式Linux开发环境搭建-2-制作编译工具

    嵌入式Linux开发环境搭建 2 制作编译工具 一 安装基本开发环境 1 1 build essential安装 1 2 bison和flex 4 3 安装C函数库的man手册 二 安装交叉编译工具链 2 1 相关软件下载 2 2 修改一个
  • 【ARM】Linux内核驱动之中断

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏资料 https gitee com stylle linux code 点赞 收藏 再看 养成习惯 订阅的粉丝可通过PC端文末加我微信 可对文章的内容进
  • 从AT32F403ARCT6替换成MH2103ARPT6,如何在KEIL软件上通过CMSIS DAP下载程序

    从AT32F403ARCT6替换成MH2103ARPT6 如何在KEIL软件上通过CMSIS DAP下载程序 1 点击魔术棒 进入设置 2 点击Device选项卡 选择芯片为ARM ARM Cotex M3 ARMCM3 3 点击Targe
  • 09_Uboot启动流程_1

    目录 链接脚本u boot lds详解 U Boot启动流程详解 reset函数源码详解 lowlevel init函数详解 s init函数详解 链接脚本u boot lds详解 要分析uboot的启动流程 首先要找到 入口 找到第一行程
  • linux 网络

    网络基础 协议的概念 什么是协议 从应用的角度出发 协议可理解为 规则 是数据传输和数据的解释的规则 假设 A B双方欲传输文件 规定 第一次 传输文件名 接收方接收到文件名 应答OK给传输方 第二次 发送文件的尺寸 接收方接收到该数据再次
  • ARM学习系列 ---- ARM NEON

    ARM学习系列 ARM NEON 1 NEON概述 1 1 简介 NEON是指适用于Arm Cortex A系列处理器的一种高级SIMD 单指令多数据 扩展指令集 可执行并行数据处理 1 2 发展历史 arm v6 SIMD扩展 arm v
  • SoC性能指标&ARM内核运算能力

    自动驾驶芯片常用的性能评价指标 TOPS DMIPS GFLOPS分别说的是啥 TOPS Tera Operation Per Second 表示每秒钟可以进行的操作数量 用于衡量自动驾驶的算力 众所周知 汽车上最常用的传感器是摄像头 而与
  • ARM架构学习(二)——流水线

    本期主题 ARM流水线 往期地址 ARMv7架构学习 ARM流水线 1 流水线概念 2 指令的分解步骤 1 流水线概念 硬件资源总是有限的 有一个明显的方法能改善硬件资源的利用率 这就是pipeline 流水线 技术 其实就是在当前指令结束
  • lv12 uboot移植深化 9

    u boot 2013 0 1移植 实验目的 了解 u boot 的代码结构及移植 的基本 方法 实验环境 u buntu 14 04

随机推荐