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.

[参考译文] TDA4VM:Norflash probelm

Guru**** 2394305 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1485474/tda4vm-norflash-probelm

器件型号:TDA4VM

工具与软件:

你好  

   我们使用 NOR 闪存  S28HS512TGABHM010 、在 U-Boot 中出现以下错误:

  => SF probe k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235

  k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled.

  JEDEC SPI_NOR FLASH@0:尚不支持非均匀擦除扇区映射。

  SF:检测到 s28hs512t 页面大小为256字节、擦除大小为256 KiB、总共为64 MiB

问题:

  1. 使用 NOR 闪存。
    分区表如下所示:

  2. 分区{
    Compatible ="固定分区";
    #address-cells =<1>;
    #size-cells =<1>;

    分区@0{
    label ="ospi.tiboot3";
    REG =<0x0 0x80000>;
    };

    分区@80000{
    label ="ospi.tispl";
    REG =<0x80000 0x200000 >;
    };

    分区@280000 {
    label ="ospi.u-boot";
    REG =<0x280000 0x400000>;
    };

    分区@680000 {
    label ="ospi.env";
    REG =<0x680000 0x40000>;
    };

    分区@6c0000 {
    label ="ospi.sysfw";
    REG =<0x6c0000 0x100000>;
    };

    分区@7c0000 {
    label ="ospi.env.backup";
    REG =<0x7c0000 0x40000>;
    };

    分区@800000{
    label ="ospi.rootfs";
    REG =<0x800000 0x37c0000>;
    };

    分区@3fc0000 {
    label ="ospi.phypatern";
    REG =<0x3fc0000 0x40000>;
    };
    };

    关于 S28HS512TGABHM010的 PHY 文件:
    根据 这篇文章software-dl.ti.com/.../UG-QSPI.html)的 PHY 文件(ospi_phy_pattern)  MT35XU512ABA  是可以下载的。 但是可以为其配置 PHY 文件  S28HS512TGABHM010  直流电压?

