打印
[APM32F4]

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

[复制链接]
252|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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"为当前工程生成的可执行文件,不同的工程根据工程实际生成文件修改。
修改完成保存后,点击调试按钮即可调试



176566887894bb21f2.png (71.38 KB )

176566887894bb21f2.png

255568878b48addf0.png (144.49 KB )

255568878b48addf0.png

4825568878b692acb8.png (156.1 KB )

4825568878b692acb8.png

4951568878b7a6e51c.png (165.64 KB )

4951568878b7a6e51c.png

8028168878bf907014.png (167.38 KB )

8028168878bf907014.png

使用特权

评论回复
沙发
Gfan| | 2025-7-29 09:43 | 只看该作者
赞一个~喜闻乐见的环境搭建分享帖

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

22

帖子

0

粉丝