Pin sharing in XMC1100 (SWDCLK and UART)

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

cross mob
Not applicable
I'm working with XMC1100-T016X0016. Due to limited amount of pins, I'm having to use P0.15 as both SWDCLK_0 and UART_TXD. After flashing the code, I would want that pin to start working as a TXD pin for UART. Is there an Application Note somewhere that describes how to accomplish this
2 Replies
10 sign-ins 5 sign-ins First like received

You can change the BMI to User productive Mode.
For that you can use the BMI Tool in DAVE4 or XMC Flasher.

But, be aware, once you enable this mode you will not be able to debug again if you did not prepare for changing back.
I mean, you will need to use a command received from the UART interface to change the BMI back to "User mode with debug enabled".

Level 1
Level 1
Not trying to highjack, but I too have a need for sharing the SWD1 pins with a UART on P1.3/P1.2

I've spent long hours checking all DataSheets, TRM, AppNotes, etc. and can find no information on the configuration registers used by the boot ROM to setup the SWD port/pins.

There is some obscure 'reference' in the XMC1100 TRM in Sec 19.2.2 about the BMI fields for DAPIS and DAPTYP referring to what looks like a register typedef: SCU_DAPCON

Based on that reference and words like "configure the debug interface" in the description of the software flow in the SSW I believe there is some undocumented (or I can't find) register in the SCU space to configure the DAP.

Has anyone found out more on this? Similar to MAVULA I need to run my application in BMI = FAC3 mode but, based on a special circumstance I would like my code to disable SWD1, use the UART, and the enable SWD1 again.

I'm talking of disabling during execution, not changing BMI and rebooting or anything like that. I can do BMI switches etc., I'd just like to be able to reconfigure the DAP in my code as needed to free up the UART for a short period.

Thanx for any help,