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.

[参考译文] PROCESSOR-SDK-J784S4:通过 UART 闪烁的 SBL -更改 UART 实例失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1483993/processor-sdk-j784s4-sbl-flashing-over-uart---change-uart-instance-fails

部件号:PROCESSOR-SDK-J784S4
主题中讨论的其他器件:TDA4VH

工具/软件:

您好 TI、

我们正在开发基于 TDA4VH 的定制板、并使用  PROCESSOR-SDK-J784S4 v10。

在我们的硬件中、我们连接了 UART 主器件5、而不是 UART 主器件8。

我们有以下行为:

  • 当 BOARD_UART_INSTANCE 设置为8U 时(在  src pdk_j784s4_10_00_00_27/packages/ti/board/j784s4_evm/include/board_cfg.h 中 )
    • 我们可以成功使用 SBL - tiboot3.bin 加载 tifs、然后通过我们定制电路板上的 UART 进行应用
      • 日志可见(MAIN5、MCU0)
    • 使用此设置时、我们看不到来自以下应用程序的日志 :enet_lwip_example_freertos (在 MCU2_1内核上执行)  
  • 将 BOARD_UART_INSTANCE 设置为5U 时(在  src pdk_j784s4_10_00_00_27/packages/ti/board/j784s4_evm/include/board_cfg.h 中 )
    • 我们无法通过 UART 成功引导(tiboot3已传输、没有可用于等待 tifs...的日志 和下一个二进制传输失败)。
  • 当我们使用 UART 实例8编译 SBL (tiboot3.bin)和 使用 UART 实例5编译 APP (enet_lwip_example_freertos)时
    • 刷写正常、可以从 SBL 中看到日志
    • 所有日志均可从应用程序中看到

您有什么建议吗?当 UART 实例设为5时、为什么 SBL (tiboot3)不通过 UART 加载?  

其他信息:

  • 用于 SBL 编译的命令:
    • make BOARD=j784s4_evm core=mcu1_0 sbl_uart_img disable_recurse_DEPS=no -sj6
  • 通过 UART 引导- 用于 MCU UART 的命令
    • $ sx tiboot3.bin </dev/ttyUSB >/dev/ttyUSB
    • $ sx tifs.bin </dev/ttyUSB >/dev/ttyUSB
    • $ sx app </dev/ttyUSB >/dev/ttyUSB

此致、

Milena

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

    您好、Milena、

    让我进一步研究一下、并尽快与您联系。

    谢谢、

    Neehar

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

    您好、Milena、

    您能否确认您正在从 MCU UART 启动、但在查看主 UART5日志时遇到问题?

    您是否能够在 UART 上看到"C"的特殊字符串和 ping?

    谢谢、

    Neehar

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

    你好 Neehar、

    请查找所有三种情况的附加日志。

    场景1:tiboot3和 enet app 均使用 Board_UART_INSTANCE = 8U 构建

    /cfs-file/__key/communityserver-discussions-components-files/791/scenario1.txt

    场景2 tiboot3使用 Board_UART_instance = 8u 构建、而 Enet app 使用 Board_UART_instance = 5U 构建

    /cfs-file/__key/communityserver-discussions-components-files/791/scenario2.txt

    场景3使用 Board_UART_INSTANCE = 5U 构建 tiboot3和 Enet 应用

    /cfs-file/__key/communityserver-discussions-components-files/791/scenario3.txt

    在第三种场景中、我们开始通过 MCU UART 引导(tiboot3.bin 似乎已传输)、但如果 tifs.bin 已传输、则会显示为可禁用、并且肯定不会传输应用。  日志不可见。

    此致、

    Milena

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

    您好、Milena、

    谢谢您的所有日志。

    在场景2中、您是否手动更改用于编译 SBL 和编译 Enet 示例的 Board_UART_INSTANCE? 默认情况下、两者都使用  gBoardInitParams 中的 Board_UART_instance 、因此它们在构建时应具有相同的值  

    此外、默认情况下、SBL 日志会显示在 MCU_UART 上、如场景1和场景2所示。

    谢谢、

    Neehar

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

    你好 Neehar、

    是的、在场景2中、我们将手动更改 Board_UART_INSTANCE。 使用一个值编译 SBL、使用另一个值编译 Enet app。  

    此外、默认情况下、SBL 日志显示在 MCU_UART 上、如场景1和场景2所示。

    是的、当我们将实例更改为5时、很奇怪为什么日志不可见且 SBL 无法工作?

    此致、

    Milena

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

    您好、Milena、

    是的、这很奇怪。 我需要在我这边测试一下、然后返回给您。

    谢谢、

    Neehar

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

    嗨、Neehar、

    对此有何更新?

    Milena

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

    您好、Milena、

    您要使用主 UART 5进行引导吗? 您主要使用 UART 引导模式还是 SPI?

    在您的定制板中、您是否知道 UART 端口到 COM 端口的映射与下面的 TI EVM 类似?

    谢谢、

    Neehar

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

    嗨、Neehar、

    我们的目标用例与评估板相同、即从 MCU UART 引导。

    不同之处在于、我们没有 UART8、但我们有 UART5。

    从 UART 端口到 COM 端口的映射来看、我们确实有一到一 UART 到 COM 端口的映射。

    这意味着三个物理 UART、每个 UART 都有一个 COM 端口(WKUP、MCU、MAIN5)。

    此致、

    Milena

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

    嗨、Neehar、

    我们已经找到问题的根本原因。(问题在 OSPI 引导模式下也可以重现)

    在以下文件中: pdk_j784s4_10_00_00_27\packages\ti\drv\uart\j784s4\uart_soc.c、 对于 soc 构建且未定义 UART5、uartInitCfg 为0。

    #if defined (BUILD_MCU)
            0,
            0,
            0,
            0,
    #endif

    当我们放入 MCU UART 等参数时、我们确实会在控制台(OSPI 引导模式)中看到日志。

    #if defined (BUILD_MCU)
            (uint32_t)CSL_MCU_UART0_BASE,   /* baseAddr */
            CSLR_MCU_R5FSS0_CORE0_INTR_MCU_UART0_USART_IRQ_0,   /* intNum */
            0,                              /* eventId, used only for C6x */
            UART_INPUT_CLK_96M,             /* frequency */
    #endif

    此致、

    Milena