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.

[参考译文] CODECOMPOSER:无法在非默认工作区调试 BLE Wi-Fi 配置示例

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1651186/codecomposer-unable-to-debug-ble-wi-fi-provisioning-example-on-non-default-workspace

部件号: CODECOMPOSER

您好、

我尝试刷写并调试 SimpleLink Wi-Fi SDK 中的“BLE Wifi 配置“示例。 将示例导入默认工作区时、它会闪烁并很好地进行调试。 (请注意,工作区级别 launch.json 文件包含在默认工作区中设置为 true 的“loadDebugSymbols“变量)(请参阅屏幕截图 1)
但是、当我使用“Add folder to workspace“选项导入工程时、便无法将程序加载到电路板上。 当我打开文件夹级 launch.json 文件 (folder ->.theia -> launch.json) 时、我发现没有设置“loadDebugSymbols“变量。 (参见屏幕截图 2)
当我在文件夹级 launch.json 中手动将“loadDebugSymbols“设置为 true 时、该示例将加载到电路板上。

屏幕截图 1:

 

屏幕截图 2:

 

 

 

 

 

 

 

我是否可以知道为什么非默认工作区的配置方式与默认工作区的配置方式不同、以及如何解决这一问题/是否有任何适当配置非默认工作区的解决方法?
谢谢你

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

    您好:

    我正在尝试刷写和调试 SimpleLink Wi-Fi SDK 中的“BLE Wifi 配置“示例。 将示例导入默认工作区时、它会闪烁并很好地进行调试。 (请注意,工作区级别 launch.json 文件包含在默认工作区中设置为 true 的“loadDebugSymbols“变量)(请参阅屏幕截图 1)

    在屏幕截图 1 中、我看到“loadSymbolsOnly“参数设置为“true“。 这意味着仅将调试符号加载到调试器中。 实际目标/器件中不会加载任何内容。

    在 screeshot 2 中、该参数未设置。 因此调试器默认为“false“、这意味着它将尝试将两个调试符号加载到调试器、并将代码编程到器件/目标。 这是器件的程序加载失败(特别是验证错误)

    ]当我在文件夹级 launch.json 中手动将“loadDebugSymbols“设置为 true 时、示例会加载到电路板上。

    执行此操作时、没有任何内容加载到电路板。

    我是否知道为什么非默认工作区的配置方式与默认工作区不同、以及如何解决这一问题/任何正确配置非默认工作区的解决方法?

    创建多根工作区时、我无法重现您提到的有关“loadSymbolsOnly“参数的问题。 该行为是相同的。 我不确定在您的环境中是如何发生的。 以某种方式设置 loadSymbolsOnly 选项。 但请注意、通过添加该参数、只会加载符号、而不会加载目标代码。 我不确定这是否是您的期望意图。 如果不是,然后你在没有它的情况下得到验证错误,那么这是一个不同的问题。

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

    谢谢你的答复淇,

    创建多根工作区时、我无法重现您提到的有关“loadSymbolsOnly“参数的问题。 该行为是相同的。 我不确定在您的环境中是如何发生的。 以某种方式设置 loadSymbolsOnly 选项。

    只想共享问题的屏幕录制文件、以便清除默认工作区中设置的 loadSymbolsOnly 选项。  
    在第一个视频中、还可以看到、通过默认工作区(自动设置 loadSymbolsOnly 选项)调试程序时、Simplelink 工具箱会正确启动(整体演示会顺利运行)


    而在第二个视频中、当我将文件夹导入到默认工作区之外并尝试进行调试时、launch.json 中不包含 要设置的 loadSymbolsOnly 选项、因此加载会失败。


    e2e.ti.com/.../Default_5F00_ws.mp4e2e.ti.com/.../Multi_2D00_root.mp4

    我不确定为什么运行演示取决于设置的 loadSymbolsOnly 选项、以及为什么 该选项的设置取决于工作区类型(默认/多根)。
    请问是否缺少要为多根工作区配置的任何设置/实际问题可能是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在第一个视频中、还可以看到、通过默认工作区(其中自动设置 loadSymbolsOnly 选项)调试程序时、Simplelink 工具箱会正确启动(整体演示会顺利运行)

    LoadSymbolsOnly 从不为我设置。 我遵循类似的步骤,这是发生了什么对我:

    e2e.ti.com/.../loaddebugsymbols.mp4

    是的、我收到的数据验证错误与尝试加载程序时出现的错误相同。

    总之、我不知道为什么在您的案例中设置了该选项。 您可以尝试清理 CCS 缓存吗?

    https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_faqs.html#i-want-to-restart-code-composer-studio-with-a-fresh-environment-how-do-i-do-this

    我不知道为什么演示的运行取决于设置的 loadSymbolsOnly 选项、

    我不知道为什么会出现验证问题。 我将推迟到一位器件/SDK 专家。 我将提请他们注意这一问题。

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

    尊敬的 Ki:

    无论如何、我不知道为什么在您的案例中设置了该选项。 您可以尝试清理 CCS 缓存吗?

    我也尝试了清除缓存(我删除了.ccs-server、.TI-trace 文件夹)并重试导入它。 它仍然会再次设置 loadSymbolsOnly 选项。

    感谢您的跟进、我将等待任何解决方案。

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

    尊敬的 Suhani 和 Ki:

    我是否知道为什么非默认工作区的配置方式与默认工作区不同、以及如何解决这一问题/任何正确配置非默认工作区的解决方法?

    我们的后端团队已意识到此问题、并计划在将来的版本中对此进行补救。 目前、我们只能建议手动 将 loadSymbolsOnly:true 添加到您的 launch.json 文件中。  

    我不确定为什么需要这样做、但我认为这与 XDS 调试器有关、可与 CC35xx 器件配合使用来刷写应用程序代码。 您能否确认添加该行项目允许您刷写到器件中?

    此致、

    Josh Prushing

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定为什么需要这样做、但我认为应使用 XDS 调试器、与 CC35xx 器件结合使用来刷写应用程序代码。 您能否确认添加此行项目允许您刷写到设备中?

    请注意、当“loadSymbolsOnly“设置为 true 时、这意味着通知调试器完全不加载/刷写目标。 它仅将调试符号加载到调试器。 调试器假定已通过其他方法刷写代码、因此无需再次重新刷写。

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

    尊敬的 Ki:

    这很合理、因为我们使用 simplelink 工具箱来刷写器件。 我不确定此交互是如何在 CCS 中发生的、我想有一些协议可以禁用/解决 CCS 刷写过程 、并调用 simplelink 工具箱刷写过程。

    忽略包含 SymbolsOnly:true 会阻止与器件的连接(我的假设是我们的安全性会阻止 CCS 闪烁、因为它被视为“未授权“源)。

    此致、

    Josh Prushing  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ]这很合理、因为我们使用 simplelink 工具箱来刷写器件。 [/报价]

    啊,好的,这清除了我的头上的事情。 刷写在其他地方完成、当需要调试可见性时、用户可以连接调试器并将调试符号加载到调试器、但无需再次尝试刷写程序。

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

    您好、Josh、


    感谢您的快速跟进、现在这样做很有意义、是的、添加“loadSymbolsOnly“项可以让我刷写/调试并启动 Simplelink 工具箱、之后示例会根据需要运行。

    此致、

    Suhani Tandle

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

    尊敬的 Suhani:

    当然、如果您遇到任何其他问题、请告诉我!

    此致、

    Josh Prushing