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

 

  1.   1
  2.   摘要
  3.   商标
  4. 1 引言
  5. 2 安装 SDK
  6. 3 为定制电路板配置 SDK
  7. 4 启动 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. 5 扩展定制电路板器件树
    1. 5.1 器件树配置
    2. 5.2 描述节点中的外设
    3. 5.3 修改器件树配置
  9. 6 引导 Linux 内核
    1. 6.1 内核引导概述
    2. 6.2 内核部署说明
  10. 7 工具和调试
    1. 7.1 内核调试跟踪
    2. 7.2 OpenOCD 调试
  11. 8 未来的工作
  12. 9 总结
  13. 10参考资料
  14.   修订历史记录

为定制电路板配置 SDK

本节可作为复制定制电路板的 TI U-Boot 基线的分步指南。虽然这些步骤对于开始开发并非绝对必要,但最好每个电路板都使用自己的电路板特定文件,以防止任何冲突或电路板特定的配置问题。创建新的电路板特定文件还会保留随 SDK 提供的可用作参考的 TI EVM 文件。

这些说明将定制电路板命名为 <boardname>,将组织命名为 <company>。组织名称用于命名目录,以帮助将各自的板级配置文件保存在一起。

  1. 复制现有的 EVM A53 和 R5 Kconfig 目标并粘贴到 TI_U_BOOT/arch/arm/mach-k3/am62x/Kconfig 中,然后重命名定制电路板的符号。(可选)修改相应的电路板特定字符串。下方提供了示例。
    + config TARGET_AM625_A53_<BOARDNAME>
    +	bool "<COMPANY> K3 based AM625 <BOARDNAME> running on A53"
    +	select ARM64
    +	select BINMAN
    +	select OF_SYSTEM_SETUP
    
    + config TARGET_AM625_R5_<BOARDNAME>
    +	bool "<COMPANY> K3 based AM625 <BOARDNAME> running on R5"
    +	select CPU_V7R
    +	select SYS_THUMB_BUILD
    +	select K3_LOAD_SYSFW
    +	select RAM
    +	select SPL_RAM
    +	select K3_DDRSS
    +	select BINMAN
    +	imply SYS_K3_SPL_ATF

    将以下行添加到同一 Kconfig 文件的底部。

    + source "board/<company>/<boardname>/am62x/Kconfig
  2. 创建新的 <company> 和 <boardname> 目录以存储将要复制和修改的文件。
    $ mkdir -p TI_U_BOOT/board/<company>/<boardname>/
    $ mkdir -p TI_U_BOOT/board/<company>/common/
  3. 将板级配置文件从 TI 目录复制到新目录,并重命名这些文件。
    $ cp TI_U_BOOT/board/ti/am62x/* TI_U_BOOT/board/<company>/<boardname>/
    $ cp TI_U_BOOT/board/ti/common/* TI_U_BOOT/board/<company>/common/
  4. 在 TI_U_BOOT/board/<company>/<boardname> 目录中,通过修改配置选项的默认值来编辑 Kconfig,如下所示。
    if TARGET_AM625_A53_<BOARDNAME>
    config SYS_BOARD
           default "<boardname>"
    config SYS_VENDOR
           default "<company>"
    config SYS_CONFIG_NAME
           default "<boardname>_evm"
    source "board/<company>/common/Kconfig"
    endif
    
    if TARGET_AM625_R5_<BOARDNAME>
    config SYS_BOARD
           default "<boardname>"
    config SYS_VENDOR
           default "<company>"
    config SYS_CONFIG_NAME
           default "<boardname>_evm"
    config SPL_LDSCRIPT
    	default "arch/arm/mach-omap2/u-boot-spl.lds"
    source "board/<company>/common/Kconfig"
    endif
  5. 在同一目录中,将 evm.c 文件重命名为 <boardname>.c,将 am62x.env 文件重命名为 <boardname>.env。
    $ mv TI_U_BOOT/board/<company>/<boardname>/evm.c TI_U_BOOT/board/<company>/<boardname>/<boardname>.c $ mv TI_U_BOOT/board/<company>/<boardname>/am62x.env TI_U_BOOT/board/<company>/<boardname>/<boardname>.env
  6. 在同一目录中,按如下所示编辑 Makefile。
    - obj-y	+= evm.o
    + obj-y	+= <boardname>.o
  7. 为定制电路板复制 EVM 电路板头文件并重命名该文件。
    $ cp TI_U_BOOT/include/configs/am62x_evm.h TI_U_BOOT/include/configs/am62x_<boardname>.h

    在新创建的头文件中进行以下修改。

    - #ifndef __CONFIG_AM625_EVM_H
    - #define __CONFIG_AM625_EVM_H
    + #ifndef __CONFIG_AM625_<BOARDNAME>_H
    + #define __CONFIG_AM625_<BOARDNAME>_H
  8. 在 TI_U_BOOT/configs/ 中创建以下配置片段,并添加以下行以设置 Kconfig 目标。

    am62x_<boardname>_r5.config

    CONFIG_TARGET_AM625_R5_<BOARDNAME>=y # CONFIG_TARGET_AM625_R5_EVM is not set
    am62x_<boardname>_a53.config
    CONFIG_TARGET_AM625_A53_<BOARDNAME>=y # CONFIG_TARGET_AM625_A53_EVM is not set

您现在已经为定制电路板复制了 TI 的 U-Boot 基线。