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.

[参考译文] TDA4AH-Q1:J784S4 EVM:eMMC 引导故障

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1423253/tda4ah-q1-j784s4-evm-emmc-boot-failure

器件型号:TDA4AH-Q1

工具与软件:

我正在使用 J784S4 EVM 并尝试 eMMC 引导、但引导期间出现错误。
我想知道原因。

[eMMC 写入过程]
我根据以下内容将每个文件写入 boot0分区。
https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/09_02_00_05/exports/docs/linux/Foundational_Components U-Boot/UG-Memory.html#booting-tiboot3-bin-tispl-bin-and-u-boot-img-from-eMMC-boot-partition-for-k3-class-of-SoCs.

=> mmc partconf 0 1 1 1
=> mmc bootbus 0 2 0 0

=> mmc dev 0 1
=> fatload mmc 1 ${loadaddr} tiboot3.bin
=> mmc write ${loadaddr} 0x0 0x400
=> fatload mmc 1 ${loadaddr} tispl.bin
=> mmc write ${loadaddr} 0x400 0x1000
=> fatload mmc 1 ${loadaddr} u-boot.img
=> mmc write ${loadaddr} 0x1400 0x2000

[DIPSW 设置]

SW7[8:1]= 00000010
SW11[8:1]= 00000001

[启动日志(错误)]

U-Boot SPL 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +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 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
SPL initial stack usage: 13456 bytes
Trying to boot from MMC1
mmc_load_image_raw_sector: mmc block read error
** Partition 1 not valid on device 0 **
spl_register_fat_device: fat register err - -1
spl_load_image_fat: error reading image tispl.bin, err - -1
spl: no partition table found
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

[注意]
我曾尝试读取写入 eMMC 的文件的开头、但似乎写入没有任何问题。

=> mmc dev 0 1
switch to partitions #1, OK
mmc0(part 1) is current device
=> mmc read ${loadaddr} 0 1000

MMC read: dev # 0, block # 0, count 4096 ... 4096 blocks read: OK
=> md ${loadaddr}
82000000: b3048230 1c048230 010203a0 21140202  0...0..........!
82000010: f6b425a8 02abb0d4 a5f3c968 dd7613fe  .%......h.....v.
82000020: 30c5b185 2a09060d f7864886 0d01010d  ...0...*.H......
82000030: 81300005 300b319d 55030609 02130604  ..0..1.0...U....
82000040: 0b315355 03060930 0c080455 31585402  US1.0...U....TX1
82000050: 060d300f 07045503 6144060c 73616c6c  .0...U....Dallas
82000060: 25302731 04550306 541e0c0a 73617865  1'0%..U....Texas
82000070: 736e4920 6d757274 73746e65 636e4920   Instruments Inc
82000080: 6f70726f 65746172 30133164 55030611  orporated1.0...U
82000090: 0a0c0b04 636f7250 6f737365 13317372  ....Processors1.
820000a0: 03061130 0c030455 2049540a 70707553  0...U....TI Supp
820000b0: 3174726f 061b301d 48862a09 010df786  ort1.0...*.H....
820000c0: 0e160109 70707573 4074726f 632e6974  ....support@ti.c
820000d0: 1e306d6f 34320d17 37323330 38303431  om0...2403271408
820000e0: 175a3633 3034320d 31363234 33383034  36Z..24042614083
820000f0: 81305a36 300b319d 55030609 02130604  6Z0..1.0...U....

=> mmc read ${loadaddr} 400 1000

