Rockchip U-Boot 基于U-Boot 2014.10官方版本开发
Board:Nanopi M4 2G
编译配置
[Toolchain]
sudo tar -jxvf arm-6.4.tar.bz2 -C /usr/local
(加入環境變數)
vim ~/.bashrc (位置home/andy/.bashrc)
export PATH=/usr/local/arm/6.4/bin:$PATH (加新路徑) //編譯器gcc路徑
source ~/.bashrc (立刻載入修改後的設定,使之生效。)
平台配置 配置文件
configs/rk3399_defconfig
CONFIG_SYS_EXTRA_OPTIONS="RKCHIP_RK3399,PRODUCT_MID,NORMAL_WORLD,SECOND_LEVEL_BOOTLOADER,BAUDRATE=115200"
CONFIG_ARM=y
CONFIG_ROCKCHIP_ARCH64=y
CONFIG_PLAT_RK33XX=y
U-BOOT自动生成的配置文件
uboot-rockchip/include/config.h
/* Automatically generated - do not edit */
#define CONFIG_RKCHIP_RK3399 1
#define CONFIG_PRODUCT_MID 1
#define CONFIG_NORMAL_WORLD 1
#define CONFIG_SECOND_LEVEL_BOOTLOADER 1
#define CONFIG_BAUDRATE 115200
#define CONFIG_BOARDDIR board/rockchip/rk33xx
#include <config_defaults.h>
#include <configs/rk33plat.h>
#include <asm/config.h>
#include <config_fallbacks.h>
#include <config_uncmd_spl.h>
------------------------------------------------------------------------------
系统配置
rk_default_config.h:RK平台的公共配置,默认打开所有需要的功能
include/configs/rk_default_config.h 重要檔
/* rk kernel load address */配置Kernel加载的地址,DDR偏移32M的位置
#define CONFIG_KERNEL_LOAD_ADDR (CONFIG_RAM_PHY_START + SZ_32M) /* 32M offset */
/* rk nand api function code address */配置 Nand Flash 驱动API接口地址DDR偏移48M的位置。
#define CONFIG_RKNAND_API_ADDR (CONFIG_RAM_PHY_START + SZ_32M + SZ_16M) /* 48M offset */
/* rk uboot reserve size */ 配置 U-BOOT Reserve空间大小。
#define CONFIG_LMB_RESERVE_SIZE (SZ_32M + SZ_16M + SZ_8M) /* 56M offset */
/* rk ddr information */
/* rk ddr max banks */ 配置 DDR驱动传递DDR容量信息中DDR的Banks数目。
#define CONFIG_RK_MAX_DRAM_BANKS 8 /* rk ddr max banks */
/* rk ddr banks address and size */ 配置 DDR驱动传递容量信息的地址,偏移32M的位置。
#define CONFIG_RKDDR_PARAM_ADDR (CONFIG_RAM_PHY_START + SZ_32M)
/*rk trust os banks address and size*/配置使用ARM Trusted Firmware时需要内核保留的空间信息。
#define CONFIG_RKTRUST_PARAM_ADDR (CONFIG_RAM_PHY_START+SZ_32M+ SZ_2M)
配置 HDMI 的一些信息需要内核获取的地址。
/* rk hdmi device information buffer (start: 128M - size: 8K) */
#define CONFIG_RKHDMI_PARAM_ADDR CONFIG_RAM_PHY_END
U-Boot用到的SDRAM的空间范围
#define CONFIG_RAM_PHY_START 0x00000000
#define CONFIG_RAM_PHY_SIZE SZ_128M
#define CONFIG_RAM_PHY_END (CONFIG_RAM_PHY_START + CONFIG_RAM_PHY_SIZE)
RK33系列平台的配置
include/configs/rk33plat.h:
rk33plat.h:
include/configs/rk33plat.h:#include <configs/rk_default_config.h></