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

Marius Groeger mgroeger at sysgo.com
Wed Jul 7 10:19:36 CEST 2004


On Wed, 7 Jul 2004, Wolfgang Denk wrote:

> In message <Pine.LNX.4.56.0407070943450.1753 at mag.sysgo.com> you wrote:
> >
> > > This is one of the areas where the old ARMBoot  code  hits  us  hard.
> > > They never implemented the relocation correctly.
> >
> > Interrupts worked fine in ARMboot. Maybe you broke CONFIG_USE_IRQ when
> > you ripped the code.
>
> Maybe, but I don't think so. At least I see no  code  in  ARMBoot  to
> relocate the exception vectors.

Because they can't be. The vectors always sit at address 0000'0000,
and thus in the flash. You can only change that by turning on the MMU.
So the relocated entry points are loaded to the pc via ldr, the only
exception being the RESET vector, obviosly. In other words, interrupts
in ARMboot can only be used _after_ relocation.

> Do interrupts continue to work when you  are  running  from  RAM  and
> erase the flash?

For the reasons given above, this cannot work if the flash to be
programmed sits at 0000'0000.

Regards,
Marius

-- 
Marius Groeger <mgroeger at sysgo.com>           Project Manager
SYSGO AG                      Embedded and Real-Time Software
Voice: +49 6136 9948 0                  FAX: +49 6136 9948 10
www.sysgo.com | www.elinos.com | www.osek.de | www.imerva.com





More information about the U-Boot mailing list