TI MSPM0C

From SEGGER Wiki
Jump to: navigation, search

The TI MSPM0C are Cortex-M0+ based micro controllers.

Internal Flash

The internal flash is divided into 3 different regions:

Region name Range (max) Programmable Supported by J-Link
MAIN 0x0000_0000 - 0x0000_4000 YES.png YES.png
NONMAIN 0x41C0_0000 - 0x41C0_0200 YES.png YES.png[1]
FACTORY 0x41C4_0000 - 0x41C4_0080 NO.png NO.png
  1. See NONMAIN

ECC flash

The flash is ECC protected.

  • When programming code with J-Link, the device flash controller is set to automatically program the correct ECC values.
  • Manual ECC programming is currently not supported by J-Link.

Erased value and Blank Check

  • The erased value of the TI MSPM0x devices is non-deterministic. This means that there is no specific erased value for erased flash.
  • The device's flash controller will automatically blank check when erasing.

Therefore, blank check via J-Link Software is disabled.

NONMAIN

The NONMAIN region is supported by J-Link for programming. However, the NONMAIN holds boot configuration data and therefore must be programmed with extreme care:

  • MSPM0C has only BCR in size of 24 Bytes. All 24 Bytes must be programmed at a time. The Last 32-bit word at address 0x41C00014 must be 0xFFFFFFFF.
  • Changes of the NONMAIN region take effect after the next hard reset / power cycle.
  • The device can be locked (non-)permanently by writing NONMAIN.
  • Erasing this region will lead to disabling debug access, thus locking the device permanently, unless unlocking features are implemented in a firmware.
Note:

To prevent unintentional locking of the device, J-Link has special handling when programming the NONMAIN region:

  • Erase will be done implicitly when programming NONMAIN.

Device Specific Handling

Connect

Some device specific debug bits are set which prevents the device to enter sleep mode / allows debugging of applications which make use of low power modes.

Watchdog

The MSPM0G devices have two windowed watchdogs implemented (WWDG). Apparently, the watchdog counter cannot be read directly. For this reason flash programming is only supported for devices where the watchdogs are not running in window mode.
Supported watchdog settings:

  • Disabled
  • Enabled (non-window mode)

Reset

A device specific reset is performed for this device. This is because the peripherals are not reset when executing the Cortex-M default reset. A SYSRST is executed via the device specific SYSCTL register instead.

Evaluation Boards

Example Application