[U-Boot] skip relocation
Marcel
korgull at home.nl
Mon Jan 3 19:57:33 CET 2011
On Sunday, January 02, 2011 10:08:59 pm Reinhard Meyer wrote:
> Dear Marcel,
>
> > Dear Reinhard,
> >
> >> Dear Marcel,
> >>
> >>>> Is there any example that boots from NOR ?
> >>
> >> looking at the defines below, you are not really booting u-boot from
> >> NOR...
> >>
> >>> #define CONFIG_SKIP_LOWLEVEL_INIT
> >>
> >> If you do that, you must have an initial boot code before u-boot. See
> >> below...
> >>
> >>> #define CONFIG_SKIP_RELOCATE_UBOOT
> >>
> >> Not used anymore.
> >>
> >>> /* SDRAM */
> >>> #define CONFIG_NR_DRAM_BANKS 1
> >>> #define PHYS_SDRAM 0x70000000
> >>> #define PHYS_SDRAM_SIZE 0x08000000 /* 128 megs */
> >>
> >> Those defines have had their names changed.
> >
> > These I have changed already. I think they are fine.
> >
> >>> #define CONFIG_SYS_GBL_DATA_SIZE 128
> >>
> >> This constant is wrong, use the auto-generated value.
> >
> > OK
> >
> >>> /*
> >>>
> >>> * Size of malloc() pool
> >>> */
> >>>
> >>> #define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
> >>
> >> This constant is wrong, use the auto-generated value.
> >
> > OK
> >
> >> > Forgot to mention a few items :
> >> >
> >> > I flash the NOR at address 0x10020000
> >> > TEXT_BASE is 0x10020000
> >>
> >> That really implies you have another boot program running before u-boot.
> >> Proably AT91 bootstrap? Is it configured to jumo to 0x1002000, or does
> >> it copy u-boot to some SDRAM address and jumps there?
> >
> > Yes I run AT91 bootstrap. Is there a way to skip this ?
>
> Sure, if you put an u-boot *with low level init* at the begin of NOR and
> wire BMS to start from CS0 NOR.
>
> However I am not sure a functional low level init (in u-bbot) exists (yet)
> for your board. Even with NOR it is customary to use at91bootstrap which
> does the hardware including SDRAM init.
>
> If you touch at91bootstrap, configure it such that it either loads u-boot
> to start of SDRAM and jumps there, or directly jumps to the address in NOR
> where u-boot is stored. Make sure CONFIG_SYS_TEXT_BASE is correct!
>
> > That's a good question if at91bootstrap jumps to the right address. How
> > can I tell ? (maybe I find out myself, at least your question got me
> > thinking ! ) Let's say it does copy u-boot to SDRAM, do I need to set
> > that address as TEXT_BASE ?
>
> Exactly. CONFIG_SYS_TEXT_BASE must be the address where u-boot is running
> before relocation. If that address is different, relocation will fail.
>
> > I tried setting TEXT_BASE to 0x10020000 or 0x73f00000
> > If I use another address, AT91bootstrap doesn't do anything, but at both
> > of these addresses it behaves the same.
>
> You should have the source of your at91 bootstrap. Without source its near
> impossible to tell how it is configured.
>
> >> Have a look at the current implementation for top9000 in
> >> u-boot-arm/master and compare your files to it. Any differences to your
> >> code that are not board and/or SoC specific probably have to be fixed
> >> in your board code or you should be able to reason why it must be
> >> different for your board.
> >
I did find a couple of addresses in my AT91bootstrap :
******************************************************************* */
/* BootStrap Settings */
/* */
/* ******************************************************************* */
#define IMG_ADDRESS 0x20000 /* Image
Address in NandFlash */
#define IMG_SIZE 0x40000 /* Image
Size in NandFlash */
#define MACH_TYPE 0x86F /* AT91SAM9G45-
EKES */
#define JUMP_ADDR 0x73F00000 /* Final Jump
Address */
I used 0x73f00000 before without success. But I'm very much wondering about
the comment in this file saying " Image address in NAND flash"
Could it be that AT91bootstrap is jumping to 0x20000 and than expects u-boot
to boot from NAND flash instead of SDRAM ?
I tried to set CONFIG_SYS_TEXT_BASE to both 0x73f00000 and 0x00020000. In both
case AT91bootstrap starts u-boot but it hangs at relocation.
I'll first check my board config to see if I find anything strange in there.
Regards,
Marcel
More information about the U-Boot
mailing list