Hello Heiko, On Wed, Aug 11, 2010 at 1:56 AM, Heiko Schocher <h...@denx.de> wrote: > Hello Ben, > > Thanks for trying this patches!
My pleasure! Thank you for doing the hard work. > Ben Gardiner wrote: >> On Fri, Aug 6, 2010 at 12:44 PM, Ben Gardiner >> <bengardi...@nanometrics.ca> wrote: >> I did get an openocd debugger going with uboot on the da850 (see the > > Good! :) >> It looks like execution goes off into the weeds at >> arch/arm/cpu/arm926ejs/start.S:294 >> >> 288 ldr r2, _board_init_r >> 289 sub r2, r2, r0 >> 290 add r2, r2, r7 /* position from board_init_r in RAM >> */ >> 291 /* setup parameters for board_init_r */ >> 292 mov r0, r5 /* gd_t */ >> 293 mov r1, r7 /* dest_addr */ >> 294 /* jump to it ... */ >> 295 mov lr, r2 >> 296 mov pc, lr >> >> board_init_r == 0xc10804e4 , $r0 == 0xc1080000 and $r7 == 0x7fff0000 > > r7 == 0x7fff0000 seems totally wrong to me ... this would result that > relocated board_init_r start @0x7fff04e4 ... thats not in RAM! > >> It turns out that the region I have assigned to CONFIG_SYS_SDRAM_BASE >> (0x80000000) was reading as all 0' so even though get_ram_size was >> returning 128M to dram_init, storing it in gd->ram_size didn't work. >> Ditto for CONFIG_SYS_SDRAM_BASE set to 0xffff0000. I think this means >> that only the DDR is available when UBL hands-off to u-boot. > > Why this values for CONFIG_SYS_SDRAM_BASE? They cannot work! > As I see in the include/configs/da850evm.h file: > > #define PHYS_SDRAM_1 DAVINCI_DDR_EMIF_DATA_BASE /* DDR Start */ > > so, RAM starts @DAVINCI_DDR_EMIF_DATA_BASE (=0xc0000000) > > -> CONFIG_SYS_SDRAM_BASE should/must be @0xc0000000 I was trying to "find another (not dram) area in which we can use for an intial stack" as you suggested in <4c5b9db5.7020...@denx.de>. I think I must have misunderstood what needed to be changed to accomplish this. > (Better would be a non RAM location for initial stack, > but I don;t know if we have some area on this cpu for that) 8...@0xffff0000 is an 'Arm local RAM' region and 1...@0x80000000 is a 'Shared RAM' region. But neither seemed to be read as anything other than 0x0000 when I was debugging. I think there would need to be some magic writes first to enable these regions. > Can you try > > http://git.denx.de/?p=u-boot/u-boot-testing.git;a=shortlog;h=refs/heads/arm-reloc-and-cache-support > > + remove in include/configs/da850evm.h > line 42: #define CONFIG_SKIP_RELOCATE_UBOOT /* to a proper address, > init done */ > > ? > > If it don;t work, can you make a breakpoint in > arch/arm/cpu/arm926ejs/start.S relocate_code and provide a register > dump? And can you find out whats stored in gd->ram_size? Most definitely. I'll get back to you shortly. Best Regards, Ben Gardiner --- Nanometrics Inc. http://www.nanometrics.ca _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot