[U-Boot-Users] U-Boot hang
Leon KUKOVEC
leon.kukovec at ultra.si
Wed Nov 12 12:27:14 CET 2003
Hi Wolfgang,
On Wed, 12 Nov 2003, Wolfgang Denk wrote:
> 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?
I'm downloading U-boot to 0x00000000 (FLASH), but it's relocating to
0xa1fe0000 (TEXT_ADDRESS).
Stack size: #define CONFIG_STACKSIZE (120<<10) /* 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.
[ - snip - ]
> Answer this question yourself: is a C function supposed to have a
> valid stack pointer or not?
yes Sir, but I might not know everything that could be used/is a valid hack.
> > 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.
I've also noticed that after running "help help" command, the run_command
is executed and has a valid cmd ptr. But when the function processes the
input parameters (calling processes_macros and then parse_line) the cmd ptr
points to 0x0. This indicates that the stack is being corrupted, am I right ?
I will investigate the stack setup and will get back on that.
--
Best Regards,
Leon.
More information about the U-Boot
mailing list