Rockchip Uboot 平台配置文件以及配置项 RK3399 RV1126 RK3588

411 阅读1分钟

Rockchip Uboot 平台配置

  • 本文主要介绍 RK Uboot 上与平台相关的重要配置文件以及配置项。

配置文件

// 各平台公共文件
./arch/arm/mach-rockchip/Kconfig
./include/configs/rockchip-common.h

// 各平台独有,以RK3399为例
./include/configs/rk3399_common.h
./include/configs/evb_rk3399.h
./configs/rk3399_defconfig

配置说明

  • rockchip-common.h、rkxx_common.h、evb_rkxx.h 中定义的重要配置:

    配置配置说明
    RKIMG_DET_BOOTDEV存储类型探测命令,以逐个扫描的方式探测当前的存储设备类型
    RKIMG_BOOTCOMMANDkernel 启动命令
    ENV_MEM_LAYOUT_SETTINGS固件加载地址,包括 ramdisk/fdt/kernel
    PARTS_DEFAULT默认的 GPT 分区表
    ROCKCHIP_DEVICE_SETTINGS外设相关命令,主要是指定 stdio(一般会包含显示模块启动命令)
    BOOTENVdistro 方式启动 linux 时的启动设备探测命令
    CONFIG_SYS_MALLOC_LENmalloc 内存池大小
    CONFIG_SYS_TEXT_BASEU-Boot 运行的起始地址
    CONFIG_BOOTCOMMAND启动命令,一般定义为 RKIMG_BOOTCOMMAND
    CONFIG_PREBOOT预启动命令,在 CONFIG_BOOTCOMMAND 前被执行
    CONFIG_SYS_MMC_ENV_DEVMMC 作为 ENV 存储介质时的 dev num,一般是 0
  • 以 RK3399 为例进行说明。

  • ./include/configs/rockchip-common.h:

    #define RKIMG_DET_BOOTDEV \  // 动态探测当前的存储类型
        "rkimg_bootdev=" \
    
    #define RKIMG_BOOTCOMMAND \
        "boot_android ${devtype} ${devnum};" \  // 启动android格式固件
        "bootrkp;" \                            // 启动RK格式固件
        "run distro_bootcmd;"                   // 启动linux固件
    
  • ./include/configs/rk3399_common.h:

    #define ENV_MEM_LAYOUT_SETTINGS \  // 固件的加载地址
        "scriptaddr=0x00500000\0" \
    
    #define CONFIG_EXTRA_ENV_SETTINGS \
        ENV_MEM_LAYOUT_SETTINGS \
        "partitions=" PARTS_DEFAULT \  // 默认的GPT分区表
        BOOTENV                        // 启动linux时的启动设备探测命令
    
    #define CONFIG_PREBOOT // 在CONFIG_BOOTCOMMAND之前被执行的预启动命令
    
  • ./include/configs/evb_rk3399.h:

    #define CONFIG_BOOTCOMMAND RKIMG_BOOTCOMMAND  // 定义启动命令(设置为RKIMG_BOOTCOMMAND)
    #define ROCKCHIP_DEVICE_SETTINGS \  // 使能显示模块
        "stdout=serial,vidconsole\0" \