请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2340R5 主题中讨论的其他器件:UNIFLASH、
您好!
我建议遵循以下步骤来调试 based_persistent 应用 c (类似的步骤可应用于 basic_ble_oad_on_chip、basic_ble_oad_off_chip 等)。
我- 构建映像、刷写器件并连接调试器
- 构建 basic_persistent 应用
- 单击 Debug 按钮-这将导致调试器擦除器件的闪存、然后下载新构建的映像。
- 这将导致一个 JTAG 通信错误:(错误-615 @ 0x0)。 这是因为未对 MCUBoot 映像进行编程、这导致地址0x0处的代码无效
- 在"Debug"窗口中、右键点击"Texas Instruments XDS110 USB Debug Probe"、然后点击"Connect Target"

II - 启用"Memory Browser"和"Registers"视图
- 单击"View"
- 然后选择"Memory Browser"
- 再次单击"View"并选择"Registers"

III- 强制器件执行要调试的映像
- 在内存浏览器中、找到图像的入口点。 如果不确定地址、可以利用映射文件(请参阅绿色方块)。
在所有情况下,都应该在图像的入口点找到 resetVectors 符号。
对于 basic_ble_persistent 应用程序、入口点为0x6100 - 在"Registers"视图中、使用 resetVectors 的第一个值更新 Core Registers > SP 寄存器的值(在本例中为0x20009000)
- 在"Registers"视图中、使用 resetVectors 的第二个值更新 Core Registers > PC 寄存器的值(在本例中为0x2C66D)
- 在"Registers"视图中、使用 resetVectors 的地址更新 SCB > VTOR 寄存器的值(也是应用的入口点、在本例中为0x6100)
- 在 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 分配器
我希望这对您有所帮助!