XMC1000

From SEGGER - Support Wiki
Jump to: navigation, search

This article describes device specifics of the Infineon XMC1000 microcontroller.

Boot Mode Index (BMI)

The XMC1000 family supports different boot modes. The actual boot mode is configured in the Boot Mode Index (BMI) which is a 2 byte value stored in the flash and holding information about the boot mode (start-up mode) and the debug configuration of the device. Infineon decided to ship the XMC1000 series devices with boot mode ASC Bootstrap Loader mode (ASC_BSL). Unfortunately, the debug interface of the device is disabled in this mode. So when using J-Link or Flasher, the boot mode needs to be changed prior a target connection can be established. As the debug interface is disabled, the change of the boot mode needs to be performed over a half-duplex UART communication on the TMS/SWDIO pin.

So what the J-Link software basically does as part of the XMC1000 connect sequence is to check if the device is in ASCL_BSL mode and if so, performs the switching sequence to SWD0 (P0.14 & P0.15 used for SWD) as this configuration is used by 90% of our customers. However, some customers may want to use a different BMI mode (BMI mode != SWD0) like for example SWD0, SPD0 or SPD1. For those customers, a special connect sequence is required which switches the BMI mode to the desired one instead of SWD0. In this case, please get in contact with SEGGER directly (e.g. via E-Mail / forum).

The table below represents the available boot mode configurations.

Boot Mode overview
BMI Description
ASC Bootstrap Load Mode (ASC_BSL) Factory default half-duplex UART
User Mode (Productive)
User Mode (Debug) SWD0 P0.14 & P0.15 used for SWD
User Mode (Debug) SWD1 P1.3 & P1.2 used for SWD
User Mode (Debug) SPD0 P0.14 used for SPD
User Mode (Debug) SPD1 P1.3 used for SPD
User Mode (HAR) SWD0 P0.14 & P0.15 used for SWD
User Mode (HAR) SWD1 P1.3 & P1.2 used for SWD
User Mode (HAR) SPD0 P0.14 used for SPD
User Mode (HAR) SPD1 P1.3 used for SPD

For further information regarding the BMI, please refer to the technical reference manual of the Infineon XMC1000 series.