Step Port U-Boot(AM64x)

news/2024/11/26 5:25:41/

U-Boot移植

重要文件:

  • xxx_defconfig:一般由平台厂商提供,提供了基础的默认配置,从而可以尽可能少改动源代码。
  • Kconfig:是Kconfig系统的菜单项,当使用 make menuconfig时,Kconfig系统读取该文件,根据该文件的内容生成各级菜单。U-Boot目录下的Kconfig就是顶级的配置菜单
  • .config:这个文件记录了菜单项中的配置的具体值,所有对于构建的配置都存放在这个文件中。
    config.mk:用来处理一些编译过程中的环境变量。Linux Kernel没有这个文件,U-Boot需要使用它。
    Kconfig文件是defconfig文件与内核/u-boot模块之间的链接。如果将驱动程序设置为内置在引导映像中,或者将其设置为defconfig中的模块,则Kconfig文件将其与相应的驱动程序关联,构建系统生成.ko或.o文件。

am64x的U-Boot的配置文件主要有三个:

  • configs文件夹下:
    • am64x_evm_r5_defconfig:包括构建R5 SPL的配置标志
    • am64x_evm_r5_defconfig:包括用于构建A53 SPL和U-Boot的配置标志
  • include/configs文件夹下:(未来可能逐步消失)
    • am64x_evm.h,包括DDR Configuration、NAND support、NAND Driver config、U-Boot general configuration和U-Boot MMC-specific configuration等。

设备树文件有两个

  • k3-am642-r5-evm.dts:主R5 DTS文件,其中包括R5引导节点,Pinmux, DDR等。
  • k3-am642-r5-evm.dts:主A53 DTS文件,其中包括A53引导节点,Pinmux等。
    为什么有两个设备树文件?这主要是与am642的启动流程有关。

一般情况下,最小设备树应包含串口、直接参与引导过程的外设(如GPMC、DDR、MMC、SPI等)和用于PMIC连接的I2C模块
GPMC->General Purpose Memory Controller
TI AM64x soc通常由通过I2C接口连接的外部电源管理IC (PMIC)提供。PMIC在满足数据表要求的电压下为SoC供电。

当添加新板子时,通常需要如下步骤:

  1. 添加头文件,include/configs/.h
  2. 确保在Kconfig中定义必要的CONFIG_SYS_*:
    • Define CONFIG_SYS_CPU=“cpu” 编译生成 arch/<arch>/cpu/<cpu>
    • Define CONFIG_SYS_SOC=“soc” 编译生成 arch/<arch>/cpu/<cpu>/<soc>
    • Define CONFIG_SYS_VENDOR=“vendor” 编译生成 board/<vendor>/common/*
      and board/<vendor>/<board>/*
    • Define CONFIG_SYS_BOARD=“board” 编译生成 board/<board>/*
      (or board/<vendor>/<board>/* if CONFIG_SYS_VENDOR is defined)
    • Define CONFIG_SYS_CONFIG_NAME=“target” to include
      include/configs/<target>.h
  3. 在Kconfig中的板选择菜单中添加一个新条目。
    板选择菜单位于arch//Kconfig或arch/ <arch> / * / Kconfig。
  4. 添加维护者文件
    它通常放在board//MAINTAINERS或board/ <vendor> / <board> /MAINTAINERS
  5. 添加 configs/_defconfig

http://www.ppmy.cn/news/49775.html

相关文章

shell脚本基础之详解脚本的控制

详解脚本的控制 信号的处理Linux信号生成信号中断进程暂停进程 捕获信号捕获脚本退出修改或移除捕获 以后台模式运行脚本后台运行脚本运行多个后台脚本 在非控制台下运行脚本作业控制 查看作业重启停止的作业调整谦让度nice命令renice命令 定时运行作业用 at 命令来定时执行作业…

蓝桥杯2023年第十四届省赛真题python A组 (个人的做题记录,没有全对,可以通过部分测试点)

试题 A: 特殊日期 本题总分&#xff1a;5 分 【问题描述】 记一个日期为 yy 年 mm 月 dd 日&#xff0c;统计从 2000 年 1 月 1 日到 2000000 年 1 月 1 日&#xff0c;有多少个日期满足年份 yy 是月份 mm 的倍数&#xff0c;同时也是 dd 的倍数。 【答案提交】 这是一道结果…

samba共享-(2)-Ubuntu(VMware)-win10(host)

硬件环境&#xff1a;win10(host) Ubuntu(VMware) 创建共享文件夹&#xff1a;1.安装samba。 2.修改配置文件&#xff0c;重启服务。 3.常用命令 ufwdpkg 4.常见问题 1.安装samba #1.查看并删除sambasamba -vdkpg -qa|grep sambadkpg -qa|grep samba|xargs rpm -e --nodep…

地下污水厂智能照明控制应用

摘要:结合某地下污水厂项目&#xff0c;从结构、系统组成、系统功能、控制要求、场景模式等方面介绍了地下污水厂智能照明控制系统&#xff0c;探索了一套适用于地下污水厂的智能照明控制策略&#xff0c;以确保地下污水厂正常运行的照明需求。 关键词:智能照明控制系统;地下污…

如何使用 Linux find 命令查找文件?

在Linux系统中&#xff0c;find命令是一个非常强大的工具&#xff0c;可以帮助用户查找文件或目录。这篇教程将向您展示如何使用Linux find命令来查找您需要的文件。 基本语法 在使用Linux find命令之前&#xff0c;您需要了解其基本语法。Linux find命令的基本语法如下&…

30天学会《Streamlit》(6)

30学会《Streamlit》是一项编码挑战&#xff0c;旨在帮助您开始构建Streamlit应用程序。特别是&#xff0c;您将能够&#xff1a; 为构建Streamlit应用程序设置编码环境 构建您的第一个Streamlit应用程序 了解用于Streamlit应用程序的所有很棒的输入/输出小部件 第6天 - 使…

这些 Linux 的自动化技巧,教你轻松完成任务

linux 系统的 web 网站在运营状态时&#xff0c;我们常需要对网站进行维护&#xff0c;例如查看资源剩余并做出响应、日志分割、数据整理&#xff0c;在特定状态执行特定任务等等&#xff0c;这些都会需要 linux能实现自动执行某些任任务。本篇博文介绍如何进行常见的linux自动…

志特转债上市价格预测

志特转债 基本信息 转债名称&#xff1a;志特转债&#xff0c;评级&#xff1a;A&#xff0c;发行规模&#xff1a;6.14033亿元。 正股名称&#xff1a;志特新材&#xff0c;今日收盘价&#xff1a;35.6元&#xff0c;转股价格&#xff1a;41.08元。 当前转股价值 转债面值 / …