
Hi,
Thanks first. In my first email, "_led is 0xfffaca58" should be "_end is 0xfffaca58", It's my mistake. I can't understand that why reloc_off can be < 0, but after reading Masao's mail, I got it. Thanks,
yuwp
From: Wolfgang Denk wd@denx.de To: "wyu hotmail" santerash@hotmail.com CC: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] address question in lib_ppc/board.c Date: Wed, 02 Jun 2004 15:37:10 +0200
In message Sea2-F14V7nOh9KvpvD000014b0@hotmail.com you wrote:
I'm porting my custom PPC405EP board from bubinga405ep board, now I
have a
question about macro CFG_MONITOR_BASE: In include/configs/BUBINGA405EP.h, CFG_MONITOR_BASE was defined as 0xFFF80000, base address of FLASH.
Correct.
in function board_init_f: len = (ulong)&_end - CFG_MONITOR_BASE; Here, _led is 0xfffaca58
What's "_led" here?
But in function board_init_r: gd->reloc_off = dest_addr - CFG_MONITOR_BASE; Here, dest_addr is an address in SDRAM, in my board, dest_addr =
0x1fd3000,
Looks good to me.
that is, dest_addr < CFG_MONITOR_BASE. How to understand this?
Well, we're going to relocate the code to RAM. RAM is mapped at 0x0000, so all RAM addresses will always be smaller then flash addresses.
What exactly is your problem?
Best regards,
Wolfgang Denk
-- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de EMACS belongs in <sys/errno.h>: Editor too big!