
No -- that is not what I did - I did not start u-boot from RAM what I meant to say is that in the debugger the base address
r3 = 0x03fcf000 = not used r7 = 0x03fcf100 = _start r8 = 0x03fd1090 = _end_of_vectors r9 = 0x3100 = - this is incorrect
what I should have said is I need to place a number in CONFIG_MONITOR_LEN that makes the calculation for the address of _start in relocate_code to be something like 0x3fc0000 - right now I have it set to (196 * 1024) which is used to calculate _start - that is what I need to change.
Jerry Walden
-----Original Message----- From: wd@denx.de [mailto:wd@denx.de] Sent: Wednesday, April 16, 2003 4:47 PM To: jwalden@digitalatlantic.com Cc: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] IVT on 405GP
In message EGEGIJHKDKJGAJMGIDPNOEPICKAA.jwalden@digitalatlantic.com you wrote:
Thanks for the response. I think my problem may be the base uboot address. The address is 0x3fcf000. The mask is 3fff. If my uboot started on a nice 16
bit
address then the result would be 0(3fc0000 & 3fff) but I was getting 0xf000(3fcf000 & 3fff). So I think that the fix is to move uboot down to 0x3fc0000 or 0x3fc8000.
I have warned often enough NOT to try to start U-Boot from RAM unless you know _EXACTLY_ what you are doing.
You tried, and you failed. You kind of got what you deserved ;-)
Put U-Boot in flash, and start it from the reset entry point like it was designed for, and everything will be fine.
Actually I have to admit that I don't remember why the target address was computed using "& 3fff" instead of a hard-wired 0x100. I don't even remember where I got this code fragment from.
A similar assumption is buried in the code relocation stuff - see llandre's problem when setting CFG_MONITOR_BASE to a value that was not a multiple of 16 k.
We probably should get rid of this ASAP.
Wolfgang Denk
-- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de How does a project get to be a year late? ... One day at a time.