This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

About DM814x Uboot

Hello,

We know the config.mk defines TI_LOAD_ADDR = 0x40300000, and Makefile defines TEXT_BASE = 0x80700000.

So when  we power on the board, the boot code will cope the uboot mini(nand boot) to the 0x40300000.And the uboot -mini starts from 0x40300000.

In file start.S,there is a code about relocate uboot,as following :

#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate:    @ relocate U-Boot to RAM
 adr r0, _start  @ r0 <- current position of code
 ldr r1, _TEXT_BASE  @ test if we run from flash or RAM
 cmp r0, r1   @ don't reloc during debug
 beq stack_setup

copy_loop:

.................................

.................................
#endif /* CONFIG_SKIP_RELOCATE_UBOOT */

Here I think "_start"  equals 0x40300000, and "_TEXT_BASE"  equals 0x80700000.

_start   is not equal  _TEXT_BASE  ,so the code will execute the coop_loop.----->This is what I cannot understard,because now the uboot-mini is running

in the ram , and donnot need to use this "relocate"code (because in uboot-mini ,it will use cmd "bootcmd=nand read 0x81000000 0x20000 0x40000; go 0x81000000" to copy the secondary uboot to the DDR).

So please tell me where I misunderstood.

My platform is EVM 8148 and the ezsdk version is 5.05.02

 

Thank you !