ZHCACZ9A August   2023  – September 2024 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. 安装 SDK
  6. 为定制电路板配置 SDK
  7. 启动 U-Boot 电路板端口
    1. 4.1 器件树简介
    2. 4.2 最小配置的功能
    3. 4.3 准备定制板级配置文件
    4. 4.4 初始器件树修改
    5. 4.5 构建 U-Boot 二进制文件
    6. 4.6 U-Boot 部署说明
  8. 扩展定制电路板器件树
    1. 5.1 器件树配置
    2. 5.2 描述节点中的外设
    3. 5.3 修改器件树配置
  9. 引导 Linux 内核
    1. 6.1 内核引导概述
    2. 6.2 内核部署说明
  10. 工具和调试
    1. 7.1 内核调试跟踪
    2. 7.2 OpenOCD 调试
  11. 未来的工作
  12. 总结
  13. 10参考资料
  14.   修订历史记录

U-Boot 部署说明

要使用定制电路板配置启动器件,需通过 UART 将上一步中生成的三个引导二进制文件加载到电路板。此方法使用一个简单的通用外设进入 U-Boot 命令提示符。定制电路板需要能够在器件上配置引导模式引脚,以获得有效的 UART 引导设置。TI EVM 上提供了用于更改引导模式设置的开关,以支持各种引导源。在成品板上,这种更改可能通过简单的跳线或其他设置来实现。以下步骤假设电路板已针对 UART 引导进行适当配置。

第一步是在主机 PC 上安装串行通信程序,例如 minicom。配置此程序以正确地与电路板通信。AM62x 快速入门指南包含有关设置此串行连接的说明。在搜索引导映像时,检查是否存在从 ROM 持续输出的“C”字符,以验证是否已建立终端设置和硬件连接。示例输出如下所示。

CCCCCCCC

如果未看到终端输出,则可能导致此问题的原因有很多。使用已知正常的 TI 电路板验证此步骤会非常有用,可帮助隔离电路板和主机设置之间的问题。必须在继续启动过程之前解决这些问题。

  • 电路板问题(电源、引导模式引脚设置、布线连续性等)
  • UART 实例
  • UART 引脚配置
  • 终端设置

在主机 PC 与电路板之间建立串行连接后,通过 UART 加载引导二进制文件。发送二进制文件的正确顺序是 tiboot3.bin、tispl.bin、u-boot.img。如果使用 minicom 或类似的串行通信程序,则使用内置应用程序发送二进制文件。否则,可以使用命令提示符和 lrzsz 包将 UART 二进制文件发送到电路板。有关使用 UART 加载 U-Boot 二进制文件的完整说明,请参阅有关 UART 引导的 AM62x Processor SDK 指南。如该文档所述,XMODEM 协议用于发送 tiboot3.bin,YMODEM 协议用于发送 tispl.binu-boot.img

在传输每个二进制文件后,控制台会输出一个文本块。如果成功传输了 tiboot3.bintispl.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 有效地传输这么多数据,因此需要使用另一个外设来加载这些映像。