This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: eCos + LPC21xx footprint


Jani Monoses <jani@iv.ro> 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.

Correct.

-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]