本帖最后由 lulugl 于 2024-2-25 13:35 编辑

【目的】

创建keil模版工程熟悉GD32H759的工程结构。

【实现过程】

  • 创建模板工程文件夹GD32H759_Template。
  • 在该文件夹下创建CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数)USER(存放用户自己的函数)

132404tmmjmckyhdncqkvy

  • \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文件夹里:

132404goc9iiouzonpjuqt

7、在USER文件夹下新建一个MDK文件夹用于新建Keil的工程文件夹,建好后工程如下:

132404t8xl8tqxqgixnx4x


8、打开keil选择新建工程,工程存到到USER/MDK目录下面,名称定义为GD32H759_template

132411f9rcnscn9sbn067g


9、选择芯片为GD32H759M

132411yqtztihvhq22q28r


10、打开工程分组配置,新建Apllication、CMSIS、GD32H7xx_Peripherals、GD32H7xx_EVAL、Startup、Doc用于存放如下图所示的相关功能代码

image.png

11、向工程中添加代码
1)、向Startup中添加CMSIS\Source\ARM下的启动startup_gd32h7xx.s文件

image.png


2)向CMSIS中添加CMSIS\Source的system_gd32h7xx.c文件

image.png


3)向GD32H7xx_Peripherals分组下面添加FWLIB\Source目录下的所有.c文件(注以后可以根据工程需要添加指定的驱动就行,以减少工程大小)

image.png


4)向分组GD32H7xx_EVAL中添加Utilites下面的gd32h759_eval.c。

image.png


5)向Apllication分配组中添加USER下面的gd32h7xx_it.c、main.c、systick.c

132424ru9rw99wkwxq1bkx


6)添加头文件

..\..\USER

..\..\Utilites

..\..\CMSIS\Include

..\..\FWLIB\Include

..\..\CMSIS\Source\ARM

这些引用到工程中:

132424dtintlhr33zal3tn


8)、修改C语言为c99,c++为C++11,添加Define为GD32H7xx:

image.png


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目录下。

image.png

到此我们编译就可以顺利的通过了。

image.png

最后向Doc下面添加说明文档:

132431puu9y9ru97r999ck

【总结】

通过创建本次工程,是基于GD官方提供的示例进行创建,通过空白工程的创建,掌握了整个工程代码的结构。

整个空白工程可以复制到其他目录进行工作,避免因为文件的路径引用的变动而要修改工程。


【附件】
工程源码(注:由于开发板没有到,没有上机测试)
GD32H759_Template.zip (658.26 KB, 下载次数: 5)
全部回复 0
暂无评论,快来抢沙发吧