【GD32F303开发之基准工程实验】

GD32F303开发系列文章目录

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



前言

本文以一个基准工程的创建为主线,分为16个步骤,对Keil软件的使用,以及工程的编译和程序下载进行介绍。将编译生成的.hex和.axf文件下载到GD32F3苹果派开发板,验证以下基本功能:两个LED(编号为LED1和LED2)每500ms交替闪烁;计算机上的串口助手每秒输出一次字符串。


二、基准工程实验

1.新建存放工程的文件夹

在计算机的D盘中建立一个GD32F3KeilTest文件夹,将资料包的“04.例程资料\Material”文件夹复制到GD32F3KeilTest文件夹中,然后在GD32F3KeilTest文件夹中新建一个Product文件夹。工程保存的文件夹路径也可以自行选择。注意,保存工程的文件夹一定要严格按照要求进行命名,从细微之处养成良好的规范习惯。

2.新建存放工程的文件夹

首先,在D:\GD32F3KeilTest\Product文件夹中新建一个名为“01.BaseProject”的文件夹;其次,将“D:\GD32F3KeilTest\Material\01.BaseProject”文件夹中的所有文件夹和文件(包括Alg、App、ARM、FW、HW、OS、TPSW)复制到“D:\GD32F3KeilTest\Product\01.BaseProject”文件夹中;最后,在“D:\GD32F3KeilTest\Product\01.BaseProject”文件夹中新建一个Project文件夹。

3.新建一个工程

打开Keil μVision5软件,执行菜单命令Project→New μVision Project,在弹出的Create New Project对话框中,工程路径选择“D:\GD32F3KeilTest\Product\01.BaseProject\Project”,将工程名命名为GD32KeilPrj,最后单击“保存”按钮,如下图所示。
新建一个工程

4.选择对应的微控制器型号

在弹出的Select Device for Target 'Target 1’对话框中,选择对应的微控制器型号,由于开发板上微控制器的型号是GD32F303ZET6,因此在如下图所示的对话框中,选择GD32F303ZE,然后单击OK按钮。
选择对应的微控制器型号

5.设置Manage Run-Time Environment对话框

由于使用到微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard),因此,在弹出的如下图所示的Manage Run-Time Environment对话框中,先展开CMSIS选项,然后在Sel一栏中勾选CORE对应的选项,最后单击OK按钮保存设置并关闭对话框。
设置Manage Run-Time Environment对话框

6.删除原有分组并新建分组

关闭Manage Run-Time Environment对话框之后,一个简单的工程创建完成,工程名为GD32KeilPrj。在Keil软件界面的左侧可以看到,Target1下有一个Source Group1分组,这里需要将已有的分组删除,并添加新的分组。首先,单击工具栏中的按钮,如下图所示,在Project Items标签页中,单击Groups栏中的按钮,删除Source Group 1分组。
删除原有的Source Group1分组
接着,单击Groups栏中的按钮,依次添加App、Alg、HW、OS、TPSW、FW、ARM分组,如下图所示。注意,可以通过单击箭头按钮调整分组的顺序。
添加新分组

7.向分组添加文件

如下图所示,在Groups栏中,单击选择App,然后单击Add Files按钮。在弹出的Add Files to Groups 'App’对话框中,查找范围选择“D:\GD32F3KeilTest\Product\01.BaseProject\App\Main”。最后,单击选择Main.c文件,再单击Add按钮,将Main.c文件添加到App分组中。注意,也可以在Add Files to Groups 'App’对话框中,通过双击Main.c文件向App分组中添加该文件。
向App分组中添加Main.c文件
采用同样的方法,将“D:\GD32F3KeilTest\Product\01.BaseProject\App\LED”路径下的LED.c文件添加到App分组中,添加完成后的效果图如下图所示。
将LED.c文件添加到App分组中的效果图
将“D:\GD32F3KeilTest\Product\01.BaseProject\HW\RCU”路径下的RCU.c文件、“D:\GD32F3KeilTest\Product\01.BaseProject\HW\Timer”路径下的Timer.c文件、“D:\GD32F3KeilTest\Product\01.BaseProject\HW\UART0”路径下的Queue.c和UART0.c文件分别添加到HW分组中。添加完成后的效果图如下图所示。
向HW分组中添加文件后的效果图
将“D:\GD32F3KeilTest\Product\01.BaseProject\FW\Source”路径下的gd32f30x_fmc.c、gd32f30x_gpio.c、gd32f30x_misc.c、gd32f30x_rcu.c、gd32f30x_timer.c、gd32f30x_usart.c文件添加到FW分组中。添加后的效果图如下图所示。
向FW分组中添加文件后的效果图
将“D:\GD32F3KeilTest\Product\01.BaseProject\ARM\System”路径下的gd32f30x_it.c、system_gd32f30x.c、startup_gd32f30x_hd.s文件添加到ARM分组中,再将“D:\GD32F3KeilTest\Product\01.BaseProject\ARM\NVIC”路径下的NVIC.c文件和“D:\GD32F3KeilTest\Product\01.BaseProject\ARM\SysTick”路径下的SysTick.c文件添加到ARM分组中,添加完成后的效果图如下图所示。注意,向ARM分组中添加startup_gd32f30x_hd.s文件时,需要在“文件类型(T)”的下拉菜单中选择Asm Source file (.s; .src; .a)或All files (.*)。
向ARM分组中添加文件后的效果图

