I'm trying to understand the mechanism of remapping on AT91SAM7 chips and
it's concerned the ARM assembly language. Basically what I wish to perceive
is the way C-startup is implemented. As far as I understand, it strongly
depends on a board involved and purpose of the firmware.
But there are some common parts of startup code as well, for example the
vector table: some examples I explored use "B .." instructions, while others
do various variations of "LDR pc ...". To my understanding, the first one
is doing PC-relative jump, and "LDR pc, ..." populate PC with an absolute
So when is is preferable to use the first method (via 'B' instructions) and
whe the second one with absolute addresses? Are there any rules or common
practises for that?
Best regards, Roman Mashak