谢谢你

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

    您好!

    您正在使用的闪存似乎得到了正确枚举。 您能否检查是否能够正确地对闪存进行读取和写入?  

    要使用的分区基于在 bootloader 中编程的不同二进制文件的偏移量。 如果您使用与 TI EVM 相同的配置、则相同的偏移和大小就足够了。

    [报价用户 id="517502" url="~/support/processors-group/processors/f/processors-forum/1485474/tda4vm-norflash-probelm "] 关于 S28HS512TGABHM010的 PHY 文件:
    根据 这篇文章software-dl.ti.com/.../UG-QSPI.html)的 PHY 文件(ospi_phy_pattern)  MT35XU512ABA  是可以下载的。 但是可以为其配置 PHY 文件  S28HS512TGABHM010  是否提供?

    同样的模式也可用于此闪存。 这是适用于所有 NOR 闪存的通用模式。

    此致、
    Tanmay

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

    你好  

      "SF probe k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235

      k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled.

      JEDEC SPI_NOR FLASH@0:尚不支持非均匀擦除扇区映射。

      SF:检测到 s28hs512t、页面大小为256字节、擦除大小为256 KiB、共64 MiB"

    这个问题能解决吗?

    BR、

    许可

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

    你好  

    WO 用户 SDK 10、

    根据本页<3.1.1.7。 OSPI/QSPI NOR/NAND—适用于 J721e 文档的 Processor SDK Linux

    我已经做了这些:

    1 ,将 bootfile 写入 norflash

    2、将所有 rootfs 文件夹(SD 卡 rootfs 文件夹)复制到 UFS

    3将引导模式更改为 opsi 模式

    但 UART 不是什么。

    BR、

    许可

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

    您好、 Tanmay

    需要您的意见、并分享我的意见。

    Q1/A1:TDA4VM 是否支持 S28HS512TGABHM010引导?

    我认为答案是肯定的。 请参考

    https://e2e.ti.com/support/processors-group/processors---internal/f/processors---internal-forum/1451207/sk-tda4vm-nor-flash-booting-failed/5584837?tisearch=e2e-sitesearch&keymatch=S28HS512TGABHM010%252520BOOT#5584837

    Q2/A2:您检查器件修订版本吗?

    我认为答案是肯定的。 因为客户使用 SR1.1。

    SR1.0不支持 OSPI 引导。 请参考

    https://e2e.ti.com/support/processors-group/processors---internal/f/processors---internal-forum/1021291/dra821u-ospi---s28hs512tgabhm010?tisearch=e2e-sitesearch&keymatch=S28HS512TGABHM010

    Q3/A3:您认为这是引导模式问题吗?

    我"猜"答案应该是肯定的。 按照之前的讨论进行操作、我们已经知道客户可能存在 R/W OSPI 闪存、但会出现形式引导问题。

    S28HS512TGABHM010应使用"xSPI 引导"模式。

    参考

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1417611/am62a7-q1-ospi-boot-mode-pin-set-mismatch-with-trm/5432682?tisearch=e2e-sitesearch&keymatch=S28HS512TGABHM010%2525252520BOOT#5432682

     

    Q4/A4:xSPI 引导模式下 TDA4VM 的正确设置是什么?

    需要仔细核对、分享我的观点。

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j721s2/10_01_00_04/exports/docs/psdk_rtos/docs/user_guide/evm_setup_j721s2.html#boot-modes

    位3/4/5应该为"011"、它不是"110"、不是吗?

    需要您的确认。

    您好、peitao

    * Pls 会分享您的原理图,只有 TDA4和 OSPI 闪存之间的连接没有问题

    * Pls 可告诉我们 TDA4VM 的完整器件型号

    非常感谢。

    Gibbs

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

    你好、 

    这是原理图

     TDA4VM 的完整器件型号为 TDA4VM88TGBALFRQ1

    演示

    BR

    许可

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

    你好、 

    关于-->(1)您曾查看过此页面吗?  

    我们已经进行了修改。

    关于 (2)-->如何 通过 UBI 模块检查分区?

    我们目前未使用 UBI。 我们只将 tiboot3、tispl、u-boot 和 phypattern 写入闪存、而 rootfs 存储在 UFS 中。

    BR

    许可

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

    您好!

    据我所知、只有 SR 2.0支持 xSPI 引导模式。 闪存也应以 OSPI 引导模式工作。 在 J7200中、我们在 OSPI 引导模式下使用同一闪存。

    您能否共享引导 ping 配置。

    您是否能够将调试器连接到电路板并检查 MCU_R5_0_0内核和 M4_0内核的 PC。 这将帮助我们确定代码卡住的位置。 还是引导 ROM 本身中。

    此致、
    Tanmay

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

    您好、

    我 正在使用 XSPI 拨号方法、现在可以显示以下日志。

    U-Boot SPL 2024.04 (Mar 14 2025 - 12:13:13 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    Trying to boot from SPI
    jedec_spi_nor flash@0: unrecognized JEDEC id bytes: ff, ff, ff
    SPI probe failed.
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    

    BR

    许可

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

    您好!

    这意味着您能够使用 xSPI 进行引导。

    该问题现在位于 r5-spl 中以获取进一步的二进制文件。

    您能否检查"[ u-boot-repo]/drivers/mtd/spi/spi-nor-ids.c 中是否存在您的闪存的 ID?

    此致、
    Tanmay

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

    您好、 

    我不认为这是没有公布 NORFLASH ID 的问题。
    因为日志显示读取的值均为 FF。
    在 U-Boot 模式下从 SD 卡引导时、读取 ID 的操作没有任何问题。

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

    您好!

    您能否确认两者使用的源代码相同、即 SD 卡引导和 OSPI 引导。

    此致、
    Tanmay

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

    您好、

    是的,我写入 NORFLASH 的文件是 SD 卡引导分区中的相同文件。

    BR

    许可

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

    大家好、TanMay 和 Peitao

    我不知道根本原因,但分享我的意见,我想,我希望它可以做一些事情。

    (1)如何确保引导失败不是"SPI 探测失败"引起的?

    (2)当 JEDEC ID = 0xFFFFFF 时、您认为引导也应该是成功的吗?

    我尝试研究 JEDEC ID 识别失败的原因。

    参考

    https://artinchip.com/knowledge/oxy_ex-1/topics/spi-nor-u-boot-transplant-luban.html

    https://github.com/qemu/u-boot/blob/master/drivers/mtd/spi/spi-nor-ids.c、请在您的代码中检查该项目。

    如果您已经在代码中填充了闪存 JEDEC ID、为什么它仍然探测失败、使用了错误的 ID?

    该线程的这种情况与我们非常相似、

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1368281/tda4vh-q1-tiboot3-bin-can-t-read-spi-nor-id

    在 SD 引导中成功读取闪存 ID、但在 O (Q) SPI 引导中失败。

    它还会显示"SPI probe failed"。

    如果我的想法有误、请更正我。

    非常感谢

    Gibbs

    对我来说是另一个很好的参考

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/971529/processor-sdk-dra8x-tda4x-mt35xu01g-spi-flash-with-u-boot-issue

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

    HI GIBBS

    按图示修改引导模式开关设置、即可进入 U-Boot。

    我们可以使用 xSPI 进入 U-Boot、并使用以下命令来启用 UFS 以引导 Linux。

    UFS 初始化
    SCSI 扫描
    SCSI dev 0
    ext4load SCSI 0:0 ${loadaddr}/boot/Image
    ext4load SCSI 0:0 ${fdtaddr}/boot/dtb/ti/k3-j721e-common-proc-board.dtb setenv bootargs 'console=ttyS2115200n8 root=/dev/sda rootfsttype=ext4 rootwait rw' booti ${loadaddr}-${fdtaddr}

    我想知道如何在不使用上述命令的情况下将 DTB 和映像写入 NORFLASH(、可以直接使用 xSPI + UFS 进行引导。)、需要创建什么样的文件?

    BR

    许可

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

    你(们)好

    将文件变为 norflash、并将引导模式更改为 xspi 并删除 SD 卡后、日志:

    U-Boot SPL 2024.04 (Mar 14 2025 - 12:13:13 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    Trying to boot from SPI
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from nowhere... OK
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    I/TC:
    I/TC: OP-TEE version: 4.2.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Apr 12 09:51:21 UTC 2024 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: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    I/TC: HUK Initialized
    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 2024.04 (Mar 14 2025 - 12:12:11 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    Detected: J7X-BASE-CPB rev E3
    Detected: J7X-VSC8514-ETH rev E2
    Trying to boot from SPI
    k3-navss-ringacc ringacc@2b800000: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235
    k3-navss-ringacc ringacc@2b800000: dma-ring-reset-quirk: disabled
    jedec_spi_nor flash@0: non-uniform erase sector maps are not supported yet.
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    
    
    U-Boot 2024.04 (Mar 14 2025 - 12:12:11 +0800)
    
    SoC:   J721E SR1.1 GP
    Model: Texas Instruments J721e EVM
    Board: J721EX-PM2-SOM rev E8
    DRAM:  2 GiB (effective 4 GiB)
    Core:  116 devices, 34 uclasses, devicetree: separate
    Flash: 0 Bytes
    MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00101 cpsw_ver: 0x6BA80100 ale_ver: 0x00293904 Ports:1
    Detected: J7X-BASE-CPB rev E3
    Detected: J7X-VSC8514-ETH rev E2
    Net:   Could not get PHY for mdio@f00: addr 0
    am65_cpsw_nuss_port ethernet@46000000port@1: phy_connect() failed
    No ethernet found.
    
    Hit any key to stop autoboot:  0
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 37
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    GPIO: 'gpio@22_17' not found
    Command 'gpio' failed: Error -22
    GPIO: 'gpio@22_16' not found
    Command 'gpio' failed: Error -22
    k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
    k3_r5f_rproc r5f@41400000: Core 2 is already in use. No rproc commands work
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 37
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 37
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 36
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    Scanning for bootflows in all bootdevs
    Seq  Method       State   Uclass    Part  Name                      Filename
    ---  -----------  ------  --------  ----  ------------------------  ----------------
    Scanning global bootmeth 'efi_mgr':
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 37
    No EFI system partition
    No EFI system partition
    Failed to persist EFI variables
    No EFI system partition
    Failed to persist EFI variables
    No EFI system partition
    Failed to persist EFI variables
    Could not get PHY for mdio@f00: addr 0
    am65_cpsw_nuss_port ethernet@46000000ethernet@46000: phy_connect() failed
    Could not get PHY for mdio@f00: addr 0
    am65_cpsw_nuss_port ethernet@46000000ethernet@46000: phy_connect() failed
      0  efi_mgr      ready   (none)       0  <NULL>
    ** Booting bootflow '<NULL>' with efi_mgr
    Loading Boot0000 'mmc 0' failed
    EFI boot manager: Cannot load any image
    Boot failed (err=-14)
    Scanning bootdev 'mmc@4fb0000.bootdev':
    Card did not respond to voltage select! : -110
    mmc_init: -95, time 37
    Scanning bootdev 'mmc@4f80000.bootdev':
    Bus usb@6400000: cdns-usb3-host usb@6400000: DRD version v1 (ID: 0004024e, rev: 00000200)
    Register 2000840 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus usb@6400000 for devices...
    

    我们需要使用 spl 来引导 Linux。

    我们需要将配置修改为:

    • 在 SD 卡引导模式下使用 SD 卡引导
    • 当处于 XSPI 引导模式时从 UFS 引导"

    如何将 uboot 代码或 wirte dtbℑ 修改为 norflash?

    BR

    许可

     

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

    您好、Liupt

    让我反复核对一件事、希望您能做到、

    * SBL & SPL & U-boot & device tree (DTB)& Linux 内核存储在 OSPI 闪存(norflash)中?

    *存储在 UFS (或 SD)中的 rootfs?

    引导流程可能如下所示:

    R5 SBL (OSPI)--> A72 ATF (OSPI)--> A72 SPL (OSPI)--> A72 U-boot (OSPI)--> A72 Linux 内核+ DTB (OSPI)-->文件系统(UFS)

    因为我不确定您是否有可用空间将 rootfs 存储在 OSPI 闪存中

    Gibbs  

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

    你好、 

    SPL、U-boot、器件树(DTB)和 Linux 内核 存储 在  存储在 UFS 的 OSPI 闪存(norflash) rootfs 中  

     3.1.7. OSPI/QSPI -适用于 TDA4VM 的 Processor SDK Linux 文档

    根据该链接、"内核映像和 DT 预计会出现在 UBIFS ospi.rootfs 的/boot 文件夹中"这一句表示 NOR 闪存可以存储内核映像和 DT。 然而,我不是很清楚如何创建 ospi.rootfs 和它应该包含什么文件。

    你能解释如何创建这个 ospi.rootfs 吗?

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

    你好、Gibbs

    还有另外一件事

    在 uboot 下面使用这些命令

    UFS 初始化
    SCSI 扫描
    SCSI dev 0
    ext4load SCSI 0:0 ${loadaddr}/boot/Image
    ext4load SCSI 0:0 ${fdtaddr}/boot/dtb/ti/k3-j721e-common-proc-board.dtb
    setenv bootargs 'console=ttyS2115200n8 root=/dev/sda rootfsttype=ext4 rootwait rw'
    booti ${loadaddr}-${fdtaddr}

    要使用 UFS 启动 Linux__LW_AT__、、它不会加载 MCU2_X 内核映像。

    如何解决此问题

    BR

    许可

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

    您好、Liupt

    以下是一些提示、您可以在 E2E 中搜索更多信息、

    https://www.cnblogs.com/nickleback/articles/3220926.html

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/848408/ccs-am6548-ubifs-create-error

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1018036/am6442-how-to-create-ospi-rootfs-ubifs-and-boot-linux-from-ospi-without-sd

    您好、Tanmay

    我们在 tda4 SDK 中是否有这个脚本"create-ubifs.sh"?

    谢谢你。

    Gibbs

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

    你好、Gibbs

      DA4 SDK 中没有 create-ubifs.sh。

    当我输入 uboot 并执行 SCSI 扫描时、可能会出现以下日志

    =>  scsi scan
    scanning bus for devices...
    Device at ufs@4e84000 up at:cdns-ufs-pltfm ufs@4e84000: [RX, TX]: gear=[3, 3], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
    No EFI system partition
    Failed to persist EFI variables
    No EFI system partition
    Failed to persist EFI variables
      Device 0: (0:0) Vendor: SAMSUNG Prod.: KLUEGAJ1ZD-B0CQ Rev: 5900
                Type: Hard Disk
                Capacity: 241183.9 MB = 235.5 GB (61743103 x 4096)
    No EFI system partition
    Failed to persist EFI variables
    No EFI system partition
    Failed to persist EFI variables
      Device 1: (0:1) Vendor: SAMSUNG Prod.: KLUEGAJ1ZD-B0CQ Rev: 5900
                Type: Hard Disk
                Capacity: 31.9 MB = 0.0 GB (8191 x 4096)
    No EFI system partition
    Failed to persist EFI variables
    No EFI system partition
    Failed to persist EFI variables
      Device 2: (0:2) Vendor: SAMSUNG Prod.: KLUEGAJ1ZD-B0CQ Rev: 5900
                Type: Hard Disk
                Capacity: 31.9 MB = 0.0 GB (8191 x 4096)
    =>
    

    BR

    许可

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

    你好、 Gibbs

    我已经创建了新的 bootcmd:

    #define CFG_EXTRA_ENV_SETTINGS \
    "ufs_bootenvfile=uEnv.txt\0" \
    "ufs_importbootenv=echo Importing environment from UFS ...; env import -t ${loadaddr} ${filesize}\0" \
    "ufs_loadbootenv=ext4load scsi 0:1 ${loadaddr} /boot/${ufs_bootenvfile}\0" \
    "ufs_apply_overlays=" \
        "echo 'ufs_apply_overlays'; " \
        "fdt address ${fdtaddr}; " \
        "fdt resize 0x100000; " \
        "for overlay in ${name_overlays}; do " \
            "ext4load scsi 0:1 ${dtboaddr} /boot/dtb/${overlay} && " \
            "fdt apply ${dtboaddr}; " \
        "done;\0" \
    "ufs_set_bootargs=" \
        "setenv bootargs console=${console} " \
        "${optargs} " \
        "root=/dev/sda1 rw " \
        "rootfstype=ext4 rootwait " \
        "${extra_bootargs};\0" \
    "bootcmd_ti_ufs=" \
        "rproc init; " \
        "run boot_rprocs_ufs;\0" \
    "rproc_load_and_boot_one=" \
        "if ext4load scsi 0:1 $loadaddr ${rproc_fw}; then " \
            "if rproc load ${rproc_id} ${loadaddr} ${filesize}; then " \
                "rproc start ${rproc_id}; " \
            "fi; " \
        "fi;\0" \
    "boot_rprocs_ufs=" \
        "env set rproc_id; " \
        "env set rproc_fw; " \
        "env set secure_suffix; " \
        "if test ${secure_rprocs} -eq 1; then " \
            "env set secure_suffix -sec; " \
        "fi; " \
        "for i in ${rproc_fw_binaries}; do " \
            "if test -z \"${rproc_id}\"; then " \
                "env set rproc_id $i; " \
            "else " \
                "env set rproc_fw $i${secure_suffix}; " \
                "run rproc_load_and_boot_one; " \
                "env set rproc_id; " \
                "env set rproc_fw; " \
            "fi; " \
        "done;\0" \
    "ufs_or_mmc_boot=" \
        "echo 'Trying UFS boot first...'; " \
        "ufs init; " \
        "scsi scan; " \
        "if scsi dev 0; then " \
            "echo 'UFS Boot...'; " \
            "run bootcmd_ti_ufs; "\
            "if run ufs_loadbootenv; then " \
                "echo 'Loaded env from ${ufs_bootenvfile}'; " \
                "run ufs_importbootenv; " \
                "if test -n ${uenvcmd}; then " \
                    "echo 'Running uenvcmd from UFS...'; " \
                    "run uenvcmd; " \
                "fi; " \
            "fi; " \
            "if ext4load scsi 0:1 ${loadaddr} /boot/Image; then " \
                "if ext4load scsi 0:1 ${fdtaddr} /boot/dtb/ti/k3-j721e-common-proc-board.dtb; then " \
                    "if test -n ${name_overlays}; then " \
                        "run ufs_apply_overlays; " \
                    "fi; " \
                    "run ufs_set_bootargs; " \
                    "booti ${loadaddr} - ${fdtaddr}; " \
                "else " \
                    "echo 'Failed to load DTB'; " \
                    "run mmc_fallback; " \
                "fi; " \
            "else " \
                "echo 'Failed to load Kernel'; " \
                "run mmc_fallback; " \
            "fi; " \
        "else " \
            "echo 'UFS not available, trying MMC...'; " \
            "run mmc_fallback; " \
        "fi;\0" \
    "mmc_fallback=echo 'Falling back to MMC boot...'; run envboot; run bootcmd_ti_mmc; bootflow scan -lb;\0" 
    
     

    config BOOTCOMMAND
    	string "bootcmd value"
    	depends on USE_BOOTCOMMAND && !USE_DEFAULT_ENV_FILE
    	default "run ufs_or_mmc_boot" if ARCH_K3
    	default "bootflow scan -lb" if BOOTSTD_DEFAULTS && CMD_BOOTFLOW_FULL
    	default "bootflow scan" if BOOTSTD_DEFAULTS && !CMD_BOOTFLOW_FULL
    	default "run distro_bootcmd" if !BOOTSTD_BOOTCOMMAND && DISTRO_DEFAULTS
    	help
    	  This is the string of commands that will be used as bootcmd and if
    	  AUTOBOOT is set, automatically run.

    是正确的?

    BR

    许可

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

    您好 

    当前状态是什么?

    您是否单独尝试了上面的引导顺序、它是否工作正常?

    要启动具有 UFS 的 Linuxs、它不会加载 MCU2_X 内核映像。

    这将需要我们在 u-boot 中启动 remoteproc。 我看到您在序列中具有对应的命令。 运行是否正常?

    此致、
    Tanmay  

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

    您好、 

    是的、使用上述 bootcmd、tda4vm 可以正常引导、并且所有内核都能正常加载。

    BR

    许可

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

    您好、Tanmay

    因为 Liupt 是我的客户、所以我可以加入与您的讨论。

    如果我有任何不正确的地方,请随时给我们任何意见。

    您好、Liupt

    它应该是远程内核的 Linux 资源表(RPMSG Linux 资源表)访问问题。

    RPMSg 用于内核与远程内核(例如、R-core)之间的 IPC 通信

    因为对于每个远程内核、您的日志不显示"IPC: INIT ... DONE"。

    您可以先学习该主题。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1295779/tda4ve-q1-mcu-cores-hang-on-when-run-vision_apps-demo-vx_app_arm_ipc-out-ipc-waiting-for-hlos-to-be-ready-in-sbl-boot-mode

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/latest/exports/docs/linux/Foundational_Components_ 4.12.7J721E.html?highlight=resources%20table

    -->检查 DTS 中的3.5.5

    Gibbs