My task is to update a targets (LPC1343) firmware using IAP. The only data connection available is a unidirectional (master -> target) serial line operating at 115,200 bit/sec. The application on the target contains a 'UART_IRQHandler()'. Its vector address is located in Flash as normal.
A - still to be written - IAP bootloader has to use the same uart and the same unidirectional data connection. But it cannot use the same 'UART_IRQHandler()' as addresses from 0x00000000 on should be overwritten by the IAP firmware update. So think of creating a seperate bootloader application and place it into sram. The application in flash should receive a special command from master, should jump to the bootloader in sram, bootloader should receive all bin packets of the firmware to ram and overwrite the application flash from 0x00000000 and at least jump to address 0x00000004 to get the new firmware running.
Some questions: Is this a good strategy? How to get the irq handlers of the bootloader activated instead of the application irq handlers?
Best regards, Juergen.