公司动态

GD32F470ZKT6单片机开发板入门学习(一)Keil工程搭建

📅 2026/7/16 5:37:49
GD32F470ZKT6单片机开发板入门学习(一)Keil工程搭建
前言GD32F470ZKT6 是兆易创新GigaDevice推出的一款基于 ARM Cortex-M4 内核的高性能微控制器主频高达 240MHz内置 1MB Flash 和 256KB SRAM并集成了丰富的外设资源。本系列教程旨在帮助初学者快速上手 GD32F470ZKT6 开发板从最基础的开发环境搭建开始逐步深入掌握其应用开发。本文作为系列的第一篇将详细介绍如何在 Keil MDKMicrocontroller Development Kit环境下搭建 GD32F470ZKT6 的工程。一、准备工作1.1 硬件准备GD32F470ZKT6 开发板或核心板一块USB 数据线用于供电和程序下载/调试一台 Windows 电脑1.2 软件准备Keil MDK-ARM版本建议 V5.30 或以上。可从 ARM 官网或 Keil 官网下载安装。GD32F4xx Device Family Pack (DFP)GD32 的器件支持包。可通过 Keil 的 Pack Installer 在线安装或从 GigaDevice 官网下载后手动安装。GD32F4xx Firmware Library (固件库)包含芯片外设驱动、示例工程等。从 GigaDevice 官网下载。1.3 文档支持《GD32F4xx_用户手册_Rev3.3》这是 GD32F4xx 系列微控制器的官方核心参考文档。手册详细记录了该系列芯片的完整资源、功能特性、寄存器定义及操作指南是开发过程中不可或缺的权威资料。主要内容包括 在开发过程中遇到任何硬件功能或寄存器配置问题都应首先查阅此手册获取最准确的技术细节。芯片概述介绍 GD32F4xx 系列的产品线、内核特性、性能参数和封装信息。存储器架构详细说明 Flash、SRAM、备份寄存器的地址映射和访问方式。系统与外设深入讲解时钟系统RCU、电源管理、GPIO、中断控制器NVIC等所有外设模块的功能、寄存器配置和编程模型。通信接口涵盖 USART、I2C、SPI、CAN、USB、以太网等通信协议控制器的使用方法。模拟功能包括 ADC、DAC、比较器等模块的配置和校准说明。定时器与高级控制详细描述基本定时器、高级定时器、PWM、输入捕获等功能的操作。附录与电气特性提供引脚定义、封装尺寸、电气参数、勘误表等实用信息GD32F4xx系列MCU中文用户手册https://download.gigadevice.com/User_Manual/GD32F4xx_%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C_Rev3.3.pdf《GD32F470xx_Datasheet_Rev2.2》这是 GD32F470xx 系列芯片的官方数据手册。它提供了该系列芯片的详细电气特性、引脚定义、封装信息、工作条件、直流/交流参数以及订购信息等关键硬件规格。数据手册是进行硬件设计如原理图绘制、PCB 布局、电源设计、外设选型时必须参考的核心文档用于确保芯片在目标应用中的可靠运行。GD32F470xx_Datasheet_Rev2.2.pdfhttps://download.gigadevice.com/Datasheet/GD32F470xx_Datasheet_Rev2.2.pdf二、安装 GD32 器件支持包打开 Keil MDK点击菜单栏Pack Installer图标或通过Project - Manage - Pack Installer打开。在Packs标签页中搜索 “GigaDevice”。找到并展开GigaDevice::GD32F4xx_DFP。选择适合你 Keil 版本的最新版本点击Install进行安装。安装完成后关闭 Pack Installer。至此Keil 已能识别并支持 GD32F4xx 系列芯片。三、创建第一个 Keil 工程3.1 创建工程目录1.新建文件夹命令为1_FD32F470_LED用来保存新创建的工程如图所示。2.在该文件夹下创建6个文件夹分别命名为Project放Keil工程文件编译文件烧录文件等。Firmware放ARM内核文件标准外设库文件等。Hareware放开发板的硬件配置文件。App放应用层文件。User放main函数gd32f4xx_it文件systick文件。Doc放readme.txt文件工程说明文件。​​​​​​3.将GD32F4xx_Firmware_Library_V3.0.0\ GD32F4xx_Firmware_Library\Firmware文件夹下的内容全部拷贝到新建目录的Firmware下如图所示。4.将GD32F4xx_Firmware_Library_V3.0.0\GD32F4xx_Firmware_Library\ Template文件夹的除工程文件夹、readme.txt文件不拷贝之外全拷贝到新建的 User 文件夹下如图所示。5.在Doc文件夹下新建一个readme.txt文件如图所示。3.2 新建Keil工程1.打开 Keil点击Project - New uVision Project...。2.选择刚才创建文件夹下的Project作为工程目录并为工程命名为GD32F470_LED如图所示 。3.在弹出的Select Device for Target对话框中在搜索框输入 “GD32F470”选择GigaDevice - GD32F470-GD32F470ZK点击OK。4.接下来会弹出Manage Run-Time Environment对话框暂时先点击Cancel我们后续手动添加文件。3.3 创建分组并添加源文件1.在 Keil 的Project窗口中右键点击Target 1选择Manage Project Items...。2.在Project Targets标签页可以重命名 Target例如改为 “GD32F470”。3.新建分组点击新建按钮然后输入要新建的分组名如图4-7-2所示。4.创建User分组之后点击Add Files,找到当前文件夹下的User,双击打开后将里面的gd32f4xx_it文件、main文件、systick文件选中点击Add就可以添加文件,如图所示。5.创建Firmware分组之后点击Add Files,找到当前文件夹下的Firmware/GD32F4xx_standard_peripheral/Source/目录下,将里面的所有源文件选中点击Add就可以添加文件,如图所示。6.新建CMSIS分组添加startup_gd32f450_470.s启动文件新建工程的Firmware/CMSIS/GD/GD32F4xx/Source/ARM/,和system_gd32f4xx.c文件新建工程 的Firmware/CMSIS/GD/GD32F4xx/Source/,注意添加启动文件需要勾选文件类型为All files*.,因为启动文件是以.s结尾。如图所示。7.新建Doc分组然后添加readme.txt文件新建工程的Doc/,文件类型要选择 All files,不然会不显示如图所示。8.新建Hardware分组暂时不添加任何文件在后续编写代码中才添加。9.新建App分组暂时不添加任何文件。全部新建分组完成如图所示。可以按照自己的习惯自行调整分组的顺序10.新建完成点击ok之后工程目录如图所示。11.修改工程代码打开main.c文件删除一些不必要的代码剩余部分如图所示。打开gd32f4xx_it.c文件拉到最后面然后删掉Systick_Handler下面的代码。 剩余部分如图所示。3.3 添加宏添加宏是为了去使能这个芯片的头文件这个宏在GD32f4xx.h中有定义添加头文件路径是为了使编译器能够去寻找到对应的头文件。1.点击工具栏的魔术棒图标Options for Target打开配置对话框。2.在C/C (AC6)标签页的Define框中填写USE_STDPERIPH_DRIVER,GD32F470。3.4 配置头文件路径1.点击工具栏的魔术棒图标Options for Target打开配置对话框。2.在C/C (AC6)标签页的Include Paths 框中添加路径 具体的路径根据实际情况而定3.5配置工程1.勾选使用UseMicroLIB这是一个Keil自带的简易的库一般在串口进行重定向的时候使用。 点击Optionsfor target魔术棒,在target选项卡下然后勾选UseMicroLIB如图所示。2.修改ARMCompiler版本点击Optionsfor target魔术棒在Target选项卡下修改ARMCompiler为Userdefault compiler version 5如图所示。3.勾选生成hex文件点击Optionsfor target魔术棒在Output选项卡下勾选CreateHEXFile如图所示。3.6 配置调试器在Debug标签页选择你使用的调试器如 ST-Link, J-Link, CMSIS-DAP 等我这里的开发板使用的是CMSIS-DAP所以下面以CMSIS-DAP进行操作设置。点击Optionsfor target魔术棒在Dubug选项卡下选择CMSIS-DAP Debugger如图所示。点击Settings确认 SWD 接口和芯片识别正确。3.7编译完成上述操作后点击编译如图所示。编译结果0个错误0个警告生成Hex文件至此工程模板创建完成如图所示。四、常见问题与解决编译错误 “undefined symbol SystemCoreClock”检查是否添加了system_gd32f4xx.c文件并且头文件路径包含正确。无法识别芯片/下载失败确认调试器连接和驱动安装正确。在 Debug 配置中检查 SWD 时钟频率是否过高可适当调低如 1MHz。检查开发板供电是否正常。总结本文完成了 GD32F470ZKT6 开发板在 Keil MDK 环境下的第一个工程搭建。通过这个过程你掌握了Keil 中安装 GD32 器件支持包。创建工程、添加固件库文件、配置头文件路径和调试器。这是嵌入式开发的第一步。在后续文章中我们将探索更多外设如 LED、USART、TIMER、ADC 等的使用并介绍更高效的开发方式如使用 HAL 库或 RTOS。祝你学习顺利