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
A sample flash plug-in that uses UART communication, is given as part of SDK examples SDK for reference. This section gives more details on that.
Description
UART interface flash plug-in handles the data transaction between the BSL host and the ROM BSL through the following 4 API Hooks.
The UART flash plug-in is primarily used to override the ROM BSL UART interface with custom implementation when there is a need.
Example Usage
Software File Details
File Name | Details |
---|---|
bsl_uart.c | Handles the communication between the host and the BSL core. Defines the four interface APIs Init, Receive, Send and Deinit. |
bsl_uart.h | Contains definitions of BSL acknowledgment and function declarations of bsl_uart.c |
ti_msp_dl_config.h | Contains device specific configurations like UART pins, clock configurations, and others. |
boot_config.h | Contains BCR and BSL configuration structure |
startup_mspm0x_ticlang | Startup file that contains only the default handler function definition. Unlike a typical startup file does not have interrupt vector table or reset handler, because these features are never used in the flash plug-in and are removed to reduce the memory consumption. |
mspm0x.cmd | Linker command file that specifies memory region where the flash plug-in image resides in the memory and the SRAM region for operation. |
Customization
This example gives a reference implementation for a flash plug-in. It can be customized as needed. The interface flash plug-in APIs are the major places of change.
Steps to be followed: