This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0G3507-Q1: Title: LP-MSPM0G3507: bsl_can_flash_interface example, every erase mode (soft) bricks the chip

Part Number: MSPM0G3507-Q1
Other Parts Discussed in Thread: LP-MSPM0G3507, SYSCONFIG, MSPM0G3507, UNIFLASH

Hardware: LP-MSPM0G3507 LaunchPad (MSPM0G3507Q1)
SDK: 2.10.00.04, SysConfig 1.26.2, TI Arm Clang 4.00.02.00
CCS: 2020 (Theia), XDS110 firmware 3.0.0.41
Example: examples/nortos/LP_MSPM0G3507/bsl/bsl_can_flash_interface
(vanilla import, no source modifications)

Goal: install the CAN BSL flash plug-in so ROM BSL invokes
BSL_PI_MCAN_* hooks on BSL entry. End goal is OTA over CAN.

Behaviour observed per CCS Flash Settings Erase method:

(1) Erase method = "Erase MAIN memory only" (default)
Load aborts immediately with:

```
File Loader: Memory write failed: Flash Programmer: Error,
Attempting NONMAIN write without erasing!
GEL: File: ...bsl_can_flash_interface_vanilla.out: Load failed.
```

Nothing written. Chip unchanged.

(2) Erase method = "Erase MAIN and NONMAIN necessary sectors only"
No errors in build. Debug and flalshing results in this erro rin the 

```
Error connecting to the target: Connection to MSPM0 core failed.
Possible root causes: 1) Debug access within NONMAIN was disabled
or enabled with password. 2) Peripheral mis-configuration (e.g
improper watchdog or clock). To see a more detailed diagnostic
of the issue, please press the 'Read boot diagnostic' button.
```

Clicking Read boot diagnostic returns fails by not completing. Restarting CSS, then connecting via ConnectedTargets.ccxml gives me this:

```
CS_DAP_0: Device diagnostic read = 0x0004110A
```

No "Possible root causes" text accompanies this value — unclear if
it's an error state or a non-error informational code.

Memory inspection in this state shows:
0x00001000: valid Thumb-2 plug-in code (MAIN was written)
0x41C00000: 01 00 00 00 bb aa bb aa bb aa bb aa ff ff ff ff
(byte-identical to factory NONMAIN — NONMAIN was NOT
written, so BSL hooks not registered)

Recovery: MSPM0_Mailbox_FactoryReset_Auto succeeds. Flashing a
known-good empty project then loads cleanly. Device is functional
again.

(3) Erase method = "Erase MAIN and NONMAIN memory" (full erase)
Observed on a different LP-MSPM0G3507 in earlier attempts: after
Load, chip bricks. Read boot diagnostic returns 0x00000036
("Invalid CRC/BCR/BSL configuration"). Recoverable via
MSPM0_Mailbox_FactoryReset_Manual, but repeated cycles of
brick → factory reset → re-flash eventually pushed that LaunchPad
into a deeper state where DSSM Factory Reset hangs at SEC_AP
Reconnect across CCS GEL, UniFlash GUI, and dslite. That chip is
now non-recoverable by any documented path.
  • Hey Nils,

    Very sorry for this thread to fall through the cracks. Were you able to get something working/  

    I imported this example and I'm also seeing some weird errors.  There are a bunch of warnings in the project while building about the Sysconfig file being a format that may not be getting ported to the latest tools correctly.  

    I've reached out to the software team to review this BSL example and to update the sysconfig to the latest format so all future versions can correctly interrupt the file.  

    Thanks,

    JD