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.

[参考译文] AM6442:OSPI 引导失败

Guru**** 2418880 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1528520/am6442-ospi-boot-failing

器件型号:AM6442

工具/软件:

您好的团队、

我们正在处理 ospi 引导模式刷写、在 ospi 模式下设置 DIP 开关后、如果从 TI 门户的输入中尝试了不同的方法、则无法引导。 似乎基本上 rootfs 没有正确安装,你能提供标准的程序方法从 ospi 模式引导,并阐明 SPI 模式可能从哪里引导?  

谢谢

Sankar

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

    Sankar

    1. 请提供完整的引导日志
    2. 您尝试使用的引导模式开关设置
    3. 您使用的是哪个 SDK

    此致、Andreas

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

    Andreas、

    我们使用 ti-processor-sdk-linux-rt-am64xx-evm-10.01.10.04 SDK。

    我们在 AM64x GP EVM 上选择了 DIP 开关位置作为 OSPI 引导模式:SW2 (11010000) SW3 (01000000)、在与目标板连接的 tftp 服务器的情况下、我们可以使用以下 CMD 加载所有图像。

    sf probe=> tftp ${loadaddr}tiboot3.bin

    => SF 更新$loadaddr 0x0 $filesize

    => tftp ${loadaddr}tispl.bin

    => SF 更新$loadaddr 0x100000 $filesize

    => tftp ${loadaddr}u-boot.img

    => SF 更新$loadaddr 0x300000 $filesize

    => SF 探针

    => tftp ${loadaddr}ospi_phy_pattern

    => SF 更新$loadaddr 0x3fc0000 $filesize

    刷写所有映像(在 SD 卡引导模式下)后、如上所述将引导模式更改为 OSPI、但我们无法看到任何控制台日志。 请提供任何指南并帮助我们通过 OSPI 模式进行引导。


    谢谢

    Sankar

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

    尊敬的 Sankar:

    刷写所有映像后(在 SD 卡引导模式下)、将引导模式更改为 OSPI(如上所述)、但我们无法看到任何控制台日志。 请提供任何指南并帮助我们通过 OSPI 模式进行引导

    尝试将引导模式配置为 xSPI。 专用 OSPI 引导模式对外部器件提出了非常具体的要求。 对于我们 TI EVM 上使用的 OSPI NOR 闪存、xSPI 是使用的模式(它使用后台的数据表/参数解析来自动配置和设置最合适的传输模式)。

    此致、Andreas

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

    尊敬的 Andreas:

    感谢您的反馈、我们尝试了 xSPI 模式 (SW2 1100111101 和 SW3 00000000) 在您提出建议后、我们面临着与 ospi 模式类似的相同响应、随附了日志、其中包含 SD 卡模式下提供的命令并更改为 xspi 模式、没有 DUT 响应、您能分享 xSPI 的整个过程吗

    谢谢

    Sankare2e.ti.com/.../Logs.log

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们尝试了 xSPI 模式 (SW2 1100111101 和 SW3 00000000)[/报价]

    这里的位数太多、有些内容是不对的。

    若要确保您配置为 xSPI 引导模式、并排除开关设置的任何问题(有时可能会令人困惑)、请尝试以下操作:

    1. 从 SD 卡引导至 U-Boot 提示符

    2. 在 U-Boot 提示符处发出以下命令。 这将为 xSPI 配置已知良好的配置并启动软件复位。 之后、xSPI 引导模式将处于活动状态

    # Set current bootmode to xSPI boot (SFDP enabled, should switch to 8D-8D-8D automatically if supported by Flash), UART backup boot, and 25MHz PLL reference clock
    => mw.l 0x43000030 0x00000e73 && reset

    如果这仍然不起作用、您可能需要仔细检查您是否具有正确的`tiboot3.bin`二进制文件。 我注意到您使用的是“BOOT"器“器件、因此需要使用 GP 专门签名的引导二进制文件。 我们当前 FS 的`tiboot3.bin`文件用于在“HS-SDK"安全“安全器件上启动、无法在 GP 器件上运行。

    此致、Andreas

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

    尊敬的 Andreas:

     在 U-Boo 中、我们能够使用以下命令刷写 ospi

    sh-uboot:~# mtd list
    
     sh-uboot:~# mtd erase ospi.tiboot3
     sh-uboot:~
    # load mmc 1 $
    
    ~
    
    
    
    
    
    {loadaddr~}tiboot3.bin sh-uboot tispl.bin:~# mtd~ write ospi.tiboot3 $~{loadaddr}0 ${sh-uboot size}shd erase ospi.timac <#~-boot.adr#~<-boot.adr#}mtd extr##.extro td <-boot.extr> td <auto extr> td <auto extr> tw <auto <auto <auto <auto <auto <auto <aut> td <adr> 

    在执行上述命令之后、我们执行了 => mw.l 0x43000030 0x00000e73 && RESET

    之后、通过完全复位和从 OSPI 启动来启动。 移除 SD 卡、直到 U-boot 出现且未完全加载映像时。

    现在、我想从 xSPI 模式移除 SD 卡并启动完整的映像。

     您能建议我们无需命令即可实现自动化吗?  

    谢谢、

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

    在执行上述命令之后、我们执行了 => mw.l 0x43000030 0x00000e73 && RESET

    之后、通过完全复位和从 OSPI 启动来启动。

    [/报价]

    很棒!

    现在、我想从 xSPI 模式移除 SD 卡并启动完整的映像。

     您能建议我们无需命令即可实现自动化吗?  

    [/报价]

    这意味着引导模式开关设置不正确。 请将它们设置为 0xe73、就像我给您的命令一样。 您可能需要更深入地了解原理图和电路板设计数据、以便准确地了解哪个开关控制哪个位。 GP EVM 用户指南中也包含该信息。

    此致、Andreas

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

    尊敬的 Andreas:

    感谢您的答复、

    我们:
      如前所述、将引导设置为 SW3 (00001110) SW3 (01110011)(0xe73)。
    将引导模式修改为具有 SDCARD 存在的 xSPI、我们能够引导完整映像。
    但是、如果我们移除 SD 卡并尝试从 OSPI 引导完整的映像、它将进入 U-boot、并获取附加的日志数据检查结果并建议我们。

    同一个团队…

    谢谢、

    Ravindar A.

    e2e.ti.com/.../AM64x-hsfs_5F00_evm-xSPI-log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
      如您所述、将引导设置为 SW3 (00001110) SW3 (01110011)(0xe73)。
    将引导模式修改为具有 SDCARD 存在的 xSPI、我们能够引导完整映像。
    但是、如果我们移除 SD 卡并尝试从 OSPI 引导完整的映像、它将进入 U-Boo

    您是否尝试过在更改引导模式后对电路板进行下电上电? 引导模式引脚仅在最低级别的复位(即上电复位)期间由 ROM 代码读取、但也会在 MCU_PORZ 复位(后者可能可以通过开关在 AM64x EVM 板上访问,也可能无法访问)期间读取。 因此、下电上电是您最好确保的选择。

    如果这仍然不起作用、为什么不在您的电路板上拍摄引导模式开关的(宏)照片、并在此处发布以供查看。

    此致、Andreas

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

    您好、

    不过、它不会从 xSPI 模式引导。

    附加在此处启动屏幕截图。

    此外、还应在此处记录数据:

    U-Boot SPL 2024.04-ti-g29d0c23d67ee (2024 年 11 月 29 日 — 11:41:54 +0000)
    SYSFW ABI:4.0(固件版本 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL 初始栈使用量:13392 字节
    尝试从 SPI 引导
    身份验证已通过
    身份验证已通过
    从无处加载环境... 好的
    身份验证已通过
    身份验证已通过
    在 ARM64 内核上启动 ATF……

    注意:BL31:v2.12.0(发行版):11.00.08-1-gb11beb2b6-dirty
    注意:BL31:建造时间:12:35:58, 2025 年 3 月 24 日
    I/O TC:
    I/UTC:OP-TEE 版本:4.5.0-73-gef1ebdc23-dev (gcc 版本 13.3.0 (GCC))#1 周二 2 月 4 日 11:33:18 TC 2025 Aarch64
    I/OP-TEE:警告:此 TC 配置可能不安全!
    I/O:警告:请检查 optee.readthedocs.io/.../porting_guidelines.html TC
    I/O:主 TC 初始化
    I/GIC:未提供 TC 转销商基地址
    I/GIC:假定默认的 TC 组状态和修饰符
    I/SYSFW ABI:4.0(固件版本 0x000a '10.1.8--v10.01.08 (Fiery TC)')
    I/UL:已激活 TC 设备
    I/TRNG:已为 SA2UL TC 器件启用防火墙
    I/TRNG:SA2UL TC 已初始化
    I/UL:已初始化 TC 驱动程序
    I/HUK:TC 已初始化
    I/O:主 TC 切换到正常世界引导

    U-Boot SPL 2025.01-gcd91d7360181 (2025年5月30日- 18:49:26 +0530)
    SYSFW ABI:4.0(固件版本 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    尝试从 SPI 引导
    身份验证已通过
    身份验证已通过


    U-Boot 2025.01-gcd91d7360181 (2025年5月30日- 18:49:26 +0530)

    SoC:AM64X SR2.0 HS-SOC FS
    型号:Texas Instruments AM642 EVM
    板:AM64-EVM 修订版 D
    DRAM:2 GiB
    内核:105 器件、33 个类、器件树:单独
    MMC:MMC@fa10000:0、MMC@fa00000:1
    从无处加载环境... 好的
    IN:serial@2800000
    输出:串行@2800000
    错误:serial@2800000
    网络:eth0:以太网@8000000port@1、eth2:icssg1-eth-port@0
    按任意键停止自动引导:0
    MMC:不存在卡
    MMC:不存在卡
    **坏的设备规格 MMC 1 **
    MMC:不存在卡
    **坏的设备规格 MMC 1 **
    找不到分区 MMC 1:2
    无法设置块设备
    MMC:不存在卡
    **坏的设备规格 MMC 1 **
    找不到分区 MMC 1:2
    无法设置块设备
    libfdt FDT_CHECK_HEADER():FDT_ERR_BATMAGIC
    未配置 FDT 存储器地址。 请配置
    FDT 地址(通过“FDT addr)

    “命令。
    正在中止!
    糟糕的 Linux ARM64 映像魔术!
    扫描所有 bootdev 中的引导流
    序列方法状态类零件名称文件名
    ------------------------ ----- ----- -------------------------------- ------------------------
    mc@fa00000.bootbootdev “ dev“:

    谢谢、

    Ravindar A.

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

    您好、

    对  AM64X SR2.0 HS-xSPI FS 电路板上的 OSPI/QSPI

    1. 我们使用 的是 AM64X SR2.0 HS-DTS 电路板、由于芯片组 (s28hs512t) 的原因、该电路板不支持 FS 引导模式、或者我们需要更改任何 DTS 修改吗?
    2. 如果是 xSPI 引导模式、为什么在没有连接 SD 卡存在日志文件的情况下无法正常压缩?

    谢谢、

    Ravindar A.

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

    这意味着 U-Boot 从 OSPI(通过 xSPI 引导模式)一直引导到 U-Boot 正常运行、而不会出现任何问题。 您的问题与引导模式设置无关、引导的初始阶段正常工作。

    问题是、进入 U-Boot 后、您没有加载并启动 Linux 文件系统。

    您是否已将内核映像、器件树文件和(微型)文件系统编程到 OSPI 器件中? 您之前的帖子没有显示正在执行此操作。 此外、U-Boot 环境 (`env print`) 可能需要更新以适应 Linux 引导。 请注意、该电路板上 OSPI 器件的容量是有限的、因此如果您要运行 Linux、它实际上只能适应非常小的文件系统。

    此致、Andreas