[U-Boot] Issue with relocating code to DDR

SHEKHAR SINGH imsinghshekhar at gmail.com
Thu Nov 1 13:44:21 UTC 2018


Hi All,

I am new to U-boot. Currently, I am working on developing U-boot for a new
SOC. The SOC has arm926ej-s as the core and is implemented on Xilinx FPGA
with SD-card as the boot device. With current setup DDR is already
initialized by FPGA and SD card can be accessed using direct addressing. We
have added board files and SoC related files to the Uboot directory and is
able to successfully compile and get some outputs on UART (debug console).
Currently, we have added only support for GPIO and UART drivers.

SD Card : 0x00000000 - 0x007FFFFF
SRAM    : 0x90000000 - 0x90007FFF
DDR       : 0x40000000 - 0x43FFFFFF

We are facing some issue with the uboot booting. We are able to see the
initial uboot prints and debug prints when the stack pointer is in SRAM,
but after we relocate the code from SD card to DDR and change the stack
pointer to DDR we are getting junk prints on the console. Can anyone help
me or suggest me what we are doing wrong here? Thanks in advance for your
help.

Please see the below UART Log:

initcall: 00005cdc
initcall: 00009a84
initcall: 00005ccc
initcall: 00005fbc
initcall: 000060c0
initcall: 00000418
initcall: 00006090
initcall: 00005fb4
malloc_simple: size=18, ptr=18, limit=400: 90000b30
malloc_simple: size=54, ptr=6c, limit=400: 90000b48
malloc_simple: size=4, ptr=70, limit=400: 90000b9c
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'root_driver'
   - not found
initcall: 00006088
initcall: 000010b0
initcall: 000004a8
initcall: 0000f77c
env_init: Environment nowhere init done (ret=0)
initcall: 00005f88
initcall: 0000f0dc
initcall: 000147c0


 U-Boot 2018.09 (Nov 01 2018 - 18:33:40 +0530)

 initcall: 00005eac
 U-Boot code: 00000000 -> 00024604  BSS: -> 00030608
 initcall: 00000438
 CPU: SoC Version 0.01
 CPU clock:        75MHz
 SDRAM clock:      75MHz
 initcall: 00006470
 initcall: 00005f70
 DRAM:  initcall: 000010ec
 SDRAM Reg 000 : ffffffff
 EDAC Reg  004 : ffffffff
 SDRAM Reg 100 : ffffffff
 EDAC Reg  104 : ffffffff
 EMC Reg       : 1ff
 initcall: 00006178
 Monitor len: 00030608
 Ram size: 04000000
 gd->relocaddr : 44000000
 Ram top: 44000000
 initcall: 00005cfc
 initcall: 00006098
 initcall: 00005d14
 initcall: 000060a0
 initcall: 00005e44
 Reserving 193k for U-Boot at: 43fcf000
 initcall: 00005e18
 Reserving 1152k for malloc() at: 43eaf000
 initcall: 00005f1c
 Reserving 80 Bytes for Board Info at: 43eaefb0
 initcall: 000060a8
 initcall: 00005de4
 Reserving 200 Bytes for Global Data at: 43eaeee8
 initcall: 00005d5c
 initcall: 000060b0
 initcall: 000060c8
 initcall: 000061f4
 gd->relocaddr : 43FCF000
 initcall: 00005d1c
 initcall: 000060dc

 RAM Configuration:
 Bank #0: 40000000 64 MiB

 DRAM:  64 MiB
 initcall: 00005d40
 New Stack Pointer is: 43eaeec0
 initcall: 00005ed8
 initcall: 000060b8
 initcall: 00005fd0
 __image_copy_start : 00000000
 __image_copy_end : 00024604
 gd copied successfully to new gd...
 Relocation Offset is: 43fcf000
 Relocating to Addr 43fcf000, new gd at 43eaeee8, sp at 43eaeec0
 Current Stack Pointer 90000a60
 rrrr
ccccooooeeee4444eeeettttllll44445555ttttllll44445555ttttllll00006666eeeeaaaa
44445555))))ENABLE CACHESWARNING: Caches not enabled
 ttttllll00006666eeeeaaaa    44445555))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa    44445555))))----ooooaaaaccccuuuu
7777tttt((((BBBBnnnneeeeyyyy4444ffff----4444ffffffffmmmmoooo
44449999----44449999



 ttttllll00005555eeeeaaaa    44444444))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa
44445555))))aaaaffff____iiiibbbbeeee0000



 aaaaffff____iiiibbbbeeee0000----
''''ttttiiii''''----ttttuuuuttttllll00001111eeeeaaaa
44440000))))IIII::::aaaaiiii



 ttttllll0000aaaaeeeeaaaa    44449999))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa    44445555))))    nnnn
RRRR----BBBB        4444ffffttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa    44445555))))MMC:
ttttllll00006666eeeeaaaa    44445555))))nnnneeeellllnnnnoooonnnniiiimmmm
oooommmmccccNNNNooooccccaaaa
::::ooooddddhhhhoooooooooooonnnniiiiEEEE::::ooooddddhhhhoooooooooooonnnntttt
hhhhbbbb    44442222bbbb====00000000aaaaHHHH    llllNNNN



 eeeebbbb,,,,llll::::eeee    BBBB    mmmmeeeebbbb,,,,dddd::::eeee
BBBB    mmmmEEEE    llll44442222    llll1111    4444ffff        eeeeoooo
uuuueeee    BBBB    mmmm""""EEEE    eeeetttt    4444ffffEEEE
eeeettttllll00006666eeeeaaaa    44445555))))ttttllll0000aaaaeeeeaaaa
44449999))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00008888eeeeaaaa    44447777))))In:    iiii4444ffff



 Out:   iiii4444ffff



 Err:   iiii4444ffff



 tttt    uuuuoooorrrr3333aaaaaaaa        cccctttt
uuuuoooorrrr3333aaaaaaaa        cccctttt    uuuuoooorrrr3333aaaaaaaa
ccccttttllll0000ddddeeeeaaaa    4444ffff))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa
44445555))))ttttllll00006666eeeeaaaa    44445555))))Net:
ttttiiiiiiiiSSSSppppNo ethernet found.
 ttttllll00006666eeeeaaaa    44445555))))tttt
uuuuoooorrrr3333aaaaaaaa        cccc    nnnnoooonnnneeeebbbbddddyyyy



     nnnnoooobbbbcccc""""DDDDNNNN""""Uboot >
 Uboot >
 Uboot >
 Uboot >
 Uboot >
 Uboot >
 Uboot >
 Uboot >



Regards,
Shekhar S


More information about the U-Boot mailing list