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:eMMC 引导和 USB 引导问答

Guru**** 2553450 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1274609/tda4vh-q1-emmc-boot-and-usb-boot-q-a

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

您好!

我正在尝试 eMMC 引导 Foundational_Components,方法是:https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/08_06_00_12/exports/docs/linux/Memory-Boot/UG2000.html

但我无法 从 SD 映像中找到 sysfw.itb 文件。  

sysfw.itb 是用于在 TDA4VH 平台上引导 eMMC 的必须文件或不是该文件? 在何处查找 sysfw.itb?

我在预编译的映像路径下也没有找到 sysfw.itb: /ti-processor-sdk-linux-j784s4-evm-08_06_01_02/board-support/prebuilt-images

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

    您好  

    TDA4VH 使用组合的引导流程,其中 tifs + bootloader 被组合在一起。

    ROM 将同时加载 tifs 和引导加载程序。

    这就是在传统引导流程中使用 sysfe.itb 的原因。

    此致

    迪瓦卡尔  

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

    您好!  

    这意味着  TDA4VH 上没有单独的 sysfw.itb 文件? 它已经集成到 tiboot3.bin 或一些其他引导文件中。

    在 TDA4VH 上、只需加载 tiboot3.bin、 tispl.bin 和 u-boot.img 文件?  

    另一个问题是  、在我们的产品中、我们需要 USB 和 eMMC 引导;对于 USB 引导、我在 TI 网站中找到了一个链接:

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/08_06_00_12/exports/docs/linux/Foundational_Components Boot/UG-DFU.html

    Q1:为何需要重建 u-boot 并编译 MLO/u-boot 二进制文件? 是否无法使用路径/ti-processor-sdk-linux-j784s4-evm-08_06_01_02/board-support/prebuilt-images 下的默认重新编译消息?

    从 TI 链接、没有将 MLO 下载到电路板、为什么需要构建 MLO 二进制文件?

    Q2:在何处下载 SDK、以重建 u-boot 和 MLO 二进制文件? 以及如何构建

    Q3:SW3在哪里? 也不能找到哪个 USB 端口是 USB 端口、

    J784S4 EVM 上的 USB 外设引导模式(SPL-DFU 引导模式)

    • 将 SYSBOOT 开关设置为 USB 外设引导模式(请参阅  初始化  有关引导开关详细信息、请参阅 TRM 中的一章)
    • 确保 USB0端口处于 UFP/DRP 模式:SW3[3]= 01或1x
    • 通过 USB 电缆将 EVM 的 TypeC 端口(USB0端口)连接到 PC
    • 为电路板加电

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

    您好  

    这意味着  TDA4VH 上没有单独的 sysfw.itb 文件? 它已经集成到 tiboot3.bin 或一些其他引导文件中。

    [/报价]

    是的、它将与引导加载程序(tiboot3.bin)结合使用

    在 TDA4VH 上、只需加载 tiboot3.bin、 tispl.bin 和 u-boot.img 文件?  

    [/报价]

    是的、正确。

    Q1:为何需要重建 u-boot 并编译 MLO/u-boot 二进制文件? 是否无法使用路径/ti-processor-sdk-linux-j784s4-evm-08_06_01_02/board-support/prebuilt-images 下的默认重新编译消息?

    从 TI 链接、没有将 MLO 下载到电路板、为什么需要构建 MLO 二进制文件?

    [/报价]

    在这里 MLO/uboot 互换使用、 默认情况下、在 TI EVM 上 、DFU 模式已启用、但如果客户使用自己的 defcong 作为其定制板、那么在这种情况下 、他们需要按照上述文档中提到的说明启用此功能。

    Q2:在何处下载 SDK、以重建 u-boot 和 MLO 二进制文件? 以及如何构建

    [/报价]

    您可以通过此链接 https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-lOshtRwR8P/09.00.01.02/ti-processor-sdk-linux-adas-j784s4-evm-09_00_01_02-Linux-x86-Install.bin 下载最新的 Linux SDK

    它还包含 uBoot 源代码。

    Q3:SW3在哪里? 也不能找到哪个 USB 端口是 USB 端口、

    [/报价]

    此致
    迪瓦卡尔

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

    您好、Diwakar、  

    我按照指南在 TDA4VH EVM 电路板上尝试了 eMMC 引导流程。

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/08_06_00_12/exports/docs/linux/Foundational_Components Boot/UG-Memory.html

    完成对 eMMC 卡的写入并切换到 eMMC 引导后、 系统无法启动。  

    这里是我的开关设置:SW7[1:8]:    0100 0000 (SW7.2=1)、SW11[1:8]:  1000 0000 (SW11.1 = 1)

    似乎分区有一些错误,你能给我一些建议来修复这个缺陷.

    =>MMC 部件

    MMC 设备0的分区映射--分区类型:EFI

    GUID 分区表标头签名错误:0x32472641DEEE9E91!= 0x5452415020494645
    find_value_gpt:***错误:无效 gpt***
    GUID 分区表标头签名错误:0x0!= 0x5452415020494645
    find_value_gpt:***错误:备份 gpt***无效
    => fatls MMC 0:1
    **无法识别的文件系统类型**

    以下是完整的下载日志:

    U-Boot SPL 2021.01-g62a9e51344 (May 02 2023 - 21:12:41 +0000)
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--1-g2249f (Chill Capybara')
    SPL initial stack usage: 13472 bytes
    Trying to boot from MMC2
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 21:12:26, May  2 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Tue May  2 21:12:33 UTC 2023 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 0x0008 '8.6.3--1-g2249f (Chill Capybara')
    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 2021.01-g62a9e51344 (May 02 2023 - 21:12:53 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--1-g2249f (Chill Capybara')
    Trying to boot from MMC2
    
    
    U-Boot 2021.01-g62a9e51344 (May 02 2023 - 21:12:53 +0000)
    
    SoC:   J784S4 SR1.0 GP
    Model: Texas Instruments J784S4 EVM
    Board: J784S4X-EVM rev E3
    DRAM:  32 GiB
    idle-statesFlash: 0 Bytes
    MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
    Loading Environment from MMC... OK
    In:    serial@2880000
    Out:   serial@2880000
    Err:   serial@2880000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA02102 cpsw_ver: 0x6BA82102 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
    Unidentified board claims J784S4X-EVM in eeprom header
    Net:   eth0: ethernet@46000000port@1
    Hit any key to stop autoboot:  0
    => mmc list
    mmc@4f80000: 0 (eMMC)
    mmc@4fb0000: 1
    => mmc dev 0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
      1     0x00000022      0x03b47fde      "rootfs"
            attrs:  0x0000000000000000
            type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
            guid:   30b2b13c-e2be-47a3-98ae-e0dd95401e4c
    => fatls mmc 0:1
    ** Unrecognized filesystem type **
    => printenv partitions
    partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
    => printenv uuid_gpt_disk
    uuid_gpt_disk=e9650bf8-064b-41a9-b3bd-aa71be8413d2
    => printenv uuid_gpt_rootfs
    uuid_gpt_rootfs=30b2b13c-e2be-47a3-98ae-e0dd95401e4c
    => mmc dev 0 1
    switch to partitions #1, OK
    mmc0(part 1) is current device
    =>  fatload mmc 1 ${loadaddr} tiboot3.bin
    480294 bytes read in 30 ms (15.3 MiB/s)
    =>  mmc write ${loadaddr} 0x0 0x400
    
    MMC write: dev # 0, block # 0, count 1024 ... 1024 blocks written: OK
    =>  fatload mmc 1 ${loadaddr} tispl.bin
    992992 bytes read in 54 ms (17.5 MiB/s)
    => mmc write ${loadaddr} 0x400 0x1000
    
    MMC write: dev # 0, block # 1024, count 4096 ... 4096 blocks written: OK
    => fatload mmc 1 ${loadaddr} u-boot.img
    1191548 bytes read in 64 ms (17.8 MiB/s)
    => mmc write ${loadaddr} 0x1400 0x2000
    
    MMC write: dev # 0, block # 5120, count 8192 ... 8192 blocks written: OK
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    GUID Partition Table Header signature is wrong: 0x32472641DEEE9E91 != 0x5452415020494645
    find_valid_gpt: *** ERROR: Invalid GPT ***
    GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
    find_valid_gpt: *** ERROR: Invalid Backup GPT ***
    => fatls mmc 0:1
    ** Unrecognized filesystem type **
    =>
    

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

    您好  

    感谢您联系我们将在两周内回复此话题。

    此致

    迪瓦卡尔  

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

    您好  

    正如日志清楚地表明您未正确创建分区。

    MMC 设备0的分区映射--分区类型:EFI

    GUID 分区表标头签名错误:0x32472641DEEE9E91!= 0x5452415020494645
    find_value_gpt:***错误:无效 gpt***
    GUID 分区表标头签名错误:0x0!= 0x5452415020494645
    find_value_gpt:***错误:备份 gpt***无效
    => fatls MMC 0:1
    **无法识别的文件系统类型**

    我建议 您查看此应用手册、  

    https://www.ti.com/lit/an/spracy5/spracy5.pdf?ts = 1695999126689&ref_url=https%253A%252F%252Fwww.google.com%252F

    此致

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

    您好、 Diwakar

    感谢您的评论、我阅读了闪存文档并重试、但仍然无法从 eMMC 启动、这是我的完整日志。

    请帮助重新检查。  

    U-Boot SPL 2021.01-g62a9e51344 (May 02 2023 - 21:12:41 +0000)
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    ti_i2c_eeprom_am6_get: Ignoring record id 255
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--1-g2249f (Chill Capybara')
    SPL initial stack usage: 13472 bytes
    Trying to boot from MMC2
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 21:12:26, May  2 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Tue May  2 21:12:33 UTC 2023 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 0x0008 '8.6.3--1-g2249f (Chill Capybara')
    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 2021.01-g62a9e51344 (May 02 2023 - 21:12:53 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.3--1-g2249f (Chill Capybara')
    Trying to boot from MMC2
    
    
    U-Boot 2021.01-g62a9e51344 (May 02 2023 - 21:12:53 +0000)
    
    SoC:   J784S4 SR1.0 GP
    Model: Texas Instruments J784S4 EVM
    Board: J784S4X-EVM rev E2
    DRAM:  32 GiB
    idle-statesFlash: 0 Bytes
    MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
    Loading Environment from MMC... OK
    In:    serial@2880000
    Out:   serial@2880000
    Err:   serial@2880000
    am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA02102 cpsw_ver: 0x6BA82102 ale_ver: 0x00293904 P                                              orts:1 mdio_freq:1000000
    Unidentified board claims J784S4X-EVM in eeprom header
    Net:   eth0: ethernet@46000000port@1
    Hit any key to stop autoboot:  0
    => mmc list
    mmc@4f80000: 0 (eMMC)
    mmc@4fb0000: 1
    => printenv mmcdev
    mmcdev=1
    => setenv mmcdev 0
    => mmc dev 0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
      1     0x00000022      0x03b47fde      "rootfs"
            attrs:  0x0000000000000000
            type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
            guid:   e2b6b38b-59eb-4c15-8dd7-3b2c97a80192
    => printenv partitions
    partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
    => printenv uuid_gpt_disk
    ## Error: "uuid_gpt_disk" not defined
    => setenv uuid_gpt_disk 211482b6-7c4e-4c15-9403-34cac2d5d81f
    => setenv uuid_gpt_rootfs e2b6b38b-59eb-4c15-8dd7-3b2c97a80192
    => gpt write mmc 0 ${partitions}
    Writing GPT: success!
    => mmc dev 0 1
    switch to partitions #1, OK
    mmc0(part 1) is current device
    => setenv loadaddr 0x92000000
    => fatload mmc 1 ${loadaddr} tiboot3.bin
    480294 bytes read in 30 ms (15.3 MiB/s)
    => mmc write ${loadaddr} 0x0 0x400
    
    MMC write: dev # 0, block # 0, count 1024 ... 1024 blocks written: OK
    => fatload mmc 1 ${loadaddr} tispl.bin
    992992 bytes read in 55 ms (17.2 MiB/s)
    => mmc write ${loadaddr} 0x400 0x1000
    
    MMC write: dev # 0, block # 1024, count 4096 ... 4096 blocks written: OK
    => fatload mmc 1 ${loadaddr} u-boot.img
    1191548 bytes read in 63 ms (18 MiB/s)
    => mmc write ${loadaddr} 0x1400 0x2000
    
    
    
    MMC write: dev # 0, block # 5120, count 8192 ... 8192 blocks written: OK
    => mmc partconf 0 1 1 1
    => mmc bootbus 0 2 0 0
    => saveenv
    Saving Environment to MMC... Writing to MMC(0)... OK
    => mmc dev
    switch to partitions #0, OK
    mmc0(part 0) is current device
    => mmc part
    
    Partition Map for MMC device 0  --   Partition Type: EFI
    
    Part    Start LBA       End LBA         Name
            Attributes
            Type GUID
            Partition GUID
      1     0x00000022      0x03b47fde      "rootfs"
            attrs:  0x0000000000000000
            type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
            guid:   e2b6b38b-59eb-4c15-8dd7-3b2c97a80192
    => fatls mmc 0:1
    ** Unrecognized filesystem type **
    
    => mmc dev 1
    switch to partitions #0, OK
    mmc1 is current device
    => mmc part
    
    Partition Map for MMC device 1  --   Partition Type: DOS
    
    Part    Start Sector    Num Sectors     UUID            Type
      1     2048            126976          2763d721-01     0c Boot
      2     129024          62204928        2763d721-02     83
    

    写入 eMMC 卡后,似乎文件系统类型不正确,无法找到所写的文件...

    我切换到 SD 卡(MMC dev 1)、发现文件可以在 SD 卡上读取、文件系统类型为 DOS。

    我不确定它是根本原因,如何修复它?

    =>MMC 部件

    MMC 设备0的分区映射--分区类型:EFI

    零件开始 LBA 结束 LBA 名称
    属性
    类型 GUID
    分区 GUID
    1 0x00000022 0x03b47fde "rootfs"
    attrs:0x000000000000
    类型:ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
    GUID:e2b6b38b-59eb-4c15-8dd7-3b2c97a80192
    => fatls MMC 0:1
    **无法识别的文件系统类型**

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

    你好 , Diwakar

    现在 eMMC 板可以在 tda4vh EVM 板上工作、主要原因是(应执行"MC partconf 0 1 1"和"MC bootbus 0 2 0")

    感谢您的巨大帮助。 我还有两个问题:

    1) 1)似乎无法读取引导区域?  引导映像区域(偏移为0x0到0x3400)是否有区域保护机制?

    首先、我将 u-boot.image 写入偏移量0x1400、将 dtb 文件写入偏移量0x3400

    fatload MMC 1 ${loadaddr}u-boot.img &&  MMC 写入${loadaddr}0x1400 0x2000

    TFTP ${loadaddr}tda4/k3-j784s4-evm.dtb && MMC 写入${loadaddr}0x3400 0x400

    然后读取偏移量、 0x3200 带有 len 0x400 ( MMC 读取 0x91000000 0x3200 0x400)、

    这些区域似乎无法读取、读取的内容为零。

    但是、如果我跳过引导区域(从0x0到0x3400的偏移量)、那么  读取 aras 是可以的。

    例如、 MMC 读取 0x91000000 0x3400 0x400

    2.关于引导区域部分。 对于 eMMC 引导、似乎仅创建了 rootfs 区域、并且文件系统类型不是由 fatls 标识。

    所以在哪里将引导文件(tiboot3.bin、tispl.bin、u-boot.img)写入呢?  

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

    您好  

    然后读取偏移量、 0x3200 带有 len 0x400 ( MMC 读取 0x91000000 0x3200 0x400)、

    这些区域似乎无法读取、读取的内容为零。

    但是、如果我跳过引导区域(从0x0到0x3400的偏移量)、那么  读取 aras 是可以的。

    [/报价]

    但您要将 dtb 写入:  

    MMC write ${loadaddr}0x3400 0x400

    因此  

    但是、如果我跳过引导区域(从0x0到0x3400的偏移量)、那么  读取 aras 是可以的。

    例如、 MMC 读取 0x91000000 0x3400 0x400

    [/报价]

     正确。

    2.关于引导区域部分。 对于 eMMC 引导、似乎仅创建了 rootfs 区域、并且文件系统类型不是由 fatls 标识。

    所以在哪里将引导文件(tiboot3.bin、tispl.bin、u-boot.img)写入呢?  

    [/报价]

    您正在写入 eMMC 的 RAW boot 0分区 ,这就是您无法读取的原因。另一方面,您正在以 ext4格式写入 UDA 分区中的 rootfs。

    此致
    迪瓦卡尔

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

    你好 , Diwakar

    明白了、是否有办法列出 eMMC 器件上的所有文件?

    例如使用 fatls 列出 SD 卡上的文件。

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

    您好  

    找到了,是否有办法列出 eMMC 部件上的所有文件?

    如果您要写入 RAW 分区 、则只能使用 MMC 读取 命令(如果使用的是 具有 fat 分区类型的 UDA 分区)  

    可以使用 fatls 命令。

    此致
    迪瓦卡尔

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

    你好  , Diwakar

    我找到了 eMMC UDA 分区图。  

    您正在写入 eMMC 的原始引导0分区 ,这就是为什么您不能读取另一方面,您正在 UDA 分区中以 ext4格式写入 rootfs。

    这意味着我要将启动映像写入 UDA 的分区1?

    还有一  件事需要确认,从链接 https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/08_06_00_12/exports/docs/linux/Foundational_Components

    我找到了 eMMC 布局、我的问题是在哪里可以放置我们的系统映像?

    从 eMMC 布局来看、我们似乎无法使用 boot0分区的偏移0x3400、对吗? (偏移量0x3400是为环境变量和备份环境、和 sysfw 保留的。 运行时这些区域可以被写入、对吗?)

    如果需要、我们可以将系统映像放在哪里? 用户分区是否合适? 如何切换到用户分区?

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

    您好  

    请浏览 TDA4VH 的 SDK 文档、

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/09_00_01_02/exports/docs/linux/Foundational_Components?U5.2-Boot/UG-Memory.html?highlight=boot0

    BOOT0分区与 UDA 分区不同。  

    以上映像显示将引导映像(tiboot3.bin、tispl、u-boot.img)保留在 BOOT0分区中,并将 rootfs 保存在 UDA 分区中。

    此致
    迪瓦卡尔

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

    尊敬的 Diwakar:  

    以上映像显示在 BOOT0分区中保留启动映像(tiboot3.bin,tispl,u-boot.img ),并在 UDA 分区中保留 rootfs。

    我的问题是、是否有完整分区列表图? 谁创建了 BOOT0分区、分区的起始和长度如何?

    UDA Particton 从2MB 的偏移量中扣除?   我感到困惑, 因为所有启动映像的大小都大于2MB,所以 rootfs start 应该设置为大于所有启动映像大小,对吗?

    u-Boot # printenv 分区
    uuuid_disk=${uuid_gpt_disk}; name=rootfs, start= 2MiB、 size=-、uuid=${uuid_gpt_rootfs} 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好  

    我的问题是、是否有完整分区列表图? 谁创建了 BOOT0分区、分区的起始和长度如何?

    [/报价]

    引导分区和用户分区的大小由存储器制造商定义。

    UDA Particton 从2MB 的偏移量中扣除?   我感到困惑, 因为所有启动映像的大小都大于2MB,所以 rootfs start 应该设置为大于所有启动映像大小,对吗?

    [/报价]

    在这里它将在 UDA 中创建另一部分、偏移为2MB、这是由您在 SDK 中定义的、其为0  

    => printenv partitions 
    partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
    

    希望这能回答您的问题。

    此致
    迪瓦卡尔

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

    您好、Diwakar、

    明白了、谢谢。 我的最后一个问题、在哪里适合放置我们的系统映像?

    如果遵循 u-boot.img,它是从偏移量0x3400开始的,那么我们的系统映像大约是>8MB。 可能会超过 boot0分区的大小。  

    以及如何找到 boot0 part还是 大小?

    我担心大小对于所有 TI 引导映像(tiboot3.bin、tispl.bin、u-boot.img)和我们的系统映像而言都是不够的。

    或者我们应该将系统映像放在 uda 中的 rootfs 中?   

    哪一个是更好的选择?

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

    您好  

    以及如何找到 boot0 part还是 大小?

    [/报价]

    该信息应来自 eMMC 供应商、但为了快速检查、您可以引导至链接并运行 lsblk 命令  

    此处引导为31MB

    或者我们应该将系统映像放在 uda 中的 rootfs 中?   

    [/报价]

    我们通常建议将引导映像保留在 boot0分区中、因为与 UDA 相比、它是原始访问并且速度很快  

    并在 UDA 中保留 rootfs。

    但如果您有优于 eMMC 的 OSPI、因为 ospi 比 eMMC 快得多。

    此致
    迪瓦卡尔

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

    您好,Diwakar:

    我们通常建议将引导映像保留在 boot0分区中、因为与 UDA 相比、它是原始访问并且速度很快  

    并在 UDA 中保留 rootfs、

    [/报价]

    感谢您的评论、现在很明显、我们还将把我们的系统映像放在 boot0分区中、位于偏移0x3400的 uboot.image 后面、

    31MB 足以容纳所有映像。

    我现在没有问题了、再次感谢您对该表单的大力支持。