【目的】
创建keil模版工程熟悉GD32H759的工程结构。
【实现过程】
- 创建模板工程文件夹GD32H759_Template。
- 在该文件夹下创建CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数)USER(存放用户自己的函数)
- \GD32H7xx_Demo_Su将ites_V1.1.0\GD32H7xx_Firmware_Library\CMSIS\GD\GD32H7xx的两个文件夹复制到工程的CMSIS目录下,并将source下面的IAR文件夹删除。
- 将GD32H7xx_Firmware_Library\GD32H7xx_standard_peripheral下面的两个文件夹的Source与include复到FWLIB目录下
- 复制C:GD32H7xx_Demo_Suites_V1.1.0\GD32H759I_EVAL_Demo_Suites\Utilites文件夹到工程目录下,Utilites下的两个文件,是官方写给GD32H759I-EVAL开发板的按键、LED跟串口驱动。
- 复制一个官方示例工程的main.c/h、gd32h7xx_it.c/h、gd327xx_libopt.h、systick.c/h到USER文件夹里:
7、在USER文件夹下新建一个MDK文件夹用于新建Keil的工程文件夹,建好后工程如下:
8、打开keil选择新建工程,工程存到到USER/MDK目录下面,名称定义为GD32H759_template
9、选择芯片为GD32H759M
10、打开工程分组配置,新建Apllication、CMSIS、GD32H7xx_Peripherals、GD32H7xx_EVAL、Startup、Doc用于存放如下图所示的相关功能代码
1)、向Startup中添加CMSIS\Source\ARM下的启动startup_gd32h7xx.s文件
2)向CMSIS中添加CMSIS\Source的system_gd32h7xx.c文件
3)向GD32H7xx_Peripherals分组下面添加FWLIB\Source目录下的所有.c文件(注以后可以根据工程需要添加指定的驱动就行,以减少工程大小)
4)向分组GD32H7xx_EVAL中添加Utilites下面的gd32h759_eval.c。
5)向Apllication分配组中添加USER下面的gd32h7xx_it.c、main.c、systick.c
6)添加头文件
..\..\USER
..\..\Utilites
..\..\CMSIS\Include
..\..\FWLIB\Include
..\..\CMSIS\Source\ARM
这些引用到工程中:
8)、修改C语言为c99,c++为C++11,添加Define为GD32H7xx:
9)、此时编译,会报未找到头文件错误,需要从Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include复制core_cm7.h、cmsis_version.h、cmsis_compiler.h、cmsis_armclang.h、mpu_armv7.h、cachel1_armv7.h到\CMSIS\Include目录下。
到此我们编译就可以顺利的通过了。
最后向Doc下面添加说明文档:
【总结】
通过创建本次工程,是基于GD官方提供的示例进行创建,通过空白工程的创建,掌握了整个工程代码的结构。
整个空白工程可以复制到其他目录进行工作,避免因为文件的路径引用的变动而要修改工程。
【附件】
工程源码(注:由于开发板没有到,没有上机测试)