Infineon XMC
In this topic:
•Infineon XMC400: Trace port settings
XMC devices implement special functionality for stopping the CPU at reset vector after reset when debugger is connected. This is handled by BlueBox tools when Regular Reset method is selected in Hardware menu / CPU Options / Reset page / Reset pin / Reset method.
The SPD protocol based tool interface access allows to debug the system using a single pin only. The bit frequency is 2 MHz and allows an effective SWD telegram of 1.4 Mbits/s. The protocol is very robust against clock deviations between tool and device. The SPD protocol encodes the SWD protocol bits with the distance between the SPD signal edges. A SWD value of ‘0’ is encoded with a short distance of 0.5 μs, a value of ‘1’ with a distance of 1 μs. This encoding is used in both transfer directions.
The Boot Mode of XMC1000 depends on the Boot Mode Index (BMI) value located at memory address 0x10000E00. To be able to debug device BMI must be in either Debug or HAR boot mode. winIDEA supports SPD protocol only on iONE, iTAG and iBRIDGE hardware.
![]() Select SPD debug protocol1. Click Hardware menu / Hardware / Hardware Type page. 2. In the drop-down menu select iONE. |
![]() Debug protocol selection1. Click Hardware menu / CPU Options / SoC page. 2. In the drop-down menu select SPD. |
XMC1000 device must be in either SPD or SWD mode before winIDEA can successfully establish connection. |
Always leave CORERESET exception unchecked in Hardware / CPU Options / CORE0 page.
System reset fails on XMC1000 family devices, when the debugger uses reset vector catch mechanism to stop the CPU after the CPU reset release.
![]() |
Trace port settings are only applicable on devices which support parallel trace. GPIO port selection for Infineon XMC4000 trace initialization is configured as script arguments in the CPU Options dialog. Script is distributed with winIDEA. If older workspaces are in use, ports have to be configured again.
1. Follow Custom Configuration procedure.
2. Add the script XMC4xxx_TraceInit.cpp.
3. Specify which port to use for parallel trace.
![]() |
Trace port |
Options |
Default setting |
---|---|---|
eTRACECLK |
PORT2, PORT6, PORT7 |
PORT6 |
eTRACED0 |
PORT2, PORT3, PORT6, PORT8 |
PORT6 |
eTRACED1 |
PORT2, PORT4, PORT6, PORT8 |
PORT6 |
eTRACED2 |
PORT2, PORT4, PORT6, PORT8 |
PORT2 |
eTRACED3 |
PORT1, PORT2, PORT6, PORT8 |
PORT6 |