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.   修订历史记录

为定制电路板配置 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 基线。