SPRADN2 January 2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3519 , MSPM0L1227 , MSPM0L1228 , MSPM0L2227 , MSPM0L2228
The dual bank memory can be configured and used as a single large NVM block with continuous addressing (with few exceptions, not covered in this document). There are significant advantages when the NVM is configured to serve as two parallel blocks, the most important is the possibility to write on one bank without interrupting reading (and fetching instructions) from the other bank. This is the most important prerequisite to perform the updates without breaking the execution of the code from the program NVM.
When designing an application that uses a dual bank device, there are several choices to make on how to utilize the second half of the program memory.
Also referred to as live field upgrade, this is a process that allows the user to modify the code and configuration without disturbing the normal operation of the device. There are more advantages compared to the simple boot loader design:
Table 4-1 compares the differences between single bank and multi bank devices related to flash operations (Erase and Program).
| On Same Bank | On Different Bank | |
|---|---|---|
| Flash Operation (Erase and Program) | Flash operation command executed in SRAM. | When operates on the same bank of application code. Same as Single Bank device. |
| When operates on the different bank of application code. Flash operation command executed in flash. | ||
| Interrupts during flash operation (Erase and Program) | TI recommends to disable interrupts or move important interrupt routine into SRAM before flash operation. Since an ongoing program or erase operation stalls all read requests to the flash memory until the operation has completed and the flash controller has released control of the bank. | When operates on the same bank of application code. Same as Single Bank device. |
| When operates on the different bank of application code. Interrupts are responded to on time. |