I have a question about the interrupt vector table for NXP LPCxxxx processors. The manual states that the reserved vector in the table must be filled with a value so that the addition of all vectors give a value of zero. This is checked by the internal bootloader before it starts the application. In the startup files for the processors there is only a nop instruction. In which part of the compiling / linking / download process is this value replaced and how it is done ?
I post this question because I have a problem with an app that is linked to start at address 0x8000 in flash and will be loaded with a self made boot loader.
My boot loader will also check the interrup vector table in the loaded app and only vectors the the app's vector table if it is O.K.
The signature for the reserved vector for NXP LPC devices is handled in the Flash algorithm.
Take a look at the Flash algorithm source code for LPC in MDK installation: Keil\ARM\Flash\LPC_IAP2_512\FlashPrgc: function ProgramPage