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.

[参考译文] AWR2944EVM:AWR2944EVM:开箱即用演示无法引导(UART 'CCCC'输出)、HECR 演示工作正常

Guru**** 2943400 points

Other Parts Discussed in Thread: AWR2944EVM, UNIFLASH, AWR2944

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1648979/awr2944evm-awr2944evm-out-of-box-demo-fails-to-boot-uart-cccc-output-while-hecr-demo-works-fine

器件型号: AWR2944EVM
Thread 中讨论的其他器件: UNIFLASHAWR2944

尊敬的 TI 团队:

我在使用 AWR2944EVM 定制和预构建应用程序时遇到了关键的引导问题。 我被困在一个特定演示运行良好的场景中、但开箱即用 (OOB) 演示完全无法启动、从而导致 SBL 返回到 UART 引导模式。

我的环境:

  • 评估模块: AWR2944EVM
  • SDK 版本: mmWave MCU+ SDK 04.07.01.04
  • Toolbox 版本: Radar Toolbox 4.00.00.05
  • 刷写工具: uart_uniflash.py 脚本和 UniFlash GUI v8.x

问题与行为:

  1. 工作场景(HECR 演示): 当我 awr2944_corner_radar_hecrMSSLink 使用 sbl_qspi.release.tiimage 0x0 偏移处和偏移处的 appimage 刷写演示 0xA0000,然后将电路板切换到 QSPI 功能引导模式 ,然后进行干净的下电上电时, 电路板成功启动。 雷达会立即进行初始化、我可以看到电源上出现预期的功耗变化。
  2. 失败场景(开箱即用演示/SDK mmw_demo): 当我使用完全相同的刷写过程、sbl_qspi完全相同的 SBL () 以及完全相同的硬件/SOP 序列、但刷写预编译 out_of_box_2944.appimage (来自雷达工具箱)或 awr2944_mmw_demoDDM.appimage 偏移处本机的 SDK 时 0xA0000、器件无法引导。
  3. CCCC UART 输出 (SBL Fallback ): 当电路板设置为 QSPI 功能模式 (SOP0) 并按下 NRST 按钮(或取出电源和 USB 电缆)时,闪存 OOB/SDK 映像时, 应用程序/用户 UART 端口(115200 波特)会持续输出 CCCCCCCCCCCCC

我已验证并排除的内容:

  • SOP 引脚和下电上电: 我绝对确定我的 SOP 跳线序列正确。 切换模式时、我始终执行完整的下电上电(断开 12V 电源和 USB 电缆以避免泄漏)。 HECR 演示按这种完全相同的顺序工作、这证明了硬件和 SOP 锁存机制功能正常。
  • 版本不兼容性: 我尝试了 SBL 和 mmWave MCU+ SDK 版本的多种组合、包括 04.07.00.0104.07.01.0404.02.00.03、但问题仍然存在。
  • 刷写成功: 刷写工具会记录 [STATUS] SUCCESS !!! 所有文件、包括 Uniflash 和 python 刷写脚本。

 

  • 可视化工 具连接:使用毫米波演示可视化工具(网络或本地 python 工具)时、它会检测到 COM 端口、但无法建立连接或使用“在 COM 端口上未检测到数据“超时、因为 appimage 由于 SBL 回退而实际上永远不会启动。

brave_screenshot_dev.ti.com.png

  • 构建类型: 我已经测试了 Debug 和 Release 多核 .appimage 版本。 我还尝试 awr2944_corner_radar.appimage 从源代码构建并成功生成图像文件,没有错误或警告,但即使这样,结果仍然相同(输出)CCCC

问题:

  1. 为什么 sbl_qspi 接受并引导 hecrMSSLink 应用程序、但以完全相同的 0xA0000 偏移拒绝开箱即用和 SDK mmw_demo 映像、从而触发 CCCC 回退?
  2. MCU+ SDK 04.07.01.04 中的 SBL 与 Radar Toolbox 4.00.00.05 中提供的 appimage 之间是否存在已知的结构或标头不兼容性?
  3. 与 HECR 演示相比、OOB 多核映像所需的辅助初始化步骤或额外映像是否缺失?

如果您对如何解决这种 SBL 拒绝问题有任何深入见解、我们将不胜感激。

