ZHCACZ9A August 2023 – September 2024 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1
要使用定制电路板配置启动器件,需通过 UART 将上一步中生成的三个引导二进制文件加载到电路板。此方法使用一个简单的通用外设进入 U-Boot 命令提示符。定制电路板需要能够在器件上配置引导模式引脚,以获得有效的 UART 引导设置。TI EVM 上提供了用于更改引导模式设置的开关,以支持各种引导源。在成品板上,这种更改可能通过简单的跳线或其他设置来实现。以下步骤假设电路板已针对 UART 引导进行适当配置。
第一步是在主机 PC 上安装串行通信程序,例如 minicom。配置此程序以正确地与电路板通信。AM62x 快速入门指南包含有关设置此串行连接的说明。在搜索引导映像时,检查是否存在从 ROM 持续输出的“C”字符,以验证是否已建立终端设置和硬件连接。示例输出如下所示。
CCCCCCCC
如果未看到终端输出,则可能导致此问题的原因有很多。使用已知正常的 TI 电路板验证此步骤会非常有用,可帮助隔离电路板和主机设置之间的问题。必须在继续启动过程之前解决这些问题。
在主机 PC 与电路板之间建立串行连接后,通过 UART 加载引导二进制文件。发送二进制文件的正确顺序是 tiboot3.bin、tispl.bin、u-boot.img。如果使用 minicom 或类似的串行通信程序,则使用内置应用程序发送二进制文件。否则,可以使用命令提示符和 lrzsz 包将 UART 二进制文件发送到电路板。有关使用 UART 加载 U-Boot 二进制文件的完整说明,请参阅有关 UART 引导的 AM62x Processor SDK 指南。如该文档所述,XMODEM 协议用于发送 tiboot3.bin,YMODEM 协议用于发送 tispl.bin 和 u-boot.img。
在传输每个二进制文件后,控制台会输出一个文本块。如果成功传输了 tiboot3.bin 和 tispl.bin,则每个输出的最后一行如下所示。
Trying to boot from UART
CCCCC
传输 u-boot.img 后,器件准备引导 Linux。此时,U-Boot 可让您按任意键退出自动引导。使用此功能可在 U-Boot 提示符处停止引导过程。下面显示了成功进入 U-Boot 命令 shell 的引导日志示例。
U-Boot 2024.04-00006-g49c04dedb6d-dirty (Jul 19 2024 - 14:01:17 -0500)
SoC: AM62X SR1.0 HS-FS
Model: Texas Instruments AM625 MINIMAL
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -19
DRAM: 2 GiB
Core: 37 devices, 21 uclasses, devicetree: separate
MMC: mmc@fa00000: 0
Loading Environment from nowhere... OK
In: serial
Out: serial
Err: serial
Failed to probe am65_cpsw_nuss driver
EEPROM not available at 0x50, trying to read at 0x51
Reading on-board EEPROM at 0x51 failed -19
Net: No ethernet found.
Hit any key to stop autoboot: 0
=>
进入 U-Boot 命令 shell 意味着定制电路板的 UART 器件树配置正常工作。还表明,取消调优的 DDR 设置足以使 U-Boot 正常启动并运行,这是一个非常好的迹象。下一步是引导 Linux 并进入内核命令 shell。这需要 Linux 内核映像、内核器件树和 initramfs 文件系统。由于无法通过 UART 有效地传输这么多数据,因此需要使用另一个外设来加载这些映像。