SLAA600E June 2013 – January 2024
The minimum size for a flash erase is a segment, which is 512 bytes in MSP430 MCUs. Given this consideration, the whole interrupt table is protected from erases. To allow interrupts on an application level, a software vector redirection method is implemented to fix the contents of the default vector table and point to a proxy table that resides in application space.
Figure 2-5 shows the concept behind this implementation:
This process is almost transparent for the implementation of an application, but it is important to note that there is added latency due to the additional jump from the proxy table to the application ISR.
Application examples that show how to implement interrupts are included in the sample code to demonstrate this functionality.
Note that some MSP430 MCUs support redirecting vectors to RAM in hardware (SYSRIVECT), which could be a good alternative for devices with sufficient RAM.