SBDAP kl3

Überblick

Der SBDAP Adapter (oder kurz: SBDAP) ist eine günstige Alternative zu kommerziellen Debuggern, wie dem LPC-Link2 oder dem J-Link, um die Firmware in ein Selfbus-Gerät zu laden und auch direkt auf dem Gerät zu debuggen.

Das vom KNX-Bus getrennte Gerät kann dabei außerdem mit Strom (3.3V / 200mA max.) versorgt werden.

Vorteilhaft ist dabei das nativ vorhandene SB-Link Interface (modifizierter Cortex Debug Header mit 2,00mm Pin-Abstand). Dieses bietet neben der Debug-Funktion außerdem einen Zugang zur UART des Prozessors im Selfbus-Gerät, was z.B. für Debug-Ausgaben sehr nützlich sein kann.

Optional kann ein standard ARM Cortex Debug Header (1,27mm Pin-Abstand) bestückt werden.

Eine detailliertere Beschreibung des Debuggers befindet sich hier: https://github.com/jelli123/dap42

Die Design-Files befinden sich im Selfbus-GIT.

Der Debugger basiert auf dem DAP42 von Devan Lai.

 

Inbetriebnahme des SBDAP

Der STM32F042 Controller des SBDAP besitzt einen Bootstrap-Modus (DfuSe), den man durch Gedrückthalten der Taste "Boot" während des Ansteckens an den USB-Bus aufruft. Alternativ funktioniert auch die Sequenz "Boot" gedrückt halten --> "Reset" drücken --> "Boot" loslassen.

Ein noch unbespielter STM32F042 geht sofort nach Anlegen der Betriebsspannung in den Bootstrap Modus.

Nun kann vom PC aus die Firmware überspielt werden. Dazu nutzt man die Software dfu-util.
(Am besten die dfu-util v0.9, die v0.10 ist fehlerhaft und spätere Versionen erwarten eine Firmware-Datei mit Signatur (Suffix), damit nur das vorgesehene Gerät programmiert wird. Die aktuellen Release-Dateien sind aber entsprechend signiert.)

Der Aufruf des Programms dfu-util lautet folgendermaßen:


dfu-util -d 1209:da42,0483:df11 -a 0 -s 0x08000000:leave -D SBDAP.bin

 

Die Firmware befindet sich hier: https://github.com/jelli123/dap42/releases

 

Firmware-Update des SBDAP

Die Firmware des SBDAP enthält bereits ein DFU-Gerät (detach only), d.h. zum Programmieren einer neuen Firmware-Version nicht erst der STM32 Bootstrap-Modus aufgerufen werden muss.
Es genügt der Aufruf des dfu-util Programms:


dfu-util -d 1209:da42,0483:df11 -a 0 -s 0x08000000:leave -D SBDAP.bin

 

Treiberinstallation

Der HID Treiber der CMSIS DAP Funktion wird unter Windows automatisch installiert. Damit ist bereits die Nutzung des Debuggers möglich.

Zur Verwendung des Virtuellen COM Ports ist unter Windows dieser Treiber zu installieren. Dafür muss die Treibersignaturprüfung deaktiviert werden.
Alternativ dazu kann das Programm Zadig genutzt werden.

 

Verwendung SBDAP in MCUXpresso

Wichtig ist, diese Zeile in der Datei  [INSTALL_DIR_MCUXpresso]/ide/binaries/Scripts/probetable.csv bzw . [INSTALL_DIR_MCUXpresso]/ide/LinkServer/binaries/Scripts/probetable.csv ab MCUXpresso 11.9 am Ende zu ergänzen:
MCUxpresso Version >= 11.7.x
0x1209, 0xDA42, 64, 1, 0, 0, 0, 0, "", 0x0000, -1, -1

MCUxpresso Version <= 11.6.x
0x1209, 0xDA42, 64, 1, 0, 0, 0, "", 0x0000, -1, -1

 

Vorsicht! 

Der SBDAP trennt das zu debuggende Gerät nicht galvanisch von der USB-Seite des Rechners! Wer vor hat, ein Gerät, das am Bus läuft, zu debuggen, sollte einen USB-Isolator zwischen SB DAP und Rechner verwenden.