六、RA8P1 e2studio构建+VSCode Cortex-Debug调试项目

六、RA8P1 e2studio构建+VSCode Cortex-Debug调试项目 一、背景RA8P1 Titan BoardCortex-M851GHz也可以使用e2studio开发e2studio项目构建、FSP 配置等功能完善e2studio例程多调试体验不如 VSCode 通用和现代。本文介绍一种混合开发方案使用 e2studio 构建项目在 VSCode 中使用 Cortex-Debug 扩展调试项目。该方案的优势e2studio 官方构建FSP 配置器、TrustZone 等功能完整可用VSCode Cortex-Debug 调试更通用断点/变量/寄存器/SVD 外设视图体验更好VSCode 终端也可直接编译项目无需切换 IDE二、方案概述步骤内容工具第 1 步e2studio 创建/构建项目e2studio第 2 步auto-cortex-debug 自动生成 launch.jsonVSCode 终端第 3 步配置 toolchain 和 JLinkGDBServerCL 路径VSCode 设置第 4 步F5 启动调试VSCode Cortex-Debug第 5 步可选VSCode 终端编译项目VSCode 终端三、auto-cortex-debug 自动配置 launch.json3.1 难点对于新手VSCode 中 Cortex-Debug 调试项目的核心难点是配置launch.json需要正确设置 ELF 路径、调试服务器、芯片型号、调试接口等多项参数容易出错。3.2 自动配置工具我们使用 GitHub 项目 auto-cortex-debug其提供的auto-cortex-debug.exe可以引导用户交互式地完成launch.json的配置工作。运行示例PS G:\e2s_workspace\ra8p1_Cortex_Debug .\auto-cortex-debug.exe ? 找到 ELF 文件: Debug\ra8p1_Cortex_Debug.elf是否使用? Yes ? 选择调试服务器类型: jlink ? 目标芯片型号 (如 STM32F407VG): R7KA8P1KF_CPU0 ? 调试接口: swd ? 调试配置名称: Cortex Debug ? 运行到入口函数 (留空则不设置): main ? SVD 文件路径 (留空跳过): ? JLinkGDBServer 路径 (留空使用系统 PATH): ? J-Link 序列号 (多调试器时填写留空跳过): ? RTOS 类型: 无 配置摘要 ┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 字段 ┃ 值 ┃ ┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ name │ Cortex Debug │ │ cwd │ ${workspaceFolder} │ │ executable │ ${workspaceFolder}/Debug\ra8p1_Cortex_Debug.elf │ │ request │ launch │ │ type │ cortex-debug │ │ servertype │ jlink │ │ interface │ swd │ │ device │ R7KA8P1KF_CPU0 │ │ runToEntryPoint │ main │ └─────────────────┴─────────────────────────────────────────────────┘ ? 确认生成 launch.json? Yes 已生成: G:\e2s_workspace\ra8p1_Cortex_Debug\.vscode\launch.json四、配置 toolchain 和 JLinkGDBServerCL重要toolchain 和 JLinkGDBServerCL.exe必须通过 VSCode 的 cortex-debug 设置项去配置而不能写在settings.json里在settings.json中配置似乎无效。配置方法按Ctrl,打开 VSCode 设置搜索cortex-debug分别设置以下两项cortex-debug.armToolchainPathARM GCC toolchain 的 bin 目录路径cortex-debug.JLinkGDBServerPathJLinkGDBServerCL.exe 的完整路径配置值示例cortex-debug.armToolchainPath:D:\\Program Files\\GCC\\arm-gnu-toolchain-13.3.rel1-mingw-w64-i686-arm-none-eabi\\bin, cortex-debug.JLinkGDBServerPath:D:\\Program Files\\SEGGER\\JLink_V938a\\JLinkGDBServerCL.exe,五、VSCode 调试配置完成后在 VSCode 中按F5即可正常启动 Cortex-Debug 调试调试界面功能完整支持断点、单步、变量查看、寄存器查看、SVD 外设视图等至此就可以实现e2studio 编译VSCode 调试的工作流。六、VSCode 终端编译项目除了 e2studio 编译也可以在 VSCode 终端中直接编译项目。有两种方式6.1 方式一完整 make 命令直接使用 e2studio 自带 make 的完整路径PS G:\e2s_workspace\ra8p1_Cortex_Debug D:\Renesas\e2_studio\eclipse\plugins\com.renesas.ide.exttools.gnumake.win32.x86_64_4.3.1.v20240909-0854\mk\make.exe-C Debug all make: Entering directory G:/e2s_workspace/ra8p1_Cortex_Debug/Debug arm-none-eabi-size --formatberkeley ra8p1_Cortex_Debug.elf text data bss dec hex filename 22044 448 45908 68400 10b30 ra8p1_Cortex_Debug.elf make: Leaving directory G:/e2s_workspace/ra8p1_Cortex_Debug/Debug清理PS G:\e2s_workspace\ra8p1_Cortex_Debug D:\Renesas\e2_studio\eclipse\plugins\com.renesas.ide.exttools.gnumake.win32.x86_64_4.3.1.v20240909-0854\mk\make.exe-C Debug clean6.2 方式二加入环境变量后简短 make 命令将 e2studio 的 make 目录加入系统 PATH 环境变量D:\Renesas\e2_studio\eclipse\plugins\com.renesas.ide.exttools.gnumake.win32.x86_64_4.3.1.v20240909-0854\mk添加后刷新环境变量PowerShell$env:Path [Environment]::GetEnvironmentVariable(Path,Machine)之后即可使用简短的 make 命令PS G:\e2s_workspace\ra8p1_Cortex_Debug make -C Debug all make: Entering directory G:/e2s_workspace/ra8p1_Cortex_Debug/Debug arm-none-eabi-size --formatberkeley ra8p1_Cortex_Debug.elf text data bss dec hex filename 22044 448 45908 68400 10b30 ra8p1_Cortex_Debug.elf make: Leaving directory G:/e2s_workspace/ra8p1_Cortex_Debug/Debug清理PS G:\e2s_workspace\ra8p1_Cortex_Debug make -C Debug clean七、总结7.1 工作流e2studio 创建/配置项目 │ ▼ e2studio 构建项目或 VSCode 终端 make │ ▼ auto-cortex-debug.exe 生成 launch.json │ ▼ VSCode 设置 cortex-debug.armToolchainPath VSCode 设置 cortex-debug.JLinkGDBServerPath Ctrl, 搜索 cortex-debugsettings.json 无效 │ ▼ VSCode F5 启动 Cortex-Debug 调试7.2 关键要点要点说明项目构建e2studio 官方构建FSP 配置器完整可用launch.json使用 auto-cortex-debug.exe 自动生成避免手动配置出错toolchain 路径必须通过 VSCode 设置界面配置settings.json 无效JLinkGDBServerCL 路径同上必须通过 VSCode 设置界面配置VSCode 终端编译完整路径 make 或加入 PATH 后简短 make 均可