[U-Boot-Users] U-Boot hang
Wolfgang Denk
wd at denx.de
Wed Nov 12 12:15:42 CET 2003
In message <Pine.CYG.4.55.0311121116060.828 at sniper.ultra.si> you wrote:
>
> > There is no real limit on the size of the image's segments, but due
> > to the broken memory layout of the ARM you have to be careful where
> > you place your image in RAM, and for other memory mapping details
> > like stack size.
>
> memory map for this board:
...
> 0xA000 0000 - 0xA1FF FFFF (32 MiB) SD-RAM
> - 0xA3FF FFFF (64 MiB)
And where did you place the U-Boot image? What's the stack size?
> That tells me it's in _undefined_instruction, if I'm not mistaken. But
> 0xa1fe003c is making me confused since it's _fiq. Does that mean that
> the interrupt has been raised ?
Another explanation is that you're attempting to run bogus code as a
result of stack corruption.
I set a breakpoint at run_command, restarted and U-boot stopped correctly.
> $sp was 0x0 and info frame showed that local variables were located at
> 0xa1fbdf2c. The question here is: is $sp supposed to point to some location or
> is it OK if it's 0x0 ?
Answer this question yourself: is a C function supposed to have a
valid stack pointer or not?
> I'm used to debug regular programs and if I enter a function, backtrace
> will always show all the stack frames. Am I missing something here or
> is that saying that the stack is corrupt ?
2 x yes.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
Q: How many IBM CPU's does it take to execute a job?
A: Four; three to hold it down, and one to rip its head off.
More information about the U-Boot
mailing list