u-boot移植步骤

1 添加开发板默认配置文件

先在 configs 目录下创建默认配置文件,复制已有的xx_emmc_defconfig,然后重命名为 yyy_emmc_defconfig
然后将文件 yyy_emmc_defconfig中的内容改成所需的内容。


2 添加开发板对应的头文件
在 目 录 include/configs 下 添 加 开 发 板 对 应 的 头 文 件 , 复 制include/configs/xx_emmc.h,并重命名为 yyy_emmc_emmc.h
改为头文件内容:
#ifndef __YY_EMMC_CONFIG_H
#define __YY_EMMC_CONFIG_H


3 添加开发板对应的板级文件夹
uboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等等。系列芯片的所有板级文件夹都存放在 board/ZZ目录下,在这个目录下
建立个名为 yyy_emmc的文件夹,存放板级驱动文件
    1、1、修改 目录下的 Makefile 文件
    2、修改  目录下的 Kconfig 文件,修改后的内容示例如下:
示例代码 33.2.3.2 Kconfig 文件
config SYS_BOARD
config SYS_VENDOR
config SYS_SOC
config SYS_CONFIG_NAME

   3、修改 yyy_emmc目录下的 MAINTAINERS 文件
修改 MAINTAINERS 文件,修改后的内容如下:
1    yyy_EMMC BOARD
2 M: Peng Fan <peng.fan@nxp.com>
3 S: Maintained
4 F: board/ _emmc/
5 F: include/configs/xx_emmc.h

4 添加新板的选择入口      Add a new entry to the board select menu in Kconfig.      The board select menu is located in arch/<arch>/Kconfig or      arch/<arch>/*/Kconfig.

  1、在u-boot-2021.10/arch/<arch>/Kconfig添加ARCH_XXsoc选择,如

config ARCH_NUC97X
bool "Nuvoton MPU Nuc97x platform"
select CPU_ARM926EJS
select DM

      source “arch/arm/mach-nuc97x/Kconfig”

  2、在arch/<arch>/mach-<soc>/Kconfig.添加板子选择

if ARCH_NUC97X

config SYS_SOC
default "nuc97x"

choice
prompt "Nuvoton Nuc97x board select"

config TARGET_NUC972_ETH2UART
bool "Xin Nuc972 Eth2uart"
endchoice

source "board/nuvoton/eth2uart/Kconfig"
endif

When adding a new board, the following steps are generally needed:
 [1] Add a header file include/configs/<target>.h  [2] Make sure to define necessary CONFIG_SYS_* in Kconfig:        Define CONFIG_SYS_CPU="cpu" to compile arch/<arch>/cpu/<cpu>        Define CONFIG_SYS_SOC="soc" to compile arch/<arch>/cpu/<cpu>/<soc>        Define CONFIG_SYS_VENDOR="vendor" to compile board/<vendor>/common/*          and board/<vendor>/<board>/*        Define CONFIG_SYS_BOARD="board" to compile 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] Add a new entry to the board select menu in Kconfig.      The board select menu is located in arch/<arch>/Kconfig or      arch/<arch>/*/Kconfig.  [4] Add a MAINTAINERS file      It is generally placed at board/<board>/MAINTAINERS or      board/<vendor>/<board>/MAINTAINERS  [5] Add configs/<target>_defconfig










 

上一篇:【Kconfig】linux-Kconfig相关配置及分析指南


下一篇:PE操作—扩大节