I am trying to implement the in-circuit firmware upgrade feature on a MSP430148 based system. The firmware consists of a boot loader and application. boot loader will be able to receive new application firmware over UART and program it into the flash to replace the older application.
I have a few questions related to this:
- Can the boot loader program flash while executing in flash? Or does it have to be copied to RAM first?
- Both of my boot loader and application need to communicate over UART, how do I change the interrupt handler at run time? I am using IAR's tool. Its "interrupt" keyword sets up interrupt vector at compile time.
- In IAR's Embedded Workbench, I will have two projects for boot loader and application. If I use the linker script to place boot loader and application into different location, can I use C-Spy to download them into flash?
- When build the application firmware for field upgrade, what link output format should I choose that's good for download and flash programming?
- When the system goes to production, how do I get a complete flash image so we can program it on MSP430 chips before populate it on the board?
Thanks Weiyang Zhou