Electrical – Using the XMC4700 relax kit to program any XMC microcontroller

armmicrocontrollerprogramming

Is it possible to use the Cortex 10 pin connector on the XMC4700 relax kit board to program other XMC microcontrollers? The solutions that Infineon offers in their website don't look very appealing, as they either use 3rd party hardware and software, or their own solutions (XMC Link and the miniWiggler V3) are way too expensive, compared to the already on-board hardware in the relax kit.

If possible, I'd like to program any off-the-shelf XMC micro using the onboard debugger/flashing tool from the XMC4700 relax kit just as easily as programming the relax kit board (i.e. pressing the Debug button in DAVE 4).

Even if doing this is not officially supported by Infineon, is there any way to do it? Or do the XMCs in the relax kit boards come with some kind of boot loader or pre-programmed "fuse bits" (like in the 8-bit AVRs from Atmel) that makes it impossible to just connect the debugger to a brand new XMC microcontroller and use DAVE 4 to program it?

I'm sorry if this information is readily available and I'm just being dumb, but the whole ARM microcontroller stuff is very new to me and I'm struggling to learn how to use them.

UPDATE

I used Infineon's technical assistance center, asked about it and got this answer:

The use of the J-Link On Board processor is limited to evaluation purpose of the target processor. It is not possible to use it for programming other microcontroller except the one on board.

See Licensing information on Segger's homepage: https://www.segger.com/jlink-ob.html

Licensing
J-Link OB is provided as part of an evaluation board. It is not sold separately. It may only be used to debug the device on the evaluation board it came with.
Support is given via the eval board manufacturer and via SEGGER forum. J-Link OB may not be used for production purposes.

Now, I'm not satisfied with this answer, I don't really care if it is not supposed to be used for production purposes, I just need a way to validate that I can use XMCs for a certain product before making any serious investements in expensive programming tools, so the question is still the same.

Best Answer

I've used the XMC4500 relax kit detachable programmer and debugger to program a XMC4700-F144F2048, therefore the 10 pin connector should also work as it basically has the same pins with a few extras for debugging reasons.

This was done by hooking up the TMS, TCK, #RESET, 2.1, VDD3.3 and GND pins in the 8pin debug connector shown in the board manual of the XMC4500 relax kit to the corresponding pins in the XMC4700. Pins 0.0 and 0.1 are not necessary for programming or step-by-step debugging.

While the other pins have matching names, P2.1 might cause some confusion. In both the XMC4500 and 4070/4080 reference manuals, it says that pin P2.1 is set to the TDO function after a hardware reset, which is one of the signals of the JTAG-DP interface used to program the XMCs.

To program the XMC I just used an external 12Mhz crystal oscillator with the appropriate capacitor values (obtained from the oscillator's datasheet) and a damping resistor with a value close to the one shown in the relax kit board manual. While I've connected all VDDP pins together, that is not necessary for prototyping since they are internally connected, it will work as long as the 3.3V from the programmer reach one of these pins. I've only connected the VSSO and VSS pins to ground, no other pins are required. Also, I've obviously connected the reset resistor to 3.3V and all programmer pins to their respective ones in the XMC.

Related Topic