Hello, 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 address. 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? Thanks. Best regards, Roman Mashak
AT91SAM7: C-startup
Started by ●June 23, 2008