[U-Boot] Splitting u-boot into 2 stages

Kumar Nath, Chandan chandan.nath at ti.com
Fri Sep 23 08:24:53 CEST 2011


We have an upcoming OMAP based armv7 SOC with a small internal SRAM. 
Internal SRAM size is 110Kb and can hold image of that size only. 

Initial Rom based Bootloader (RBL, inside SOC) will load the Bootloader from some media and load it to SRAM and run it from there.
Because of the small Internal SRAM size, u-boot cannot be built with complete features in one Image.

For this constraint, we are planning to split uboot into = uboot minimum (1st stage) and uboot full (2nd Stage).

Uboot min will have minimum configuration and will be loaded into the internal SRAM by RBL. 
This will run, initialize DRAM & then relocate to END of DRAM.

Uboot minimum will then needs to load the uboot full in to DRAM and run it. 

At present I am able to run u-boot minimum with below configuration

CONFIG_SYS_TEXT_BASE 		= SRAM Base Address
CONFIG_NR_DRAM_BANKS 		= 1	/*  1 bank of DRAM */
PHYS_DRAM_1 			= DRAM Base Address
CONFIG_MAX_RAM_BANK_SIZE	= (1024 << 20) 	/* 1GB */
CONFIG_SYS_SDRAM_BASE		= PHYS_DRAM_1
CONFIG_SYS_INIT_SP_ADDR		= (CONFIG_SYS_SDRAM_BASE + 0x1000 - \
						GENERATED_GBL_DATA_SIZE)

U-boot min will have a max of 107KB Image size

Now I want generate U-boot Full.

Can anyone suggest what should be the values for above parameters in case of u-boot Full Image?
Since u-boot full will directly run from DRAM, I can set 

CONFIG_SYS_TEXT_BASE == (DRAM Base Address + some offset), 

but how about other parameters.

Thanks in advance

Regards
Chandan



More information about the U-Boot mailing list