8.勾选Use MicroLIB项

为了方便调试,本文在很多地方都使用了printf语句。在Keil中使用printf语句,需要勾选Use MicroLIB项,如下图所示。首先,单击工具栏中的按钮,在弹出的Options for Target 'Target1’对话框中,单击Target标签页,勾选Use MicroLIB项。然后,将ARM Compiler选项设置为Use default compiler version 5。最后,单击OK按钮保存设置。
勾选Use MicroLIB项

9.勾选Create HEX File

通过GD-Link既可以下载.hex文件,也可以将.axf文件下载到GD32微控制器的内部Flash中,这里使用GD-Link下载.axf文件。Keil默认编译时不生成.hex文件,如果需要生成.hex文件,则需要勾选Create HEX File项。首先,单击工具栏中的按钮,在弹出的Options for Target 'Target1’对话框中,单击Output标签页,勾选Create HEX File项,如下图所示。注意,通过GD-Link下载.hex文件一般要使用GD-Link Programmer软件,限于篇幅,这里不介绍如何下载。
勾选Create HEX File项

10.添加宏定义和头文件路径

由于GD32微控制器的固件库具有非常强的兼容性,只需要通过宏定义就可以区分使用在不同型号的微控制器上,而且,可以通过宏定义选择是否使用标准库,具体做法如下。首先,单击工具栏中的按钮,在弹出的Options for Target 'Target1’对话框中,单击C/C++标签页,如下图所示,在Define栏中输入USE_STDPERIPH_DRIVER,GD32F30X_HD。注意,USE_STDPERIPH_DRIVER和GD32F30X_HD用英文逗号隔开,第一个宏定义表示使用标准库,第二个宏定义表示使用的微控制器型号为GD32F30x系列。
添加宏定义
添加完分组中的.c文件和.s文件后,还需要添加头文件路径,这里以添加Main.h头文件路径为例进行介绍。首先,单击工具栏中的按钮,在弹出的Options for Target 'Target1’对话框中:①单击C/C++标签页;②单击“文件夹设定”按钮;③单击“新建路径”按钮;④将路径选择到“D:\GD32F3KeilTest\Product\01.BaseProject\App\Main”;⑤单击OK按钮,如下图所示。这样就可以完成Main.h头文件路径的添加。
添加Main.h头文件路径
采用添加Main.h头文件路径的方法,依次添加其他头文件路径。所有头文件路径添加完成后的效果图如下图所示。
添加完所有头文件路径的效果图

11.程序编译

完成以上步骤后,可以开始程序编译。单击工具栏中的(Rebuild)按钮,对整个工程进行编译。当Build Output栏中出现FromELF:creating hex file…时,表示已经成功生成.hex文件;出现0 Error(s), 0 Warnning(s)时,表示编译成功,如下图所示。
程序编译

12.通过GD-Link下载程序