提前感谢、

 

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

    您好、

    我看到您尚未刷写相应的 SBL。 选择合适的 SBL - “C:\ti\mmwave_mcuplus_sdk_\mmwave_mcuplus_sdk_\tools\awr294x\sbl_qspi.release.tiimage“。

    此外、在重新构建 OOB 演示之前、请刷写 Radar Toolbox 中提供的预编译二进制文件- “radar_toolbox\source\ti\examples\prebuilt_binaries\out_of_box_2944.appimage“ Out_Of_Box_Demo

    此致、

    Samhitha

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

    感谢您的答复。 但是、我想澄清一下、我 已经      使用 Uniflash 和 uart_uniflash.py 在各自偏移处使用正确的 SBL 映像执行了您建议的确切刷写过程、这是最初在我的初始帖子中提到和显示的。

    为了绝对准确,我 uart_uniflash.py 使用以下命令运行脚本:

    PS C:\ti\mmwave_mcuplus_sdk_04_07_01_04\mcu_plus_sdk_awr294x_10_01_00_04\tools\boot> python uart_uniflash.py -p COM4 --cfg default.cfg


    以下是 default.cfg 我所用文件的确切内容(使用完整路径进行修改以确保正确的文件映射)、以供参考:

    #-----------------------------------------------------------------------------#
    #                                                                             #
    #      DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT      #
    #                                                                             #
    #-----------------------------------------------------------------------------#
    
    # ======================================= mmwave_mcuplus_sdk_04_07_00_01 =======================================
    --flash-writer=C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mmwave_mcuplus_sdk_04_07_00_01/tools/awr294x/sbl_uart_uniflash.release.tiimage
    # ======================================= mmwave_mcuplus_sdk_04_07_00_01 =======================================
    --file=C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mmwave_mcuplus_sdk_04_07_00_01/tools/awr294x/sbl_qspi.release.tiimage --operation=flash --flash-offset=0x0
    
    --file=C:/ti/radar_toolbox_4_00_00_05/source/ti/examples/Out_Of_Box_Demo/prebuilt_binaries/out_of_box_2944.appimage --operation=flash --flash-offset=0xA0000


    版本不兼容性:
     我尝试了 SBL 和 mmWave MCU+ SDK 版本的多种组合、包括 04.07.00.01 04.07.01.04 04.02.00.03、但问题仍然存在。

    内核问题是在引导时出现的、不是刷写:

    请注意、问题不是刷写过程本身。 该脚本完美运行。

    当我将电路板切换到 QSPI 功能引导模式 并对 EVM 进行下电上电时、刷写后会发生故障。

    • hecrMSSLink 使用此确切配置刷写映像时、它会成功引导。

    • mmw_demo 使用此完全相同的配置刷写开箱即用映像或 SDK 映像时、 sbl_qspi 会立即将其拒绝并放入 XMODEM 回退循环、从而 CCCCCCCCCCCCC 在 UART 终端上输出。

    鉴于刷写脚本报告成功、并且完全相同的过程适用于 HECR 演示、为什么 sbl_qspi .appimage 在功能启动期间无法解析或验证开箱即用/SDK 多核标头?

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

    主题: 【已解决】AWR2944EVM:使用毫米波演示可视化工具实现连接时序/竞态条件

    大家好:

    我最终成功运行了预构建和自定义的开箱即用 (OOB) 应用程序。

    事实证明、根本原因不是刷写故障或 SBL 版本不正确、而是硬件初始化和毫米波演示可视化工具(浏览器 WebSerial API)之间存在非常严格的串行连接时序/竞态条件问题。

    如果任何其他人遇到同样的问题、即可视化工具超时或 仅连接 到 CLI 端口、但在数据端口上失败、下面提供了为我解决该问题的准确分步权变措施:

    分步解决方案:

    1. Flash Mode: 将 EVM 跳线设置为 Flash Mode1, 0, 1(闪存模式)。

    2. 刷写:sbl_qspi.release.tiimage .appimage 使用刷写正确的 SBL(从 MCU+ SDK 04.07.01.04)和您的多核(预构建或自定义) uart_uniflash.py or Uniflash

    3. 断电: 关闭电源(注意:需要断开 USB 电缆)。

    4. 功能模式: 将跳线切换至功能引导模式 (0, 0, 1)。

    5. 准备可视化工具: 给电路板上电之前、在浏览器中打开/重新加载毫米波演示可视化工具网页、并使串行连接提示做好准备。

    6. 时序技巧(关键): 打开电路板的电源、然后 立即/立即 点击以连接可视化工具中的 COM 端口。

    为什么这很重要:

    如果我在电路板启动后甚至将连接延迟几秒钟、可视化工具要么无法完全连接、要么无法打开 DATA_port (而只绑定到) CLI_CFG_port。 通过在器件的启动周期内立即触发连接序列、两个端口都可以完全枚举、 .cfg 接受文件并在屏幕上正确显示数据图。

    我不知道导致这种情况的确切原因、但我认为这是连接计时/竞态条件。 由于我不完全了解端口在引导过程中如何交互的基本机制、下面是我正在考虑的其他一些推测性原因:

    在用户指南中:

    必须先为 EVM 通电、然后再连接 USB 电缆。 在为电路板通电之前插入 USB 电缆可能会导致电路板卡在永久复位状态。 如果发生这种情况、只需拔下 USB 电缆、对 EVM 执行下电上电、然后再插入 USB 电缆、即可解决该问题。

    我希望这能帮助任何使用 AWR2944EVM 和基于浏览器的可视化工具时遇到相同行为的人!

    非常感谢您的支持。