SLAU887 February 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346
Important points to keep in mind, while developing Flash Plug-in.
While developing Flash Plug-in, following aspects have to be taken care.
Main Flash memory region, where Flash plug-in is loaded should be static write protected
All the Global variables should be initialized by the 'Init' function
Function prototypes for the 4 plug-in APIs should be as specified in the BSL userguide.
SRAM memory usage
VTOR - Start of SRAM (0x20000000). If interrupts are used, VTOR should be placed at the start of the SRAM, as the ROM BSL uses that address space
Stack start address - End of SRAM memory available in the device
Stack size - Should not exceed the ROM BSL stack size
Data section (.data, .bss) - 'BSL Buffer Start address' returned by the Get Device Info command, when no Flash plug-in is registered in the device, should be the start address of the Data section.
Data section size - Size consumed by the Data section (.data, .bss) should be configured in the BSL Non-main configuration memory.