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.

[参考译文] AM2432:SBL_UART_uniflash 未能加载 SBL_QSPI 引导加载程序、同时 SYS_REG 失败

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1438595/am2432-sbl_uart_uniflash-failed-to-load-sbl_qspi-bootloader-with-sys_reg-failure

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

工具与软件:

您好、TI 团队:  

我们针对我们定制的 SPI 闪存器件对 sbl_uart_uniflash 项目和 sbl_ospi 项目(来自 SDK 09.00)进行了最少的更改。 TI 建议从10.0切换到 SYSFW。 为了尽量缩小更改范围、我们从 SDK 10.0中挑选了 SYSFW。 因此、设置为 sbl_uart_uniflash 和 sbl_ospi (来自 SDK 09.00、对使用我们的闪存进行了最小更改)和 SDK 10.0中的 SYSFW。  

从 UART 加载固件时、我们会看到以下问题:

$ python uart_uniflash.py --cfg default_uart_ospi.cfg -p COM6

正在解析配置文件...
正在解析配置文件...成功。 找到3个命令!!!

正在执行命令1、共3个...
找到闪存写入器...正在发送 sbl_uart_uniflash_sysfw10.Debug.hs_fs.tiimage
发送 sbl_uart_uniflash_sysfw10.Debug.hs_fs.tiimage:0%| 0Shending sbl_uart_uniflash_sysfw10.Debug.hs_fs.tiimage:0%|

四.