取出开发套件中的两条USB转Type-C型连接线和GD32F3苹果派开发板。将两条连接线的Type-C接口端接入开发板的通信-下载和GD-Link接口,然后将两条连接线的USB接口端均插到计算机的USB接口,如下图所示。
GD32F3苹果派开发板连接实物图
打开Keil μVision5软件,单击工具栏中的按钮,进入设置界面。在弹出的Options for Target 'Target1’对话框中,选择Debug标签页,如下图所示,在Use下拉列表中,选择CMSIS-DAP Debugger,然后单击Settings按钮。
GD-Link调试模式设置步骤1
在弹出的CMSIS-DAP Cortex-M Target Driver Setup对话框中,选择Debug标签页,如下图所示,在Port下拉列表中,选择SW;在Max Clock下拉列表中,选择1MHz。
GD-Link调试模式设置步骤2
再选择Flash Download标签页,如下图所示,勾选Reset and Run项,然后单击OK按钮。
GD-Link调试模式设置步骤3
打开Options for Target 'Target 1’对话框中的Utilities标签页,如下图所示,勾选Use Debug Driver和Update Target before Debugging项,最后单击OK按钮。
GD-Link调试模式设置步骤4
GD-Link调试模式设置完成,确保GD-Link接口通过USB转Type-C型连接线连接到计算机之后,就可以在如下图所示的界面中,单击工具栏中的按钮,将程序下载到GD32F303ZET6微控制器的内部Flash中。下载成功后,在Bulid Output栏中将显示方框中所示的内容。
通过GD-Link向开发板下载程序成功界面

13.安装CH340驱动

下面介绍如何通过串口下载程序。通过串口下载程序,还需要借助开发板上集成的通信-下载模块,因此,要先安装通信-下载模块驱动。
在配套资料包的“02.相关软件\CH340驱动(USB串口驱动)_XP_WIN7共用”文件夹中,双击运行SETUP.EXE,单击“安装”按钮,在弹出的DriverSetup对话框中单击“确定”按钮,如下图所示。
安装CH340驱动
驱动安装成功后,将开发板上的通信-下载接口通过USB转Type-C型连接线连接到计算机,然后在计算机的设备管理器中找到USB串口,如下图所示。注意,串口号不一定是COM3,每台计算机有可能会不同。
计算机设备管理器中显示USB串口信息

14.通过GigaDevice MCU ISP Programmer下载程序

首先确保在开发板的J104排针上,已用跳线帽分别将U_TX和PA10引脚、U_RX和PA9引脚连接。然后在配套资料包的“02.相关软件\串口烧录工具\GigaDevice_MCU_ISP_Programmer_V3.0.2.5782_1”文件夹中,双击运行GigaDevice MCU ISP Programmer.exe,如下图所示。
程序下载步骤1
在弹出如下图所示的GigaDevice ISP Programmer 3.0.2.5782对话框中,在Port Name下拉列表中,选择COM3(需在设备管理器中查看串口号);在Baut Rate下拉列表中,选择57600;在Boot Switch下拉列表中,选择Automatic;在Boot Option下拉列表中,选择RTS高电平复位,DTR高电平进Bootloader,最后单击Next按钮。
程序下载步骤2
然后在弹出如下图所示的对话框中,单击Next按钮。
程序下载步骤3
在弹出如下图所示的对话框中,单击Next按钮。
程序下载步骤4
在弹出如下图所示的对话框中,选择Download to Device项,选择Erase all pages (faster)项,然后单击OPEN按钮,定位编译生成的.hex文件。
程序下载步骤5
在“D:\GD32F3KeilTest\Product\01.BaseProject\Project\Objects”目录下,找到GD32KeilPrj.hex文件并单击Open按钮,如下图所示。
程序下载步骤6
在如上图所示对话框中单击Next按钮开始下载,出现如下图所示界面表示程序下载成功。注意,使用GigaDevice MCU ISP Programmer成功下载程序后,需按开发板上的RST按键进行复位,程序才会运行。
程序下载步骤7

15.通过串口助手查看接收数据

在配套资料包的“02.相关软件\串口助手”文件夹中,双击运行sscom42.exe(串口助手软件),如下图所示。选择正确的串口号,波特率选择115200,取消勾选“HEX显示”项,然后单击“打开串口”按钮。当窗口中每秒输出一次This is the first GD32F303 Project, by Zhangsan时,表示实验成功。注意,实验完成后,在串口助手软件中先单击“关闭串口”按钮关闭串口,再断开GD32F3苹果派开发板的电源。
串口助手操作步骤

16.查看GD32F3苹果派开发板的工作状态

此时可以观察到开发板上电源指示灯(编号为5V_LED,蓝色)正常显示,绿色LED(编号为LED1)和蓝色LED(编号为LED2)每500ms交替闪烁。


总结

以上就是今天要讲的内容,本文按照程序设计的步骤,进行软件标准化设置、创建工程、编译并生成.hex和.axf文件、最后将程序下载到GD32F3苹果派开发板,下一章将通过实例介绍GD32串口通信实验。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值