固件库使用方法和启动流程介绍
GD32 MCU标准固件库是一个固件函数包,它由程序、数据结构和宏组成,包括了GD32 MCU所
有外设的性能特征。固件库还包括每一个外设的驱动描述和基于评估板的固件库使用例程。通过
使用标准固件库,用户无需深入掌握细节,也可以轻松应用每一个外设。使用固件库可以大大减
少用户的编程时间, 从而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外
设所有功能。 可以通过调用一组通用API(application programming interface应用编程界面)来实
现对外设的驱动, 这些API的结构、函数名称和参数名称都进行了标准化规范。
在此以GD32E23x系列固件库为例进行说明固件库架构及使用方法,其他系列固件库可类比参考。
1、 GD32E230_Firmware_Library,文件组织结构
固件库文件组织结构图
2、文件夹Examples,对应每一个GD32外设均包含一个子文件夹。 每个子文件夹包含了关于本外设的一个或多个例程,来示范如何使用对应外设。 每个例程子文件夹包含如下文件:
◼ readme.txt: 关于本例程的简单描述和使用说明;
◼ GD32e230_libopt.h:该头文件可以设置例程所使用到的外设,由不同的“DEFINE”语句组成(默认情况下,所有外设均打开);
◼ GD32e230_it.c:该源文件包含了所有的中断处理程序(如果未使用到中断,则所有的函数体都为空);
◼ GD32e230.it.h:该头文件包含了所有的中断处理程序的原形;
◼ systick.c: 该源文件包含了使用systick的精准延时程序;
◼ systick.h: 该头文件包含了使用systick的精准延时程序的原形;
◼ main.c:例程代码注:所有的例程的使用,都不受不同软件开发环境的影响。Firmware文件夹包含组成固件库核心的所有子文件夹和文件:
◼ CMSIS子文件夹包含有Cortex M23内核的支持文件、 基于Cortex M23内核处理器的启动代码和库引导文件以及基于GD32E230的全局头文件和系统配置文件;
◼ GD32E230_standard_peripheral子文件夹;– Include子文件夹包含了固件函数库所需的头文件,用户无需修改该文件夹;– Source子文件夹包含了固件函数库所需的源文件,用户无需修改该文件夹。3、Template文件夹包含一个关于使用LED、 USART打印、 按键控制的简单例程,(IAR_project用于IAR编译环境, Keil_project用于Keil5编译环境)。 用户可以使用该工程模板进行固件库例程的移植编译, 具体使用方法见下:(1) 选择文件打开“Examples”文件夹,选择需要测试的模块,如SPI,打开”SPI”文件夹,选择SPI的一个例程,如”SPI_master_transmit_slave_receive_interrupt”;
历程文件夹内容
(2)拷贝文件打开“Template”文件夹,将” IAR_project”和” Keil_project”两个文件夹保留,其他文件都删除,然后将“SPI_master_transmit_slave_receive_interrupt”文件夹中的所有文件拷到“Template”文件夹子目录下。
Tamplate 文件夹内容
(3)打开工程GD提 供 Keil和 IAR两种版本的工程,根据客户所安装的软件,打开不同的 project,如”Keil_project”,打开\Template\Keil_project\Project.uvproj。
KEIL 工程截图
由于不同的模块、不同的功能,会使用到不同的文件,需要根据客户选择拷贝的文件,对工程里的文件进行增加或删除。
工程修改截图
(4)编译调试下载首先编译整个工程,如果无错误,按照readme中的介绍,选择正确的跳线及连线,然后再将程序下载到目标板上,则会有如readme中描述的现象。 IDE的具体使用,请参考相应的软件使用说明。如客户使用的是Keil。
KEIL 编译下载界面截图
4、Utilities文件夹包含运行固件库例程评估板的文件:◼ Binary、 LCD_Commom及Third_Party子文件夹;◼ GD32e230_eval.h及GD32e230_lcd_eval.h文件是运行固件库例程所需关于评估板的头文件;◼ GD32e230_eval.c及GD32e230_lcd_eval.c文件是运行固件库例程所需关于评估板的源文件。
5、固件库使用的主要文件
固件函数库文件描述
|