#申请原创# #申请开发板#【G32R501 Micro-EVB测评】基于VS-CODE+Makefile+pyocd软件工程模板
一,加载本DEMO所需要的所有源代码文件,如下:
启动程序文件
板上使用的程序文件
驱动程序文件及头文件
点灯文件
二,Makefile文件设置
参数含义如下:TARGET :=G32R501-demo /*本工程名称,以后生成的HEX文件名*/ CHIP := G32R501 /*指定芯片型号*/ CPU := --cpu=Cortex-M52.no_pacbti.no_se/*指定内核为M52*/ FPU := --fpu=VFPv5_d16/*V5版浮点格式*/ MCU := $(CPU) $(FPU) /*MCU为以上CPU+FPU组合*/ ############################ ## IAR编译器优化等级 # 1.**`-On`(默认优化) **- 默认优化级别 - 平衡代码大小和执行速度 # 2.**`-Ol`(低优化) **- 最小化编译时间- 减少优化程度- 主要用于调试目的 # 3.**`-Om`(中等优化) **- 比`-On`更保守的优化- 在某些版本中可用 # 4.**`-Oh`(高性能优化) **- 专注于提高执行速度- 可能增加代码大小- 适用于对性能要求高的应用 # 5.**`-Oz`(尺寸优化) **- 专注于减小代码大小- 可能牺牲一些执行速度- 适用于内存受限的应用 # 6.**`-Ox`(最大优化) **- 应用所有可用的优化技术- 编译时间最长- 可能产生最难调试的代码 OPT := -On /*代码优化等级设定*/ ############################ ############################ #链接文件路径和名称 ICF_LINKER := $(PROJECT_ROOT)/link/g32r501dxyx7_cpu0_cbus_flash.icf
指定哪些C代码加入至本工程内,注意“\”后边不能有空格,TAB等任何隐形符号
定义本项目中所使用的全局宏,注意”D”是关键字,不是宏本身,D后一般不应有空格
定义本项目所用的头件路径
# Project paths OUTPUT_DIR = $(PROJECT_ROOT)/build /*编译输出路径,HEX等也在此文件夹内* OBJ_DIR = $(OUTPUT_DIR)/Obj LST_DIR = $(OUTPUT_DIR)/List
定义IAR工具名称:依次是C编译器,汇编编译器,链接工具,输出目标文件工具
(即输出.elf.hex.bin等用于调试和烧录的文件)
其中 WIN_IAR_PATH := "D:/ProgramFile/IarV9" 是我的电脑IAR安装的路径,可以根据实际情况做更改
这里的指令就是用于编译&生成.elf.srec.hex.bin文件实际指令
三.执行编译
在VS-CODE的终端或超级终端中输入”make”或“make –f iar.mk”后编译此工程如下:
生成调试用的.elf和烧录用的.hex如下:
或者在项目文件夹中直接打开终端
输入make指令并按确定:
四,使用PYOCD调试:
在setting.json中设置好PYOCD的具体目录,根据实际需要,请自行设置基正确路径
在launch.json中设置好相关调试参数,其中:
"executable": "./build/G32R501-demo.elf", 需要调试的文件,即编译后生成的.elf文件 "request": "launch", //"request":"attach", “launch”表示烧录&运行 “attach”表示只运行调试 "serverArgs": ["--script=D:/SourceCode/geehy/pyocd/g32r501/pyocd_user.py"], 重点注意:--script参数是表示芯片解密指令,即烧录前需要注入芯片flash的那个指令
点击debug按钮,如上图成功进入调试模式,全速运行
以下是源码及工程
|