[U-Boot] [PATCH] at91rm9200: fix lowlevel_init() SMRDATA size
Albert ARIBAUD
albert.aribaud at free.fr
Sat Dec 4 19:18:21 CET 2010
Hi Andreas,
Le 04/12/2010 14:14, Andreas Bießmann a écrit :
>>> 1. In start.s the vector table is relocated from _start to 0x00. But at this time 0x00 is remaped to nor flash.
>>
>> Hmm... This copy (not a relocation) should be done after cpu_init_crit /
>> lowlevel_init, which should have at least configured some RAM; but you
>> are right that mapping to 0 is somewhat arbitrary, since the reset
>> vectors could be some other places (0xffff0000, for instance).
>
> I think this is historic. I remind of the same sequence in an old atmel provided pre-loader code.
> I think we can omit this and let the linker do the location of vector table, are we? Will have a look for that tomorrow evening.
Just a note: the linker will place the reset vector and some others at
the location where reset actually occurs (hopefully), but the system,
once started, may well redefine the *exception* vectors, for instance to
get interrupts working (some boards use IRQs). On targets that boot from
NOR, the system cannot overwrite the exception vectors at the link-time
NOR location: it must move the vectors location to RAM. So no, the
linker cannot always do the location of the vector table.
> regards
>
> Andreas Bießmann
Amicalement,
--
Albert.
More information about the U-Boot
mailing list