MMC read: dev # 0, block # 1024, count 4096 ... 4096 blocks read: OK
=> md ${loadaddr}
82000000: edfe0dd0 1bb11000 38000000 c8ac1000  ...........8....
82000010: 28000000 11000000 02000000 00000000  ...(............
82000020: 6d000000 90ac1000 00000000 00000000  ...m............
82000030: 00000000 00000000 01000000 00000000  ................
82000040: 03000000 04000000 63000000 5fc0e366  ...........cf.._
82000050: 03000000 22000000 57000000 666e6f43  ......."...WConf
82000060: 72756769 6f697461 6f74206e 616f6c20  iguration to loa
82000070: 54412064 6e612046 50532064 0000004c  d ATF and SPL...
82000080: 03000000 04000000 48000000 01000000  ...........H....
82000090: 01000000 67616d69 00007365 01000000  ....images......
820000a0: 00667461 03000000 15000000 57000000  atf............W
820000b0: 204d5241 73757254 20646574 6d726946  ARM Trusted Firm
820000c0: 65726177 00000000 03000000 09000000  ware............
820000d0: 43000000 6d726966 65726177 00000000  ...Cfirmware....
820000e0: 03000000 06000000 3e000000 366d7261  ...........>arm6
820000f0: 00000034 03000000 05000000 32000000  4..............2

=> mmc read ${loadaddr} 1400 1000

MMC read: dev # 0, block # 5120, count 4096 ... 4096 blocks read: OK
=> md ${loadaddr}
82000000: edfe0dd0 c30d1400 38000000 b0091400  ...........8....
82000010: 28000000 11000000 02000000 00000000  ...(............
82000020: 63000000 78091400 00000000 00000000  ...c...x........
82000030: 00000000 00000000 01000000 00000000  ................
82000040: 03000000 04000000 53000000 5fc0e366  ...........Sf.._
82000050: 03000000 27000000 47000000 20544946  .......'...GFIT
82000060: 67616d69 69772065 6d206874 69746c75  image with multi
82000070: 20656c70 666e6f63 72756769 6f697461  ple configuratio
82000080: 0000736e 01000000 67616d69 00007365  ns......images..
82000090: 01000000 6f6f6275 00000074 03000000  ....uboot.......
820000a0: 18000000 47000000 6f422d55 6620746f  .......GU-Boot f
820000b0: 4a20726f 53343837 6f622034 00647261  or J784S4 board.
820000c0: 03000000 09000000 42000000 6d726966  ...........Bfirm
820000d0: 65726177 00000000 03000000 07000000  ware............
820000e0: 3f000000 6f622d75 0000746f 03000000  ...?u-boot......
820000f0: 04000000 3a000000 006d7261 03000000  .......:arm.....

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

    您好!

    由于假期、我们的团队中有一半目前不在办公室。 请预计回复将延迟1~2 μ s。

    很抱歉耽误您的时间、感谢您的耐心。

    - Fabiana

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

    尊敬的 Takahiro:

    您能否确认以下事项:

    1:如果您使用的电路板是 J784S4 EVM?

    2:您是否尝试过在多个 J784S4 EVM 上测试相同的场景。

    3:您是否还可以共享您正在使用的 Linux SDK 版本以及从您获得配置的位置获取的引导开关设置的源映像。

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

    感谢您的答复。

    > 1:如果您使用的电路板是 J784S4 EVM?
    是的、没错。

    > 2:您是否尝试过在多个 J784S4 EVM 上测试相同的场景。
    否、仅1个单元。

    > 3:您是否还可以共享您正在使用的 Linux SDK 版本以及从配置位置获取的引导开关设置的源映像。
    Linux SDK 的版本为 "09_02_00_05"。
    1.概述—适用于 J784s4的 Processor SDK Linux 文档

    源映像是以下预编译映像文件夹中的 tiboot3.bin、tispl.bin 和 u-boot.img。  (这是默认值。)
    /ti-processor-sdk-linux-adas-j784s4-evm-09_02_00_05/board-support/prebuilt-images
    需要更改配置?

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

    尊敬的 Takahiro:

    您能试一下最新的 SDK 吗?(10.X)

    此致
    Diwakar

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

    尊敬的 Takahiro:

    在您正在使用的 SDK 09_02_00_05的 U-boot 阶段、尝试将引导文件从 SD 卡复制到引导0时、是否可以尝试以下命令。

    => MMC dev 0 1
     => fatload MMC 1 ${loadaddr}tiboot3.bin
     => MMC 写入${loadaddr}0x0 0x800
     => fatload MMC 1 ${loadaddr}tispl.bin
     => MMC 写入
    ${loadaddr
    }0x800 0x1000 => fatload MMC 1 ${loadaddr}u-boot.img => MMC 写入${loadaddr}0x1800 0x2000 

    它应该能正常工作。

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

    你好、Gokul

    我甚至能够使用您给我的程序启动 U-Boot。 谢谢。

    这与发布的过程不同、但发布的过程是错误的吗?
    3.1.1.5. SD、eMMC 和 USB—适用于 J784s4的 Processor SDK Linux 文档

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

    尊敬的 Takahiro:

    在  您正在使用的09_02_00_05 SDK 中、引导文件的大小较大、因此偏移量不同。 这是文档中的一个错误、因为修改后的偏移没有在文档中更新。

    但是、在最新的 SDK (10.X)中、引导文件大小有所减小、因此偏移量与之前的相同、因此最新的 SDK (10.X)文档中没有对其进行更新。

    因此、解决此问题的方法是:

    1:使用最新的 SDK(10.X)与您之前使用的相同偏移量。 最新的 SDK (10.X)文档中也存在相同的偏移量。

    或者

    2:使用您所使用的同一个 SDK(09_02_00_05)、并使用我提供给您的更新偏移。

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

    尊敬的 Gokul:

    问题迎刃而解。 非常感谢。