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

Marius Groeger mgroeger at sysgo.com
Wed Jul 7 12:28:16 CEST 2004

On Wed, 7 Jul 2004, Friedrich, Lars wrote:

> >> 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.
> I think you fail to understand the problem.
> IF the flash memory is mapped to an area != 0x0 AND
> the SDRAM memory is mapped to 0x0 BUT the _TEXT_BASE does not
> start at 0x0, THEN the exception vectors will not work,
> as there is no proper handling of this case in the current code.
> All other issues you have raised are correct, but fail to recognize
> the situation.

You are right, but I wasn't trying to. :-) I was merely clarifying how
things were done in ARMboot, when things still worked consistently
(granted, for a much smaller set of machines/archs.) In other words,
it is not ARMboot's fault that you're running into problems. I don't
know how U-Boot does it today, and specifically, how your board
configures things.

I agree this is not much help for you and I apologise for the noise.


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