I previously write this post on how to use a BeagleBoneBlack as a JTAG (SWD) programmer. It was fun but really slow. I port my code on RaspberryPI and now what was taken 5-8 hours is a couple of minutes.
To connect the SWD connector to the PI use the following schema
I use this peace of code to reflash my TD1204 and TD1208 based both on EFM32 when bricked after unsuccessful update…
Here is the python file to interact with SWD : https://github.com/disk91/PySWD/blob/master/RpiGPIO.py
I hop it will be soon integrated in the main PySWD project as the previous one.
You should check or modify flashEFM32.py file
import array from PirateSWD import * from RpiGPIO import * from SWDCommon import * [...] def main(): busPirate = RpiSWD("", vreg = True) debugPort = DebugPort(busPirate) efm32 = EFM32(debugPort)
To run the Flash program, just launch
# ./flashEFM32.py ../myProgram.bin