slytherinsun 发表于 2025-7-28 22:58

【APM32F402R Micro-EVB开发板测评】2、基于VSCode+Arm GNU Toolchain+pyOCD的开发环境搭建

本帖最后由 slytherinsun 于 2025-7-29 09:34 编辑

APM32F402_403_SDK中提供了基于Keil、IAR和、Eclipse的工程,本次测评是在Eclipse的工程基础上,在Windows10环境下,使用VS Code和Arm GNU Toolchain的方式进行代码编译调试。
使用到的软件及版本为:
VS Code:1.102.1(提供代码的可视化编辑、配置调试等功能)
Arm GNU Toolchain:gcc-arm-none-eabi-10.3-2021.10-win32(用于代码的编译、调试)
Git:2.50.1(仅使用其提供的git bash命令行)
Make:make-4.4.1-without-guile-w32(用于进行代码的自动化编译)
Python:python-3.13.5-amd64(提供pyocd的运行环境,用于程序的下载调试等)
pyocd:0.37.0(用于MCU程序的下载调试的软件工具)
1.安装VS Code、Git、Python、Arm GNU Toolchain
安装过程中除需要执行“勾选将软件路径加入系统环境变量”的步骤外,其余过程无特殊配置,一路默认选项即可。
安装完成后在windows的命令行中分别输入"git --version"、"python --version"、"arm-none-eabi-gcc --version"并回车执行,均能看到对应的版本信息输出即为配置成功,否则需要分别在系统环境变量中添加对应程序的路径。
2.安装pyocd工具
打开windows的命令行,输入"pip install pyocd",回车执行即可安装。如果网络不好可以通过在命令后加入"-i url"选项指定国内镜像源加速安装。
3.安装make工具
在https://sourceforge.net/projects/ezwinports/files/下载make-4.4.1-without-guile-w32.zip,并将解压后的"bin"、"lib"、"include"、"share"文件夹复制合并到Git安装路径下的"mingw64"文件夹下。
之后在系统文件夹或桌面任意空白处点击鼠标右键,选择"Open Git Bash here",然后在打开的git bash命令行界面输入"make --version"并回车执行,看到有版本信息提示即可。
4.配置VS Code

打开VS Code,安装"Chinese (Simplified) Language pack"、"C/C++"、"Cortex-Debug"、"Embedded IDE"、"RTOS Views"、"Serial Monitor"等嵌入式开发常用插件。
并打开设置(ctrl + ,),输入"terminal.integrated.defaultProfile.windows",在下拉框中选择Git Bash即可。

5.导入eclipse工程
在VS Code界面左侧工具栏中选中EIDE插件图标,选择"导入项目",

并在弹窗中选择带"Eclipse"的选项,

在随后的弹窗中找到解压后的APM32F402_403_SDK_V1.0.2路径,选择其例程中的eclipse工程".cproject"文件并导入。

然后在VS Code界面右下角的"项目已导入完毕,是否立即切换工作区"的弹窗中点"继续".

6.配置导入的Eclipse工程
1)."烧录配置选择"pyocd

烧录配置->附加命令行"--pack=../../../../../../Package/Geehy.APM32F4xx_DFP.1.0.8.pack"

2).添加"芯片支持包",选择"from disk",找到Geehy.APM32F4xx_DFP.1.0.8.pack并添加。然后在"芯片支持包"下新出现的"APM32F4xx_DFP"选项中选择芯片"arm32f402rb"。
此时"烧录配置"选项的"目标芯片名称"会自动填充"apm32f402rb"。
3).修改eide工程配置文件:"资源管理器" -> .eide -> eide.json
"custom_dep"节"incList"去掉每一行的"${ProjDirPath}/"
修改前:
"custom_dep": {
      "name": "default",
      "incList": [
          "${ProjDirPath}/../../../../../../Libraries/APM32F402_403_StdPeriphDriver/inc",
          "${ProjDirPath}/../../../../../../Libraries/Device/Geehy/APM32F4xx/Include",
          "${ProjDirPath}/../../../../../../Libraries/CMSIS/Include",
          "${ProjDirPath}/../../../../../../Boards/Board_APM32F402_403_Tiny/Include",
          "${ProjDirPath}/../../Include"
      ],
      "libList": [],
      "defineList": [
          "APM32F402xx",
          "BOARD_APM32F402_403_TINY"
      
      },
修改后:
"custom_dep": {
      "name": "default",
      "incList": [
          "../../../../../../Libraries/APM32F402_403_StdPeriphDriver/inc",
          "../../../../../../Libraries/Device/Geehy/APM32F4xx/Include",
          "../../../../../../Libraries/CMSIS/Include",
          "../../../../../../Boards/Board_APM32F402_403_Tiny/Include",
          "../../Include"
      ],
      "libList": [],
      "defineList": [
          "APM32F402xx",
          "BOARD_APM32F402_403_TINY"
      
      },
linker节LD_FLAGS
修改前:
"LD_FLAGS": "-Xlinker --gc-sections -T${ProjDirPath}\\apm32f402_403xb_flash.ld --specs=nano.specs --specs=nosys.specs -u _printf_float",

修改后:
"LD_FLAGS": "-Xlinker --gc-sections -T./apm32f402_403xb_flash.ld --specs=nano.specs --specs=nosys.specs -u _printf_float",
保存后右下角提示重新加载项目,点"yes"。
4).编译
项目重新加载后,即可点击右上角的构建图标或快捷键F7编译代码。

5).烧录到芯片
编译完成后,将开发板连接到电脑,即可点击下载图标或快捷键"ctrl+alt+D"下载程序。

7.调试器配置
点击调试VS Code的运行和调试图标,选择在Eclipse路径下创建launch.json文件,调试器选择cortex debug.


将"configurations"设置为以下内容并保存
"configurations": [

            {
                "name": "Cortex Debug",
                "cwd": "${workspaceFolder}",
                "executable": "${workspaceFolder}/build/APM32F402/GPIO_Toggle.elf",
                "request": "launch",
                "type": "cortex-debug",
                "runToEntryPoint": "main",
                "servertype": "pyocd",
                "cmsisPack": "${workspaceFolder}/../../../../../../Package/Geehy.APM32F4xx_DFP.1.0.8.pack",
                "targetId": "apm32f402rb",
                "svdFile": "${workspaceFolder}/.pack/Geehy/APM32F4xx_DFP.1.0.8/SVD/apm32f402.svd"
                }
其中"GPIO_Toggle.elf"为当前工程生成的可执行文件,不同的工程根据工程实际生成文件修改。
修改完成保存后,点击调试按钮即可调试



Gfan 发表于 2025-7-29 09:43

赞一个~喜闻乐见的环境搭建分享帖
页: [1]
查看完整版本: 【APM32F402R Micro-EVB开发板测评】2、基于VSCode+Arm GNU Toolchain+pyOCD的开发环境搭建