[U-Boot] rk3288: broken boot

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Wed Feb 14 00:08:11 UTC 2018


Jagan,

> On 13 Feb 2018, at 13:20, Jagan Teki <jagannadh.teki at gmail.com> wrote:
> 
> On Tue, Feb 13, 2018 at 5:29 PM, Dr. Philipp Tomsich
> <philipp.tomsich at theobroma-systems.com> wrote:
>> I verified the build for evb-rk3288_defconfig and everything looks fine:
>> 
>> spl/u-boot-spl.bin:     file format binary
>> 
>> 
>> Disassembly of section .data:
>> 
>> 00000000 <.data>:
>>       0:       eaffffff        b       0x4     <— this is the extra branch inserted (to be overwritten by mkimage)
>>       4:       ea000016        b       0x64
> 
> I saw this on SPL, but I'm using TPL where I'm using mkimage to tp binary
> 
>>        ...
>>      20:       ea00000f        b       0x64
>>      24:       e59ff014        ldr     pc, [pc, #20]   ; 0x40
>>      28:       e59ff014        ldr     pc, [pc, #20]   ; 0x44
>>      2c:       e59ff014        ldr     pc, [pc, #20]   ; 0x48
>>      30:       e59ff014        ldr     pc, [pc, #20]   ; 0x4c
>>      34:       e59ff014        ldr     pc, [pc, #20]   ; 0x50
>>      38:       e59ff014        ldr     pc, [pc, #20]   ; 0x54
>>      3c:       e59ff014        ldr     pc, [pc, #20]   ; 0x58
> 
> I can see the difference of size by 8 bytes with spl/u-boot-spl-dtb.bin
> 
> with tparams->header_size = RK_SPL_HDR_START + 4; (working scenario)
> $ ls -l spl/u-boot-spl-dtb.bin
> -rw-r--r-- 1 root root 37571
> 
> normal build have
> $ ls -l spl/u-boot-spl-dtb.bin
> -rw-r--r-- 1 root root 37563

In order to find the issue, I’d recommend to look at both the ELF file
and the binary for your TPL stage. Disassembling the binary will show
whether the extra branch is indeed added as the first instruction and
if the second instruction is a branch to the reset entry-point. 

Regards,
Philipp.


More information about the U-Boot mailing list