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.

[参考译文] AM6548:EVK 上的 OSPI 上的 CAN't BOOT

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1195773/am6548-can-t-boot-on-ospi-on-the-evk

器件型号:AM6548

您好!

我正在尝试从 OSPI 上的 MT35X NOR 闪存启动 AM648 EVK 板。 目前的情况是:

-我成功地用 Yocto 生成了一个.WIC。
该.WIC 在 SD 卡上刷写后会正常启动。
-我在 U-Boot 中添加了对使用 CONFIG_SPI_FLASH_MT35XU=y 的 MT35X NOR 闪存的支持。
-然后 在 U-Boot 中正确检测到闪存:

=> sf probe 
SF: Detected mt35xu512aba with page size 256 Bytes, erase size 128 KiB, total 64 MiB

-我能够正确地在 OSPI 中进行写入/读取。
-从 U-Boot I flash tidboot3.bin、tispl.bin、u-boot.img、sysfw.itb 到 OSPI 上、也不使用:

fatload mmc 1 ${loadaddr} tiboot3.bin; sf update $loadaddr 0x0 $filesize; fatload mmc 1 ${loadaddr} tispl.bin; sf update $loadaddr 0x80000 $filesize; fatload mmc 1 ${loadaddr} u-boot.img; sf update $loadaddr 0x280000 $filesize; fatload mmc 1 ${loadaddr} sysfw.itb; sf update $loadaddr 0x6C0000 $filesize

其中 MMC 1是我的 SD 卡、如所示:

=> mmc list
mmc@4f80000: 0
mmc@4fa0000: 1 (SD)

-我按如下方式设置引导模式开关:

  • [3..0]   0001        :OSPI 主引导
  • [6..4]    100          :MMCSD 备份引导模式
  • [7]        0              :无最小模式
  • [15..8] 11000101:八路快速读取32/I 时钟(回路时钟)外部源,与带有延迟线路/32位地址总线的 DQS/CS=0/33 MHz SDR 相同<=我对此有疑问
  • [18.16.]010          :端口1上的备份 SD

但系统仅在备份 SD 上引导、如果我将其移除、终端将保持空白。

我是否需要修改其他内容才能在 OSPI 上启动?

此外,生成的.WIC 在引导分区中还有2个不同的.ITB:

=> fatls mmc 1
            EFI/
 19984896   Image
   267766   sysfw-am65x-evm.itb
   267770   sysfw.itb
   149121   tiboot3.bin
   759488   tispl.bin
   979484   u-boot.img
      574   uEnv.txt

7 file(s), 1 dir(s)

看一下它们的尺寸、它们看起来稍有不同。 我试图闪存两个、运气不好。

我还必须承认、我越了解 AM65上的引导过程、我就越了解它。 我阅读了有关引导过程的 TRM 部分、但我目前不了解这些二进制文件的来源。

我们欢迎您的任何帮助、我们将提前向您表示感谢。

此致
Pierre Buffo

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

    您好、Pierre、
    首先、最好知道您能够从 SD 卡引导、新的 OSPI-NOR 被检测到@u-boot 从 SD 引导。
    1. SR1.0 SoC 与板载 SR2.0 SoC:
    -两个 sysfw.itb:,一个用于 SR1.0,另一个用于 SR2.0
    - AM65x TRM
    表1-4. 器件 JTAG ID 值
    CTRLMMR_WKUP_JTAGID @0x43000014
    例如、@u-booot
    MD.L 043000014 1.
    0BB5A02F => SR1.0

    2. AM65x 引导流程的另一个视图
    git.ti.com/gitweb

    最棒的
    -香港

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

    您好、Hong、

    我有 SR2.0版本、如 U-Boot 中所示:

    [...]
    U-Boot 2023.01-g62e2ad1cea (Jan 09 2023 - 16:07:33 +0000)
    
    SoC:   AM65X SR2.0 GP
    Model: Texas Instruments AM654 Base Board
    Board: AM6-COMPROCEVM rev B
    DRAM:  4 GiB
    [...]

    和:

    => md.l 43000014 1 
    43000014: 1bb5a02f 

    我已经检查了您发送的 U-Boot 自述文件。 它确实非常简洁、但遗憾的是、它对我的问题没有帮助。

    在 U-Boot 配置中是否有需要更改的内容?

    此致
    Pierre Buffo

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

    我做得更远了、

    事实证明引导配置正确、主要问题是 U-Boot 无法从 OSPI 读取/写入。 我必须使用 Linux 中的 flashcp 来写入 NOR。 尽管现在系统在 U-Boot 之前一直处于停滞状态:

    U-Boot SPL 2023.01-g62e2ad1cea (Jan 09 2023 - 16:07:33 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
    SPL initial stack usage: 1432 bytes
    Trying to boot from SPI
    spl_load_fit_image: Skip load 'dm': image size is 0!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.7(release):v2.7.0-359-g1309c6c805-dirty
    NOTICE:  BL31: Built : 11:40:36, Sep  8 2022
    I/TC: 
    I/TC: OP-TEE version: 3.19.0 (gcc version 11.3.0 (GCC)) #1 Fri Oct 14 19:00:05 UTC 2022 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
    E/TC:0 0 tee_otp_get_hw_unique_key:87 Could not get HUK
    E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x00060808 failed
    I/TC: Activated SA2UL device
    I/TC: Fixing SA2UL firewall owner for GP device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2023.01-g62e2ad1cea (Jan 09 2023 - 16:07:33 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
    Trying to boot from SPI
    k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,32] sci-dev-id:195
    k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: enabled
    

    现在、我将开始调查 U-Boot 配置

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

    您好、Pierre、
    通过最新的日志、您可以了解在电路板上启用新闪存的进度。。
    -R5-spl、ATF、OTEE 从 OSPI-NOR 加载并运行;
    -从 OSPI-NOR 加载 A53-spl、开始运行... 然后以某种方式锁定...
    最棒的
    -香港

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

    您好、Hong、

    是 A53 SPL 锁住了吗? 还是 U-Boot 在启动时?

    是否有任何关于下一步尝试的想法? 我整天都在进行各种尝试、但没有任何结果。 我尝试在 U-Boot 中添加一些选项、但它只会使情况更糟、如上所示:

    U-Boot SPL 2023.01-g62e2ad1cea (Jan 09 2023 - 16:07:33 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
    SPL initial stack usage: 1432 bytes
    Trying to boot from SPI
    spl_load_fit_image: Skip load 'dm': image size is 0!
    SPL: failed to boot from all boot devices (err=-6)
    ### ERROR ### Please RESET the board ###

    因此、我最终反转了这些更改。

    正如我之前说过的,从 U-Boot 读取/写入操作有问题,这可能是问题的根源?

    SF 测试确认读/写问题:

    => sf test 0 1000
    SPI flash test:
    Erase failed (err = -22)
    Test failed
    

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

    您好、Pierre、
    锁定点在边界附近、在 u-boot 加载/运行之前、或 u-boot 运行之前、但尚未打印 u-boot 横幅...
    假设 A53-spl 从 OSPI-NOR 加载、由 R5-spl => tiboot3.bin 中的 DTB 在闪存配置上"应该"良好...
    您可以交叉检查 tispl.bin、u-boot.img...中的 dtbs
    最棒的
    -香港