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.

[参考译文] TDA4VH-Q1:TDA4VH 0902:在 uboot 中使用 UFS

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1480155/tda4vh-q1-tda4vh-0902-use-ufs-in-uboot

器件型号:TDA4VH-Q1
主题中讨论的其他器件:TDA4VH、TDA4VM

工具与软件:

您好!

   TDA4VH SDK Linux/RTOS 0902
   如何在 uboot 中使用 UFS?   
   现在我的 SDK 无法找到 UFS 器件。 绑定到 XDS110线路板
   是否有任何相关的补丁?
谢谢

dongzhang

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

    尊敬的 dongzhang:

    专家目前不在办公室。他将很快回到你。感谢你的耐心。

    此致

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

    您好、
      我的目标是在 DFU 时将 rootfs.img 写入 UFS。

    谢谢
    东张

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

    您好!

    不支持用于写入 UFS 的 DFU。 我们已尝试将 rootfs 从 SD 复制到 UFS、并在 UFS 上使用 rootfs 进行引导。

    此致、

    基尔西  

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

    您好、

    1.是否因为 rootfs 太大而无法在 DFU 中下载?
    我可以将 rootfs 的图像降低到500MB 吗?
    2.在存储模式下、我可以进入 uboot、然后通过 USB0将 rootfs 写入 UFS 吗?

    谢谢

    dongzhang

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

    不是因为访问 UFS 的 DFU 未知。 我会与我们的专家核实并返回。  

    此致、

    基尔西  

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

    您好、
    这是我们的设计、不带 EMMC 和 TF Card、
    因此我需要首先在 Uboot 中通过 DFU 刷写 UFS 固件

    谢谢

    东张

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

    您好、 Dongzhang

    [报价 userid="564217" url="~/support/processors-group/processors/f/processors-forum/1480155/tda4vh-q1-tda4vh-0902-use-ufs-in-uboot/5687166 #5687166"]因此、我需要首先在 Uboot 中通过 DFU 刷写 UFS 固件
    [报价]

    不支持使用 DFU 接口刷写至 UFS。

    此致
    Diwakar

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

    您好、
    是否可以按如下方式使用它?
    1.使用 DFU 将 Uboot 升级为 OSPI、从 OSPI 引导、然后进入 Uboot
    2.使用 Uboot 命令从 USB 获取 rootfs.img、使用 UFS cmd 或 SCSI CMD、将 rootfs.img 写入 UFS 磁盘?

    谢谢

    dongzhang

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

    您好、 dongzhang

    1. 使用 DFU 将 Uboot 升级为 OSPI、从 OSPI 引导并进入 Uboot
    [报价]

    为了刷写到 OSPI、您首先需要引导到 uBoot 级、然后可以使用 DFU 交错刷写 ospi。

    [报价 userid="564217" url="~/support/processors-group/processors/f/processors-forum/1480155/tda4vh-q1-tda4vh-0902-use-ufs-in-uboot/5687478 #5687478"]

    2.使用 Uboot 命令从 USB 获取 rootfs.img、使用 UFS cmd 或 SCSI CMD、将 rootfs.img 写入 UFS 磁盘?

    [报价]

    如何将 USB 端口的配置从器件(支持 DFU)更改为主机(从 USB 器件获取数据)

    此致
    Diwakar

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

    Diwakar:

    1.使用 DFU 将 Uboot 升级为 OSPI、从 OSPI 引导、然后进入 Uboot

    为了刷写到 OSPI、您首先需要引导到 uBoot 级、然后可以使用 DFU 交错刷写 ospi。
     -> 当前的0902版本软件基于 EVM 板。
    当首次使用 UFS 闪存时、在 uboot 传递命令后
    UFS 初始化、
    SCSI 扫描无法找到设备。
    但是、在使用 Linux 刷写 DESC、然后重新启动到 uboot 后、可以看到器件0和1
    如何解决第一个闪烁问题。

    2.使用 Uboot 命令从 USB 获取 rootfs.img、使用 UFS cmd 或 SCSI CMD、将 rootfs.img 写入 UFS 磁盘?

    如何将 USB 端口的配置从器件 (支持 DFU)更 改为主机 (从 USB 器件获取数据)
     ->确定。


    谢谢
    东张

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="564217" url="~/support/processors-group/processors/f/processors-forum/1480155/tda4vh-q1-tda4vh-0902-use-ufs-in-uboot/5689768 #5689768"]首次使用 UFS 闪存时、uboot 传递命令后
    UFS 初始化、
    SCSI 扫描无法找到设备。
    但是、在使用 Linux 刷写 DESC、然后重新启动到 uboot 后、可以看到器件0和1
    如何解决第一个闪烁问题。

    我不明白这一点。 您是否认为"SCSI scan cannot find the device (SCSI 扫描无法找到设备)"是问题。 选择什么类型?

    -基尔西

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

    您好、

    是、

    执行此命令后、在 uboot 下、我可以通过 SCSI 扫描2个设备:0:0 0:1

    Ufs-utils desc -t 1 -w config_desc_data_ind_0 -p /dev/bsg/ufs-bsg0 

    => 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
      Device 0: (0:0) Vendor: TOSHIBA Prod.: THGAF8G8T23BAILB Rev: 0300
                Type: Hard Disk
                Capacity: 31.9 MB = 0.0 GB (8191 x 4096)
      Device 1: (0:1) Vendor: TOSHIBA Prod.: THGAF8G8T23BAILB Rev: 0300
                Type: Hard Disk
                Capacity: 30499.9 MB = 29.7 GB (7807999 x 4096)
    

    当我在开发板上时、我从未执行此命令。
    在 uboot 下、SCSI scan 没有设备

    谢谢
    东张

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

    您好!

    有。 Fresh EVM 还需要 config_desc_data_ind_0。 这是在 U-Boot 中启用 UFS 的正确方法。

    -基尔西

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

    您好、
    在我们的硬件设计模式中、只有两种类型的刷新 OSPI 和 UFS。 如果没有 Linux、我们只能进入由 OSPI 启动的 uboot。 我们可以在 Uboot 下将 CONFIG_DESC_DATA_IND_0配置为 UFS 吗?

    谢谢
    东张

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

    您好!

    遗憾的是不可以 我们通常使用 Linux 来实现这一点。

    https://e2e.ti.com/f/791/t/1302925

    我们可以使用 initramfs 引导到 Linux。 您能尝试一下吗?

    -基尔西

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

    您好、

    => ls mmc 1 /cpio_test/
                ./
                ../
     19376640   Image
       114029   k3-j784s4-evm.dtb
      7972864   rootfs.cpio
    
    3 file(s), 2 dir(s)
    
    => 
    => setenv bootargs "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 vm.overcommit_ratio=5 vm.overcommit_memory=2 root=/dev/ram0 rootfstype=ramfs initrd=0x84000000 init=/init"
    => setenv bootcmd "setenv autoload no; mmc dev 1; fatload mmc 1 0x82000000 /cpio_test/Image; fatload mmc 1 0x81200000 /cpio_test/k3-j784s4-evm.dtb; fatload mmc 1 0x84000000 /cpio_test/rootfs.cpio; booti 0x82000000 0x84000000:$filesize 0x81200000"
    => boot
    switch to partitions #0, OK
    mmc1 is current device
    19376640 bytes read in 236 ms (78.3 MiB/s)
    114029 bytes read in 22 ms (4.9 MiB/s)
    7972864 bytes read in 108 ms (70.4 MiB/s)
    ## Flattened Device Tree blob at 81200000
       Booting using the fdt blob at 0x81200000
    Working FDT set to 81200000
       Loading Ramdisk to 90000000, end 90000000 ... OK
       Loading Device Tree to 000000008ffe1000, end 000000008ffffd6c ... OK
    Working FDT set to 8ffe1000
    
    Starting kernel ...
    
    

    就此打住。
    东张

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

    您好!

    控制台挂起。

    参考设计是在 TDA4VM 上实施的、您正在尝试 TDA4VH 上实施、因此其控制台不同。

    在引导参数中、0x2800000应更改为0x2880000、因为在 TDA4VH 上、我们使用 Main_uart8作为控制台、而不是 MAIN_uart0、这与常见问题解答中使用的 TDA4VM 不同。

    此致、

    基尔西  

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

    您好!

    控制台问题现已解决。

    比如、ramfs 安装出现故障。 rootfs.cpio 是否已正确加载?  

    此致、  

    基尔西  

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

    您好、

    PC
    ~/Downloads/TI-DownLoad/ramfs$ md5sum rootfs.cpio 
    09d5bd6653be992fd2bf7064f531c9fb  rootfs.cpio
    
    
    EVM
    root@j784s4-evm:~/1# md5sum cpio_test/*
    1482b5aacb8e52a90aebb070091cf166  cpio_test/Image
    2101e14a9d7b1afb8273f95b5763f7ff  cpio_test/k3-j784s4-evm.dtb
    09d5bd6653be992fd2bf7064f531c9fb  cpio_test/rootfs.cpio
    

    看起来是正确的


    dongzhang

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

    您好!

    你从哪里挑选 rootfs.cpio? 是常见问题解答中的问题、还是您生成了一个问题解答?

    -基尔西

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

    您好!
      是的、 来自常见问题解答  
    https://e2e.ti.com/f/791/t/1302925

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1302925/faq-tda4vm-how-to-boot-using-initramfs

    东张

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

    您好!  
      rootfs.cpio 正常。  我 在日志中按照 cmd 进行操作。 rootfs.cpio 引导正常。
    然后我将文件添加到 rootfs.cpio 并测试 UFS。

    谢谢
    dongzhang

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

    您好、
      我只能下载 SDK 0806 0902 1001;
      在 SDK 中、 应用 UFS 依赖 libc-2.30.so
    但这个 rootfs.cpio 只有 libc-2.25.so。 如果替换为 libc-2.30、 因此,其他应用程序无法使用它;
    我的 SDK 没有基于 libc-2.25.so 的 UFS - utils。 您能帮忙吗?
    或者、请提供一个不低于0902的 rootfs.cpio。

    谢谢
    东张

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

    我们将在 常见问题解答中检查提供了哪个版本的 rootfs.cpio。  

    由于您需要 SDK 9.2版本、因此我们需要一些时间来检查是否已经有一个、如果没有、我们需要生成一个。 因此、我们需要花几天时间进行调查。

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

    好的、非常感谢。
    东张

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

    调查后、我们建议 使用以下步骤为所需的 SDK 版本创建您的 rootfs.cpio 文件:

    安装后、每个 PSDK Linux 版本的文件系统目录中都将包含 tisdk-tiny-image-j784s4-evm.tar.gz。 此文件可用于生成 ramfs.cpio 文件

    Host$ CD /filesystem 
    host$ mkdir target_fs host$ cd target_fs host$ tar xf ../tisdk-tiny-image-j784s4-evm.tar.xz host$ find。 | cpio -H newc -o >../rootfs.cpio host$ cd .. host$ gzip rootfs.cpio

    最后一步是可选步骤。

    希望这对您有所帮助。
    谢谢。