单片机/MCU论坛
直播中

熊本熊

9年用户 1492经验值
擅长:处理器/DSP
私信 关注
[问答]

Aurix Development Studio 中是否有允许在 SCR 端添加调试编译器选项的功能?

  你好,
我使用 winIDEA bluebox 将“iLLD_TC375_ADS_SCR_RTC_ADCOMP_wakeup_LK”示例刷入 TC399。但是,很遗憾地通知您,我无法查看 SCR ELF 文件中的调试信息,其中没有调试符号,并且我无法调试 SCR 代码。Aurix Development Studio 中是否有允许在 SCR 端添加调试编译器选项的功能?

回帖(1)

从未拥有

2025-7-24 18:28:22

在 Aurix Development Studio (ADS) 中,您可以为 SCR(Secondary CPU Core)端的代码添加调试编译器选项,以确保生成的 ELF 文件包含调试符号。以下是详细步骤:


操作步骤:




  1. 打开 SCR 对应的工程



    • 在 ADS 的 Project Explorer 中,找到您的示例项目(如 iLLD_TC375_ADS_SCR_RTC_ADCOMP_wakeup_LK)。

    • 展开项目结构,定位到 SCR 核对应的子工程(通常命名为 SCR_,例如 SCR_CPU1)。




  2. 配置编译器选项



    • 右键单击 SCR 子工程 → 选择 Properties

    • 导航到:

      C/C++ BuildSettingsTool SettingsTriCore C CompilerDebugging

    • Debugging Options 中,勾选 Generate Debug Information(或类似选项)。

    • 手动添加以下编译器选项(确保用空格分隔):
      -g3 -O0


      • -g3:生成完整的调试信息(包括宏定义)。

      • -O0:禁用优化,避免代码执行顺序混乱。





  3. 检查链接器设置



    • 在同一 Properties 窗口中,进入:

      TriCore LinkerGeneral

    • 确保 Strip Debug Information 处于 未勾选 状态(防止调试符号被移除)。




  4. 保存并重新构建



    • 应用更改 → 点击 OK

    • 清理并重新构建整个项目(右键工程 → Clean ProjectBuild Project)。




  5. 验证 ELF 文件



    • 重新构建后,检查 DebugFlashing 输出目录中的 SCR ELF 文件(如 SCR_CPU1.elf)。

    • 使用工具如 trihexreadelf -S .elf 确认是否存在 .debug_* 段(调试符号)。




调试设置建议:



  • 在 winIDEA 中加载符号

    • 调试时,确保 winIDEA 加载的 ELF 文件路径正确指向 重新构建后的 SCR ELF

    • 在 winIDEA 的 Debug Configuration 中,单独为 SCR 核指定符号文件(避免加载主核的 ELF)。


  • 核启动同步

    • 由于 SCR 核可能由主核启动,在 winIDEA 中配置 多核调试,确保所有核的调试会话同时激活。



补充说明:



  • 如果工程结构异常:某些示例项目可能未正确分离主核/SCR核配置。此时需手动调整构建配置,确保每个核的编译器选项独立设置。

  • ADS 版本兼容性:确保使用最新版 ADS(如 1.9.x),旧版本对多核调试的支持可能不完善。


结果验证:


完成上述步骤后,SCR ELF 将包含调试符号,您应能在 winIDEA 中单步调试 SCR 端代码,查看变量、设置断点等。



提示:若问题仍存在,请检查 winIDEA 的调试配置是否关联到正确的 ELF 文件路径,并确保工程中没有覆盖编译器选项的脚本逻辑。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分