发送 sbl_uart_uniflash_sysfw10.Debug.hs_fs.tiimage:320019字节[00:31发送 sbl_uart_uniflash_sysfw10.Debug.hs_fs.tiimage:320020字节[00:31发送的闪存写入器 sbl_uart_uniflash_sysfw10.hs_fs.tiimage、大小为31.95s。

正在执行命令2/3...
命令参数:--file=sbl_ospi  _sysfw_10.hs_fs.tiimage --operation=flash --flash-offset=0x0
发送 sbl_ospi  _sysfw_10.hs_fs.tiimage:0%||0/379588 [00:00'
发送错误:预期的 NAK、CRC、EOT 或 CAN;已得到 b'>'
发送错误:预期的 NAK、CRC、EOT 或 CAN;已得到 b'>'
发送错误:期望的 NAK、CRC、EOT 或 CAN;得到 b''
发送错误:期望的 NAK、CRC、EOT 或 CAN;得到 b'
发送错误:期望的 NAK、CRC、EOT 或 CAN;得到 b'Y'
发送错误:期望的 NAK、CRC、EOT 或 CAN;得到 b'
发送错误:预期的 NAK、CRC、EOT 或 CAN;获取 b'_'
发送错误:期望的 NAK、CRC、EOT 或 CAN;得到 b'R'
发送错误:预期的 NAK、CRC、EOT 或 CAN;得到 B'E'
发送错误:期望的 NAK、CRC、EOT 或 CAN;得到 b'G'
发送 sbl_ospi  _sysfw_10.hs_fs.tiimage:0%| 1/37958发送 sbl_ospi _sysfw_10.hs_fs.tiimage :0%| 1/37958Sending sbl_ospi _sysfw_10.hs_fs.tiimage :0%||2/3795858 [00:00]、2.5852:00]
[错误] XMODEM 发送失败、EVM 无响应或响应不正确或用户已取消、
对 EVM 进行下电上电并再次运行此脚本!!

谢谢!  
Hong  

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

    您好!

    [报价 userid="542779" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1438595/am2432-sbl_uart_uniflash-failed-to-load-sbl_qspi-bootloader-with-sys_reg-failure "]因此、设置为 sbl_uart_uniflash 和 sbl_ospi (来自 SDK 09.00且对使用我们的闪存进行了最小更改)和 SDK 10.0的 SYSFW。  [报价]

    感谢您指出这一点。

    就在其外观方面、您的配置文件中有三个命令。

    现在、在第一个引导加载程序之后、您会在第二个引导加载程序看到问题: sbl_ospi _sysfw_10.hs_fs.tiimage

    我只想知道几件事:

    1. 是否每次都看到该闪烁错误? 或者、有时所有3个映像都是通过 UART Uniflash 命令刷写的?
    2. 您是否已连接 JTAG? 如果是、那么我们可以通过使用传统的 loop_forever ()来查看引导加载程序中的瓶颈位置。 [ 我很确定您知道如何根据我们之前的调用和调试经验永久地引入循环以及进行调试 ]

    此致、

    Vaibhav

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

    您好、Vaibhav、  

    感谢您的 答复。   

    以内联方式回答您的问题、如下所示:  

    1. 是否每次都看到该闪烁错误? 或者、有时所有3个映像都是通过 UART Uniflash 命令刷写的?
      是的、我每次都会看到这个错误。  
    2. 您是否已连接 JTAG? 如果是、那么我们可以通过使用传统的 loop_forever ()来查看引导加载程序中的瓶颈位置。 [ 我很确定您知道如何根据我们之前的调用和调试经验永久地引入循环以及进行调试 ]
      我理解您在这里提出的问题、但我这边有多个任务。 我可能需要一些时间才能进行该 JTAG 调试。 鉴于错误代码>> SYS_REG、我认为该错误代码是通用的。 一些 TI 专家应该比较熟悉这个问题。  您可以帮助检查为了加快调试过程、此错误代码意味着什么吗?  

    非常感谢、  

    Hong  

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

    您好、Hong-san、

    感谢您的耐心。

    此处仅供参考: https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1219281/faq-am2434-error-with-using-sbl-with-am243-evms-lp-am243-tmds243evm

    是的、我每次都看到这个错误。

    我明白这个问题一直存在。

    为了在顶层隔离问题、您可以删除 sysfw (来自 SDK 10)二进制文件并运行该脚本吗?

    期待您的答复。

    谢谢!

    Vaibhav

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

    您好、Vaibhav、  

    删除 sysfw (从 SDK 10)时、它不会报告此错误、并传递了这些错误以将固件编程到 bootflash 中。  

    谢谢!  
    Hong  

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

    您好、Hong:

    删除 sysfw (来自 SDK 10)时、它未报告此错误、并且传递了错误以将固件编程到 bootflash 中。  [报价]

    因此、使用更早的 sysfw 和添加 sysfw 10.0后会实现上述功能。  

    请允许我在某个时候与另一位专家进行跟进。

    此致、

    Vaibhav

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

    您好、Hong:

    您能否列出您为应用 SYSFW 10.0而执行过的步骤? 详细的指南将有助于我了解步骤是否正确。

    此致、

    Vaibhav

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

    您好、Vaibhav、  

    我使用 SYSFW 10.0的方法是将 soc 从文件夹 C:\ti\mcu_plus_sdk_am243x_09_00_00_35\source\drivers\sciclient\sys\am64x_am243x 复制到文件夹 C:\ti\mcu_plus_sdk_am243x_10_00_00_20\source\sciclient\drivers\am64x_am243x\drivers\sciclient\motors\am64x_am243x、soc、  

    并重新编译项目。  

    Hong  

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

    您好、Hong:

    我使用 SYSFW 10.0的方法是将 soc 从文件夹 C:\ti\mcu_plus_sdk_am243x_09_00_00_35\source\drivers\sciclient\am64x_am243x 复制到文件夹 C:\ti\mcu_plus_sdk_am243x_am243x_09_00_00_00_00_35\source\drivers\ soc  

    并重新编译项目。  [报价]

    这也是正确的方法。

    SYSREG 不是 我们遇到的不同客户查询中常见的问题。  我们需要永远放入循环并对其进行调试。

    此致、

    Vaibhav

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

    Hi, Merril

    我已经解锁了这个主题,但如果没有活动,它将在24小时内再次锁定,所以我建议打开一个新的帖子,如果需要。

    请注意,Vaibhav 本周不在办公室,所以回复可能会延迟。  

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

    谢谢 Mukul!  Ping 该线程以使其保持打开状态。

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

    您好、Vaibhav、  

    您能否帮助使用 SDK9.0中的 sbl_uart_uniflash 并使用 SYSFW 10.0进行 TI 侧测试、以查看是否可以接受?

    谢谢!  
    Hong  

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

    您好、Hong:

    您能否共享您看到问题的 SBL_UART_UNIFLASH 映像?

    BR、Prashant

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

    您好、TI 团队:  

    TI 能否 尝试在不使用 SBL_UART_UNIFLASH 映像的情况下重现此问题? 我认为我们的最小变化不会影响这里的结果。  

    重现步骤:  
    1) 1)从 SDK 09.00.00.35版本编译 SBL_UART_UNIFLASH +从 SDK 10.00.00.20编译 SYSFW 二进制文件   
    2) 2)使用 SBL_UART_UNIFLASH + SBL_OSPI (来自 SDK 09.00.00.35版本)+ hello_world_app 映像运行 uart_uniflash.py  
    上述步骤应该以同样的方式失败。  

    谢谢!  
    Hong  

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

    您好、Hong:

    在我之前的答复之前、我已经尝试了确切的步骤、但没有重现问题。 然后、我只要求提供 SBL_UART_UNIFLASH 映像。

    目的是检查 SBL_UART_UNIFLASH 映像中的字符串"SYS_REG"。

    要点是">>SYS_REG"是一个非常特殊的字符串、必须来自某个位置。 我搜索了所有 MCU+ SDK 和 SYSFW 代码、但找不到任何此类字符串。

    因此、这里的正向路径是、如果您可以共享使用 TI 闪存配置构建的 SBL_UART_UNIFLASH 映像、那么我可以尝试在 TI EVM 上这样做。

    此致、

    Prashant

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

    您好 Prashant:  

    我在我们的图像中发现了这一点、该图像是为调试 syslog 打印部分而添加的测试代码的一部分。  

    有趣的部分是、为什么 sbl_uart_uniflash 不喜欢使用 SDK 10中的 SYSFW 来处理此部件的 SBL_QSPI。  



    谢谢!  
    Hong  

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

    您好、Hong:

    [报价 userid="542779" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1438595/am2432-sbl_uart_uniflash-failed-to-load-sbl_qspi-bootloader-with-sys_reg-failure/5667322 #5667322"]有趣的部分是、为什么 sbl_uart_uniflash 不喜欢此具有 SDK 10中 SYSFW 的 SBL_QSPI 适用于此部件的 SBL_QSPI。  [报价]

    我认为该问题与 SBL_QSPI 无关、因为从 SBL_UART_UNIFLASH 角度来看、要刷写的任何图像都只是原始数据。

    我相信">>SYS_REG"来自 SBL_UART_UNIFLASH 映像本身。 这一点也很明显、因为 python 脚本在发送 SBL_QSPI 映像之前就已收到">>SYS_REG"字符串。

    我不知道为什么在 UNIFLASH 示例中打印这些 SYS_REGISTER、SMPK、BMPK。 由于 UART0用于接收要刷写的映像、因此您不得使用 UART0来打印 DebugP_LOG。

    此致、

    Prashant