Ok. It seems I (or more precise a college) have a possible solution.

>From the assembly one can see that r8 is used with a total ridiculus
value - and on ARM r8 is used to point to gd - tada.

I will test that and report back.

Regards
Simon

2011/6/14 Simon Schwarz <simonschwarz...@googlemail.com>:
> Hi again,
>
> seems that there is a problem with gd - at least your test breaks...
>
> I added unsigned long temp at the end of gd.
>
> And added
> unsigned long a=0;
> a=gd->temp;
> gd->temp = 4;
>
> to calc_divisor
>
> Here is a part of the debugging session:
> Breakpoint 1, calc_divisor (port=<optimized out>) at serial.c:171
> 171             a = gd->temp;
> (gdb) p/x a
> $1 = 0x0
> (gdb) s
> ^C
> Program received signal SIGINT, Interrupt.
> 0x00014010 in ?? ()
>
> had to use Strg+C to get back a gdb prompt.
>
> But if do: p *gd
> The output seems to be ok (for this stage of the SPL):
> $3 = {bd = 0x40203df0, flags = 1, baudrate = 115200, have_console = 0,
> env_addr = 0, env_valid = 0, fb_base = 0, timer_rate_hz = 0, tbl = 0,
> tbu = 0, timer_reset_value = 0, lastinc = 0, relocaddr = 0, ram_size =
> 0, mon_len = 0, irq_sp = 0, start_addr_sp = 0, reloc_off = 0, tlb_addr
> = 0, jt = 0x0, env_buf = '\000' <repeats 31 times>, temp = 0}
>
> Ideas? A Problem with the linker script maybe?
>
> Regards
> Simon
>
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to