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.

[FAQ] [参考译文] [常见问题解答] CC2340R5:调试 OAD 软件的提示

Guru**** 2401985 points
Other Parts Discussed in Thread: UNIFLASH, CC2340R5

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1260172/faq-cc2340r5-tips-to-debug-oad-software

器件型号:CC2340R5
主题中讨论的其他器件:UNIFLASH

您好!

我建议遵循以下步骤来调试 based_persistent 应用 c (类似的步骤可应用于 basic_ble_oad_on_chip、basic_ble_oad_off_chip 等)。

 我- 构建映像、刷写器件并连接调试器

  1. 构建 basic_persistent 应用
  2. 单击 Debug 按钮-这将导致调试器擦除器件的闪存、然后下载新构建的映像。
  3. 这将导致一个 JTAG 通信错误:(错误-615 @ 0x0)。 这是因为未对 MCUBoot 映像进行编程、这导致地址0x0处的代码无效
  4. 在"Debug"窗口中、右键点击"Texas Instruments XDS110 USB Debug Probe"、然后点击"Connect Target"

 

II - 启用"Memory Browser"和"Registers"视图

  1. 单击"View"
  2. 然后选择"Memory Browser"
  3. 再次单击"View"并选择"Registers"

 

III- 强制器件执行要调试的映像

  1. 在内存浏览器中、找到图像的入口点。 如果不确定地址、可以利用映射文件(请参阅绿色方块)。
    在所有情况下,都应该在图像的入口点找到 resetVectors 符号。
    对于 basic_ble_persistent 应用程序、入口点为0x6100
  2. 在"Registers"视图中、使用 resetVectors 的第一个值更新 Core Registers > SP 寄存器的值(在本例中为0x20009000)
  3. 在"Registers"视图中、使用 resetVectors 的第二个值更新 Core Registers > PC 寄存器的值(在本例中为0x2C66D)
  4. 在"Registers"视图中、使用 resetVectors 的地址更新 SCB > VTOR 寄存器的值(也是应用的入口点、在本例中为0x6100)
  5. 在 basic_persistent 应用程序中设置断点(例如在 app_main.c 函数 appMain 中调用 BLEAppUtil_init ())、然后点击"Run button"

 

 

 

注意 :此处提供的步骤仅导致闪存一个应用程序(这是应用程序调试的推荐方法)。 如果必须同时刷写多个应用程序、则应使用 Uniflash。 然后、应按照"调试器指南"中所述的步骤将调试器连接到正在运行的目标。 最后、应应用 II 和 III 中的步骤。

其他建议

-请务必查看 S 执行连接移动应用程序(请参阅 https://www.ti.com/tool/SIMPLELINK-CONNECT-SW-MOBILE-APP)。

-包含 host_test 示例和 BTool 的 CC2340R5可用作 OAD 分配器

我希望这对您有所帮助!

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

    如有其他问题、请使用"提出相关问题"按钮