Aus Raspberry Pi Geek 06/2016

STM32-Entwicklung mit CubeMX und Eclipse (Seite 2)

Im Folgenden beschreiben wir die nötigen Schritte zum Einrichten einer Entwicklungsumgebung mit Fokus auf Linux. Dazu gehört das Einrichten des STLink-Adapters sowie dessen Konfiguration für Udev. Dazu legen Sie mit administrativen Rechten die Datei /etc/udev/rules.d/99-stlink.rules mit den entsprechenden Udev-Regeln an (Listing 1) und weisen anschließend das System an, diese einzulesen (Listing 2).

Listing 1

 

ATTRSidVendor=="0483", ATTRSidProduct=="3744", MODE="0666"

Listing 2

 

$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

OpenOCD nutzen

Nun stecken Sie den STLink-Adapter an einen USB-Port des Rechners an. Da das Discovery-Board einen STLink-Adapter mit einem Controllermodul vereint, lässt es sich einfach über die USB-Buchse erreichen. Zunächst prüfen Sie, ob das System den Adapter überhaupt erkennt. Unter Linux gelingt das mit den Kommandos lsusb oder dmesg, unter Windows erkennen Sie das Vorhandensein des Adapters im Gerätemanager.

Anschließend kontrollieren Sie die Anbindung unter OpenOCD. Der Open On-Chip Debugger benötigt zur korrekten Ansteuerung ein Konfigurationsskript, das bei systemweiter Installation unter Linux üblicherweise im Verzeichnis /usr/share/openocd/scripts/board liegt. Für das Discovery-Board findet sich hier das Skript stm32vldiscovery.cfg. Zum Test des Discovery-Boards verwenden Sie dann zum Beispiel die Kommandos aus Listing 3.

Listing 3

 

$ cd /usr/share/openocd/scripts/board
$ openocd -f stm32vldiscovery.cfg

Für die STM-Module STM32F103C8T6 beziehungsweise STM32F030F4P6 müssen Sie entsprechende Konfigurationsdateien anlegen (Listing 4 und**5). Im einfachsten Fall legen Sie diese im vom System angelegten board-Verzeichnis ab. Fehlen Ihnen dazu die administrativen Rechte, müssen Sie beim Aufruf von OpenOCD mit der Option -f den vollständigen Pfad zur jeweiligen Datei angeben.

Listing 4

 

source [find interface/stlink-v2.cfg]
transport select hla_swd
set WORKAREASIZE 0x2000
source [find target/stm32f1x.cfg]
reset_config none

Listing 5

 

source [find interface/stlink-v2.cfg]
set WORKAREASIZE 0x1000
source [find target/stm32f0x_stlink.cfg]
reset_config none

Abschließend verbinden Sie noch die Anschlüsse GND, +3.3**V, SWDIO (Daten) und SWCLK mit den gleichnamigen Pins am STM32F103C8T6-Modul (Abbildung 1).

Abbildung 1: Anschluss des STM32F103C8T6-Moduls an den Programmieradapter.

Abbildung 1: Anschluss des STM32F103C8T6-Moduls an den Programmieradapter.

CubeMX einrichten

Die Installation von CubeMX gestaltet sich unter Linux sehr einfach. Auf der Projektseite [4] erhalten Sie nach einer Registrierung unter GET SOFTWARE ein ZIP-Archiv, das Sie entpacken. Anschließend rufen Sie den Installationsassistenten SetupSTM32CubeMX-Version.linux auf.

Da CubeMX nur Projekte für kommerzielle Entwicklungsumgebungen erstellt, benötigen Sie noch einen Konverter für Eclipse. Der findet sich im Github von Baoshi Zhu in Form eines plattformunabhängigen Python-Programms [5]. Sie laden es mit dem Befehl aus Listing 6 auf den Rechner, wozu Sie eventuell noch den Git-Client nachinstallieren müssen.

Listing 6

 

$ git clone https://github.com/baoshi/CubeMX2Makefile

Die letzte benötigte Komponente, das GNU-ARM-Plugin für Eclipse, erhalten Sie über die Aktualisierungsseite des Projekts [6]. Sie spielen es über Help | Install | New Software | Add in die Entwicklungsumgebung ein. Es empfiehlt sich, das Online-Tutorial zu diesem Plugin durchzuarbeiten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben