[U-Boot-Users] U-Boot hang
Wolfgang Denk
wd at denx.de
Wed Nov 12 16:10:28 CET 2003
In message <Pine.CYG.4.55.0311121218030.828 at sniper.ultra.si> you wrote:
>
> > > 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).
0xA1FFFFFF - 0xa1fe0000 = 128 kB.
> Stack size: #define CONFIG_STACKSIZE (120<<10) /* stack size */
How do you manage to squeeze 120k of stack AND the U-Boot image in a
total of 128 kB?
> > 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.
When U-Boot is running from RAM it expects a normal C environment
including a unlimited stack (well, in theory at least).
> 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 ?
Right.
> I will investigate the stack setup and will get back on that.
Try what happens when setting TEXT_BASE = 0xA1F00000 ...
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
"And it should be the law: If you use the word `paradigm' without
knowing what the dictionary says it means, you go to jail. No
exceptions." - David Jones @ Megatest Corporation
More information about the U-Boot
mailing list