This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 无法链接调试会话的源代码

Guru**** 2587345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1067594/failed-to-link-source-code-for-debug-session

您好,

我正在尝试将 SCONS 项目导入 CCS,该 CCS 由 GCC 编译器在 Launch-CC26X2R1主板上进行调试。 该项目可以使用命令行构建,但不能使用 CCS 构建,也可以使用 XDS110 USB 调试端口成功触发调试会话,但不能链接源代码:

装配体代码可以是步骤执行的,但无法成功找到源代码。

我单击了“首选项...”按钮,源代码应该已链接:

我还将这些设置与从 SimpleLink SDK 示例导入的其他项目进行了比较,但无法找到解决此问题的线索。

有人能帮我解决这个问题吗?

谢谢,

小峰

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    晓峰您好,

    基于编辑器中的消息以及反汇编视图中缺少调试信息,看起来此程序可能是用生成的最少调试信息编译的。 是这样吗? 或者符号后来被剥落了吗?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Ki,

    感谢您能迅速回复我!

    实际上,当这个问题发生时,我已经检查了 build 命令,以确保符号没有被剥离和优化。 目前,c 文件是用"-O0"选项构建到 obj 文件中的,而 elf 文件是在没有特殊选项的情况下链接的:

    编译选项:

    @@@器/xiaofenglei/workspace/TI/SME/ECU/syscfg/simplti_app_smte.opt"@ë"/users/xiaofenglei/workspace/tic/i/secu/syscfg/simplti_plex_app_sp_smtex_files/dcp_cpu_cpu_up_cpu_cpu_up_cpu_up_filtran/v_cp_files/dcp_cp_cp/cpu_cpu_cpu_cpu_cpu_up_cpu_up_up_up_cpu/cpu_up_cpu_up_cpu/cpu_up_cpu_up_files/v/v/v/cpu_filtr_files/v_cp/cp/cp/cp/cp/v/cp/cp/v/cp/cpu_filtr_up_up_filtr_filtr_up_up_files/v_up_files/v/cp/cp/cp/cp/cp/cp/cp/v i"/应用程序/ti/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/sources/ti/common/Ccc26xx/uartlog"-i"/应用程序/ti/simplelink_cc13xx_cc26xx_sdk_5_freee_cc_v_5"/26xx/cc_cpi_v_cpi_v/cpi_ctrintr_cpi_cpu_v/cpi_c1/cpu_v/cpi_ctrinese/v/cpi_cron_c1/cpi_v1/cpi_crnv1/cpi_crnv1/cpu_crnv/cpuxx/cpi_c1/cpu_c1/cpuxx/cpi_cron_c1/cpi_cpi_cpi_cron_cpi_cpi_cpi_crnv/cpu_cron_c1/cpu/cpi_c1/cpu/cpi_cron_c1/cpuxx/cpu/v/v/

    链接选项:

    @"/用户/xiaofenglei/workspace/TI/SME/ECU/syscfg/ti_ble _app_config.opt"
    @"/用户/xiaofenglei/workspace/TI/SME/ECU/syscfg/ti_build_config.opt"
    @"/应用程序/ti/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/source/ti/bl5stack/config/build_components.opt"
    @"/应用程序/ti/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/source/ti/bl5stack/config/factory_config.opt"
    -mcpu=cortex-m4
    -March = armv7e-m
    mthumb
    -mfloat-ABI =硬
    -mfp=fpv4-sp-D16
    -DFLASH_ROM_Build =2
    -DDeviceFamily_CC26X2
    -DFREERTOS
    -DNVOCMP_POSIX*互斥锁
    喷杆组
    Fdata-sections
    -g
    格里尔-德瓦夫

    ———————————评论
    MMD
    -MP
    -mF"${target.dir}/${target.filebase}.d"
    -mt"${target.dir}/${target.filebase}.obj"
    -std=c99
    --specs=nan.specs
    -nodstartfiles
    静态
    -WL,-GC-Sections
    -DPAGE_ALIG=-1
    -DCC2642=1
    -l"/应用程序/ti/Ccs1110/CCs/tools/compiler/gcc-arm-none -eabi-9-2019-Q4 -主要/包括"
    -l"/应用程序/ti/Ccs1110/CCs/tools/compiler/gcc-arm-non-eabi-9-2019-Q4-maj/lib"
    -l"/应用程序/ti/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/source"
    -L"/用户/小 ofenglei/workspace/TI/SME/ECU/syscfg"
    -WL,-Map,“Debugge/SME_BLE.MAP”

    -WL,-T”配置/CC26X2R1_LAUNHXL_FreeRTOS.lds
    -l:ti_utils_build_linker.cmd.genlibs
    -l:ti/ble5stack/libraries/cc26x2r1/OneLib.a
    -l:ti/ble5stack/libraries/cc26x2r1/StackWrapper.a.
    -l:ti/ble5stack/libraries/cc26x2r1/ble_r2.symbols.
    -l:ti/devices/cc13x2_cc26x2/driverlib/bin/gcc/driverlib.lib
    -lc
    -lgcc
    -lm
    ——鼻子

    请建议可能出现的错误。

    谢谢,

    小峰

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您打开 模块视图 并从以下功能列表中选择“主”,您会看到什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你应该指出关键点! 我检查了视图,但根本找不到“主要”函数:

    看到这种结果有些奇怪。 从 build 命令中,main_FreeRTOS.obj 应该已链接,我可以看到主命令的地址在地图文件的正确位置。 您是否知道导致这种结果的原因?

    谢谢,

    小峰

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我也看不到屏幕截图中出现的"localProgramStart"。 这解释了为什么在调用栈的屏幕截图中,main 和 localProgramStart 没有引用源文件,但在我的系统中它确实引用了:

    包含程序主程序和 localProgramStart 的源文件是否出现在 Symbol 浏览器的文件列表中?

    如果可能,您可以共享您的外出文件吗? 如果您想私下分享,请与我开始私人 E2E 对话。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Ki,

    没有与  localProgramStart 相关的源代码,但我确实在 符号列表中看到它,而“.out”文件上的 NM 也是如此。 我看不到上传文件的方法,也许我们可以使用您提到的 E2E 对话提供更多信息。

    谢谢,

    小峰

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    让我们在我们的私人 E2E 对话中继续讨论。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 Ki 的帮助下,这个问题得到了解决! 谢谢 Ki。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题已脱机解决。 对于线程后面的用户,根本原因是 CCS 11.x 中引入的新符号管理器出现了错误 解决方法是让调试器恢复为使用仍随 CCS 提供的旧符号管理器。

    步骤:

    1)启动调试器

    2)连接到目标

    3)在表达式视图中键入“symbol_loader=1”,然后按 Enter 键

    4)加载程序

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    已为此问题提交了一个错误。 跟踪链接: https://sir.ext.ti.com/jira/browse/EXT_EP-10725

    谢谢

    Ki