Navigation
External Links
Donate
Show your appreciation for OpenBLT
and support future development by
donating.
External Links
Donate
Show your appreciation for OpenBLT
and support future development by
donating.
This is an old revision of the document!
The bootloader itself occupies the location where normally the user program's vector table is located. The vector table in the user program therefore needs to be relocated. The bootloader implementation is such that the user program's vector table must be located at address 0x00002000 instead of the standard 0x00000000.
The vector table relocation can be achieved by changing the ROM start address in the linker descriptor file. Refer to the demo program for an example.
When the bootloader detects a valid user program, it copies the user program's vector table from 0x00002000 in internal flash to 0x40000000 in RAM and configures the ARM7 CPU to make use of this RAM vector table.
For the user program this means that the first 64 in RAM cannot be used. This area can be reserved in the linker descriptor file. Refer to the demo program for an example.