erase and program xmc1100 using SWD protocol when boot mode is ASC_BSL

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
mrnoone
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

Hello. This is my first question here. I am using xmc1100 for the first time. I want to erase and download program to xmc1100 using SWD protocol. But I read in relevant manuals that default and after-factory setting for boot mode is ASC_BSL.  And to use SWD, we should change BMI or boot mode index to  User mode with debug enabled (UMD). My question is that can I erase and download program to xmc1100 without changing BMI? Some previously designed xmc1100 boards are being used by customers and there is not any access to UART port for reprogramming through ASC_BSL mode and there is just a connector for access through SWD? 

Many thanks for your time. 

0 Likes
1 Solution
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

ASC BSL in XMC1100 is selected by a single BMI value but it allows to download user code/data via several variants of pins, modes and USIC0 channels:
• Channel 0
   – full duplex mode with RxD at P0.14 and TxD at P0.15
   – half duplex mode with RxD/TxD at P0.14
• Channel 1
   – full duplex mode with RxD at P1.3 and TxD at P1.2
  – half duplex mode with RxD/TxD at P1.3
Note: The above set of pins also accommodate all the assignments for SWD/SPD(debug) interfaces.

So you will have to change the BMI using the UART interface an then use SWD interface.

Best Regards,
Vasanth

View solution in original post

0 Likes
3 Replies
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

ASC BSL in XMC1100 is selected by a single BMI value but it allows to download user code/data via several variants of pins, modes and USIC0 channels:
• Channel 0
   – full duplex mode with RxD at P0.14 and TxD at P0.15
   – half duplex mode with RxD/TxD at P0.14
• Channel 1
   – full duplex mode with RxD at P1.3 and TxD at P1.2
  – half duplex mode with RxD/TxD at P1.3
Note: The above set of pins also accommodate all the assignments for SWD/SPD(debug) interfaces.

So you will have to change the BMI using the UART interface an then use SWD interface.

Best Regards,
Vasanth

0 Likes

Many thanks @Vasanth for the answer. As I understand from your answer, using j-link, xmc-link and other programmers supporting SWD,  will not  also work if related BMI bit for SWD is not changed? Is it correct? Thanks again.

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

Yes. If debug system must be enabled - start-up mode with debug support is selected in Boot
Mode Index. The device startup software takes care of this. So the BMI register value should be set in such a way that debug interface is enabled. The BMI register has bits corresponding to which of the pins to be used as SWD/SPD interface. This also needs to be set according to your previous hardware design.

Vasanth_0-1657002135881.png

 

Best Regards,
Vasanth

0 Likes