[U-Boot-Users] ARM exception vectors -- relocating

Wolfgang Denk wd at denx.de
Tue Jul 6 23:19:48 CEST 2004


In message <20040706102730.B25870 at cucy.com> you wrote:
> 
> I have a question about relocating the exception vectors for the ARM
> platform.  I am working with cpu/arm720t/start.S and want to use
...
> Now the exception vectors are sitting in SRAM @ 0x007d0000 and in
> flash @ 0x0100000 -- if I want to use interrupts, however, the
> exception vectors need to be in SRAM at address 0x0.

This is one of the areas where the old ARMBoot  code  hits  us  hard.
They never implemented the relocation correctly.

> Currently I have added an additional relocation step to start.S that
> explicitly copies the vectors from flash to 0x0 (in SRAM) if TEXT_BASE
> is not equal 0x0 (if TEXT_BASE is equal to 0x0 there is no problem).

Please submit a patch.

> Question: Is start.S the correct place to put this, perhaps bracketed

Yes, it is. See function trap_init() [in cpu/*/start.S]  as  used  in
PowerPC systems. trap_init() should be called from board_init_r().

> with "#ifdef CONFIG_USE_IRQ/#endif"?  It seems like a global problem

No.

> that all arm720t boards that use interrupts would have.  Or is
> memsetup.S a better place for this?

No.

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
Brain fried - Core dumped




More information about the U-Boot mailing list