This is the mail archive of the
mailing list for the eCos project.
Re: eCos + LPC21xx footprint
Jani Monoses <firstname.lastname@example.org> writes:
> >>Which targets need this? I blindly copied it from the AT91 hal.
> >>I disabled it now and the app works using the ldr.
> >>So if I don't define this switch at all there should be not reset
> >>vector differences right? I see that the xscales do not use it either.
> > The branch version is position independent. For ROMRAM startups and
> > platforms where the ROM is relocated using the MMU, the code is linked
> > to the address it will run at after relocation. So it is important it
> > doesn't use any absolute references before the relocation is complete.
> So what advantage does the ldr version have over the branch one? The
> one I can think of is if the reset_vector is more than a branch away
> (32MB I think).
Also, some platforms have a remap mechanism where the bottom of ROM is
mapped at zero during booting. The ldr version then provides a direct
jump to the ROM at its non-remapped location. Obviously this is only
useful for ROM startup configurations.
> And I think that for RAM startups the checksum doesn't matter since
> they're not loaded by the onboard loader at start.
Nick Garnett eCos Kernel Architect
http://www.ecoscentric.com/ The eCos and RedBoot experts