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.

[参考译文] AM4378:从 v4.03.00.05升级到 v8.02.00.24后 u-boot 结果不一致

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1160263/am4378-inconsistent-u-boot-results-after-upgrading-from-v4-03-00-05-to-v8-02-00-24

器件型号:AM4378
主题中讨论的其他器件:AM4372

您好!

我们有一个基于 AM4372通用评估模块的定制板。 我们有一个使用 SDK v4.03.00.05的工作映像。下面是示例引导输出。

U-Boot SPL 2017.01-00319-g33a324a-dirty (Jun 28 2018 - 09:47:14)
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
reading u-boot.img
reading u-boot.img
reading u-boot.img
reading u-boot.img


U-Boot 2017.01-00319-g33a324a-dirty (Jun 28 2018 - 09:47:14 -0700)

CPU  : AM437X-GP rev 1.2
Model: TI AM437x GP EVM
DRAM:  2 GiB
PMIC:  TPS65218
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC
Could not get PHY for cpsw: addr 0
cpsw, usb_ether
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
** Unable to read file uEnv.txt **
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
3642680 bytes read in 762 ms (4.6 MiB/s)
49338 bytes read in 58 ms (830.1 KiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8fff0000, end 8ffff0b9 ... OK

Starting kernel ...


我们最近尝试升级到 v8.02.00.24、因为我们需要支持新的以太网 PHY。  当 u-boot 启动时、我们会遇到奇怪的结果。 使用 FDTI 电缆、我们可以看到引导输出、它似乎并不总是使 u-boot 在启动过程中保持尽可能远的距离。 使用相同的映像如果我多次重新启动、我可以看到 u-boot 会在启动序列的不同位置进行。 在数十次重新启动后、我只能看到一次 u-boot 提示符。 我们添加了许多 print 语句、如果 printed 语句从引导打印到引导、则这是一个骰子卷。

*************** Boot 1 *************************

U-Boot SPL nw 2021.01-00001-g6048603-dirty (Oct 10 2022 - 16:22:20 -0400)
SPL: nw boot_from_devices
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
SPL: nw load success
SPL: jump_to_image_no_args


U-Boot 2021.01-00001-g6048603-dirty NW (Oct 10 2022 - 16:22:20 -0400)

CPU  : AM437X-GP rev 1.2
Model: TI AM437x GP EVM
DRAM:  After dram
2 GiB


*************** Boot 2 *************************

U-Boot SPL nw 2021.01-00001-g6048603-dirty (Oct 10 2022 - 16:22:20 -0400)
SPL: nw boot_from_devices
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
SPL: nw load success
SPL: jump_to_image_no_args
▒


*************** Boot 3 *************************


U-Boot SPL nw 2021.01-00001-g6048603-dirty (Oct 10 2022 - 16:22:20 -0400)
SPL: nw boot_from_devices
Trying to boot from MMC1
SPL: Please implement spl_start_uboot() for your board
SPL: Direct Linux boot not active!
SPL: nw load success
SPL: jump_to_image_no_args


U-Boot 2021.01-00001-g6048603-dirty NW (Oct 10 2022 - 16:22:20 -0400)

CPU  : AM437X-GP rev 1.2
Model: TI AM437x GP EVM
DRAM:  After dram
2 GiB
Some drivers failed to bind
Error binding driver 'simple_bus': -34387168
Some drivers failed to bind
Error binding driver 'simple_bus': -34387168

在 SDK 的 v4.03.00.05中、我们必须修改大约12个文件才能将其定制为我们的电路板。 我们尽可能地将这些更改合并到 SDK 的 v8.02.00.24中。 从较高的层次来看,他们是...

-已更新 RAM 时序

-通过短路电路板检测始终返回相同的值

-将 PMIC 从总线0更改为 I2C 总线1

我们可能需要特别注意 SDK 的两个不同版本之间是否有任何重大变化? 是否有任何工具可以帮助我们调试 u-boot 的情况? 目前、我们正在使用大量的"put()"条目进行调试、以查看我们在 u-boot 中获得的距离。

谢谢、

Tim

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

    在写此帖子后、如果有任何帮助、我在 u-boot 期间确实看到了此转储。

    U-Boot SPL 2021.01-00001-g6048603-dirty (Oct 10 2022 - 20:33:15 -0400)
    TIMT-DEBUG count is 5
    Trying to boot from MMC1
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!
    TIMT-DEBUG device 0 looks good
    
    
    U-Boot 2021.01-00001-g6048603-dirty TT (Oct 10 2022 - 20:33:15 -0400)
    
    CPU  : AM437X-GP rev 1.2
    Model: TI AM437x GP EVM
    DRAM:  After dram
    2 GiB
    TIMT-DEBUG - inside power_init_board
    TIMT-DEBUG - before init call
    TIMT-DEBUG - rc after init
    NAND:  0 MiB
    MMC:
    Loading Environment from FAT... TIMT leaving initr_env
    TIMT inside initr_secondary_cpu
    TIMT leaving initr_secondary_cpu
    TIMT inside stdio_add_devices
    TIMT leaving stdio_add_devices
    TIMT leaving initr_jumptable
    TIMT inside console_init_r
    TIMT leaving console_init_r
    TIMT Leaving interrupt_init
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0
    data abort
    pc : [<fff6a374>]          lr : [<fff6ab41>]
    reloc pc : [<80814374>]    lr : [<80814b41>]
    sp : fdf34898  ip : 00000000     fp : fffc5968
    r10: 00000018  r9 : fdf45ec0     r8 : fdf47ac8
    r7 : 00000010  r6 : fdf47aa8     r5 : 00000011  r4 : fffc5968
    r3 : fdf47a80  r2 : 00000000     r1 : 00000020  r0 : 6e766564
    Flags: nzcv  IRQs off  FIQs off  Mode SVC_32 (T)
    Code: e7d1 2201 e7cf 68f5 (60c5) 60a8
    Resetting CPU ...
    
    resetting ...
    

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

    Tim、您好!
    从 SDK 4.x 到 SDK 8.x 的许多 SPL/u-boot 更改中、其他 SPL/u-boot 驱动程序移至驱动程序模型(DM)、比较 SDK 4.x 与 SDK 8.x、具体而言、您可能需要查看之前在 SDK 4.x 上完成的电路板移植工作
    有一个通用 u-boot 板移植指南供您参考:
    software-dl.ti.com/.../U-Boot.html
    如果您在电路板上具有 JTAG 调试器访问权限、则加载 u-boot 可精确定位上一个日志中记录的异常、这一点很有帮助。
    最棒的
    -香港