Background. I'm learning how to make a bootloader / minimal operating system on an i.MX6 Sabre board.
- The (older) book I'm using pastes a new vector table onto 0x00000000 however, this doesn't work on the iMX6 and probably any ARMv7 board.
- What appears to work is the iMX6Platform_SDK which uses a linker script in apps/common/basic_sdk_app.ld.S to put the vector table at the end of OCRAM (at 0x0093FFB8).
I have 3 questions I'm hoping someone with more experience can comment on:
1. Is this address 0x0093FFB8 hardwired for my board?
2. Is it possible to look it up at runtime (instead of specifying it at link time?)
3. I found it by digging around in the linker script. Is there a more normal way to find this kind of value? Is there a specification or datasheet I should be referring to?