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.

[参考译文] AWR1843BOOST:如何调试 CAN_SBL_Lab_0012

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1388524/awr1843boost-how-to-debug-the-can_sbl_lab_0012

器件型号:AWR1843BOOST
主题中讨论的其他器件:UNIFLASHSYSBIOS

工具与软件:

到目前为止所遵循的步骤

构建并编译 CAN_SBL 实验

我尝试了常用方法、即 使用 uniflash 将调试二进制文件 xwr18xx_ccsdebug.bin 刷写到电路板中。

启动一个调试配置、然后与 R4内核连接、并加载 我在步骤1中编译的程序文件(.xer4)

但在调试其他应用程序时、代码通常不会进入暂停状态、因此在经过一些研究后、我对 CCS 的调试配置进行了一些更改、并取消选中了"Auto Run and Launch (自动运行和启动)"中的"On program load or reset "选项  

现在程序在调试开始时停止、但当我单击"运行"程序时、它在任何断点处都不会停止、而当暂停时、执行在 这部分代码(即应用程序引发某种异常)处停止

TI_SysBIOS_family_arm_exc_exception_excHandlerAsm__i:
       .asmfunc
       stmfd sp!、{r0-R12};保存 R4-R12而我们在它

我还尝试了该 线程中提到的方法

例如、我添加了一个类似这样的暂停 var  

加载了程序文件(尽管无法加载符号文件)并在"Expression"窗口中更改了 ccsHalt 的值、尽管之后我也会看到相同的行为

那么、你能否引导我完成 CAN_SBL 应用程序的调试过程?  

我的目标是调试一步一步的应用程序来检查 Wat 是存储在 SFLASH 内存当我下载 MetaImage 通过 CAN .

此致

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

    您好、Tanoop、

    在此测试用例中、您是否还会在外部发送 CAN 映像?
    您能告诉我您的确切步骤吗?

    此致、
    Saswat Kumar

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

    Saswat、您好!

    我按照用户指南中提到的步骤操作

    将随输出文件自动创建用于 SBL 的 Meta-Image 应用程序  编译该应用程序时 . 请注意、此映像将仅包含 MSS 二进制文件(无 BSS 或 DSS 二进制文件)。  需要使用传统方法(uniflash)刷写该元映像 .

    2.在设备管理器下找到显示为"XDS110 Class Application/User UART"的 COM 端口、并使用 Terraterm 连接到该端口。

    通过按下 EVM 上的"SW2"来重新启动器件。

    在控制台上点击"Enter"。(应用程序将开始擦除 SLFAH 的部分)

    5.开始从基于 PC 的 CAN 应用程序传输(此应用程序使用 PCAN (峰值) USB-CAN 适配器将固件下载到器件。)

    6.一旦 PC 应用程序通过 CAN 发送了完整的 Meta-Image、控制台将显示传输的总字节数。 这可用于确保已传输完整的映像。

    以详细了解我的具体内容、您可以查看我的另一个 主题。 (PS-它是一个长线程:)

    谢谢。此致

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

    但我认为,我下载通过的二进制(MetaImage)在 SFLASH 内存中没有正确写入,因此我想在下载 bin 文件后检查 SFLASH 内存映射,因此需要为调试和尝试调试导致上述问题。

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

    您好、Tanoop、

    但是、您能看到所有数据都通过 CAN 传输吗?
    此外、如果断点未被命中、你也可根据需要直接进入和单步执行。
    如果您在进行调试或编译发布、您能看到代码的优化级别是多少吗? 我建议为这个创建调试构建。
    此外、您如何确定在系统中设置了断点。

    此致、
    Saswat Kumar

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

    你好 Saswat ,

    很抱歉、如果我不 清楚...

    将应用置于调试模式后、代码将自行运行、但运行方式不正确。 UART 端口上不会打印任何内容 、就像我们只刷写应用程序时那样。

    _____________
    调试:次级引导加载程序应用程序启动
    _____________
    按任意键停止自动引导并更新元映像...
    在20 19 18 17 16 15 14 13 12 11 10 9中从闪存加载现有元映像
    调试:更新选定的元映像

    调试:器件信息:制造商:0、器件类型= 0、容量= 0

    我查看了代码停止的位置、发现代码卡在:

    TI_SysBIOS_family_arm_exc_exception_excHandlerAsm__i:
           .asmfunc
           stmfd sp!、{r0-R12};保存 R4-R12而我们在它


    此致、

    Tanoop Rajan

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

    您好、Tanoop、

    当您选择调试模式时、您能向我展示您确切更改了什么内容吗?
    也在 RELEASE 模式下单步执行根本没有帮助?

    此致、
    Saswat Kumar

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

    Saswat Kumar、您好!

    抱歉、如果我之前没有清除调试模式并不意味着我将电路板置于调试模式(SOP2)、我仍然在功能模式下进行 调试、已经遵循了这里显示的步骤、也可以尝试在终端调试应用 我想你会得到关于我现在面临的问题的我的想法。

    此致、

    Tanoop Rajan

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

    您好、Tanoop、

    我只是尝试了你所做的完全相同的步骤:

    1) 1)我刷写了 CCS 调试 ap 映像

    2) 2)下一个 I loaded:

    3) 3)然后、当我加载默认程序时、它在 main 停止:

    4) 4)、然后我在 QSPI_init 设置一个断点、然后运行代码、一旦超时、它就会在 QSPI init 停止、从 Tera Term 可以看出这一点:


    我尚未修改代码或进行任何更改、它的工作原理相同、我也使用 SDK 3.1.0.2进行了重建、如文档中所述。

    此致、
    Saswat Kumar

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

    尊敬的 Saswat:

    我能够在第一次擦除 SFlash 时成功调试应用程序(就像在刷写期间完成的那样)。 但是、第二次在停止当前调试会话并再次尝试调试后、我遇到了一个错误。 代码进入了一个未定义的内存位置、导致错误ti_sysbios_family_arm_exc_Exception_excHandlerAsm__I

    (请注意、我在之前的消息中没有提到这一点、因为我只刷写了一次调试应用程序、并继续调试 CAN_SBL 应用程序、而没有在两者之间擦除它。 我观察到这种行为、即在您最后一次回复后的首次成功调试。)

    此致

    Tanoop  

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

    您好、Tanoop、

    我也尝试过与您相同的方法、并且能够在不擦除 sFlash 的情况下成功调试。

    此致、
    Saswat Kumar