
STM8 Entwicklung mit Eclipse unter macOS
Für den STM8 Mikrocontroller von STMicroelectronics gibt es mehrere IDE’s zur Auswahl. Vom Hersteller selbst gibt es die STVD-STM8. Diese ist jedoch schon reichlich veraltet und läuft nur unter Windows. Die Empfehlung des Herstellers lautet deshalb das IAR Studio zu nutzen. Leider ist dies aber als kommerzielle Lizenz sehr teuer, wenig komfortabel und ebenfalls nur für Windows zu haben. Die gute Nachricht ist, es gibt eine kostenfreie Entwicklungsumgebung für den STM8 welche sogar unter Mac OS X läuft: Eclipse.
Entwicklungsumgebung einrichten
Um Firmware für den STM8 Microcontroller zu entwickeln muss zuerst die Hardware der Entwicklungsumgebung eingerichtet werden. Der Microcontroller benötigt ein Entwicklungsboard und muss mit dem Mac verbunden werden.
Benötigte Hardware

- USB zu Serial Adapterkabel

STM8 Entwicklerboard mit Mac verbinden

- STM8L-DISCOVERY Board über USB mit Strom versorgen
- Stromversorgung erfolgt über Micro-USB Anschluss des Boards (auf oberem Bild rechter Anschluss)
- → beide roten LED’s sollten leuchten
- USB-Serial-Adapter von Prolific über die seriellen Anschlüsse mit dem STM8L-DISCOVERY Board verbinden
- schwarz (GND) an GND
- weiß(RxD) an PC3
- grün(TxD) an PC2
- siehe Bild
- Alternativ USB-Serial-Adapter von Olimex über die seriellen Anschlüsse mit dem STM8L-DISCOVERY Board verbinden
- blau (GND) an GND
- grün (RxD) an PC3
- rot (TxD) an PC2
- USB-Serial-Adapter mit Mac verbinden
- Verbindung über Terminal in Eclipse aufbauen
- siehe weiter unten

Einrichtung von Eclipse
Eclipse kann so eingerichtet werden, dass mit C++ Code für den STM8 geschrieben, eingespielt und debuggt werden kann. Dabei gibt es einige entscheidende Schritte zu beachten, damit die Softwareentwicklung möglich ist.
1. HomeBrew auf Mac installieren
- HomeBrew wird genutzt um benötigte Programme über die Kommandozeile zu installieren
- muss nur installiert werden, wenn noch nicht installiert
- Ggf. Sind Probleme aufzulösen, die ‚brew doctor‘ aufzeigt.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew update brew doctor
2. Programmer ST-Link/V2 einrichten
- ST-LINK/V2 ist ein Programmer und Debugger für STM8 und STM32
- kann per HomeBrew eingerichtet werden
brew install autoconf automake pkg-config libusb libusb-compat stlink st-util -h
Stop! |
---|
st-util erkennt leider nicht das DISCOVERY Board bzw. steuert es nicht korrekt an. Außerdem wurde recherchiert, dass das Tool nur den SWD-Modus für STM32-MCU’s unterstützt. Die STM8-MCU’s benötigen jedoch den SWIM-Modus. Dieser Modus wird aber lediglich von dem schlecht gepflegten Tool stm8-flash unterstütz. Dieses bietet wiederum keine Möglichkeit zum Debuggen. Fazit: Unter Linux oder Mac OS X ist kein Debuggen des STM8 möglich. |
3. SDCC Cross-Compiler installieren
- SDCC ist ein freier Cross-Complier für diverse Microcontroller, dem eine hohe Kompatibilität und vor allem exzellente Ergebnisse attestiert werden.
brew install sdcc sdcc -v
4. STM8Flash installieren
git clone https://github.com/vdudouyt/stm8flash.git cd stm8flash make make install cd .. rm -R stm8flash stm8flash
5. Test ob das STM8L-DISCOVERY Board ansprechbar ist
stm8flash -c stlinkv2 -p stm8l152?6 -r test.ihx
6. Eclipse installieren
- Prüfung
java -version
), und Update der Java Runtime. Zum Zeitpunkt des Schreibens ist Java 8 Update 181 aktuell.
, ob die Java Runtime auf dem Rechner aktuell ist ( - Eclipse herunterladen. Aktuell ist Photon V4.8.0.
- Bei der Installation die C/C++-Edition wählen.
- Eclipse starten und aktualisieren: Menü Help → Check for Updates
7. SDCC-Plugin installieren
- Mac OS X Version des CDCC Plugin von Sourceforge.net herunterladen und entpacken
- Im Finder das Installationsverzeichnis von Eclipse öffnen: <Benutzerordner>/eclipse/cpp-photon/
- im Kontextmenü von eclipse.app (Rechtsklick) → Paketinhalt zeigen
- in Unterverzeichnis Contents/Eclipse/dropins navigieren
- das entpackte Verzeichnis des SDCC Plugins (net.sourceforge.eclipsesdcc-1.0.0-macosx.carbon.ppc) ins Verzeichnis dropins verschieben
- ggf. Eclipse neu starten
- Prüfen ob das Plugin installiert wurde
- Eclipse → About Eclipse → Installation Details → Installed Software → Liste runter scrollen und nach „SDCC Compiler Plug-in“ suchen
8. STM8 mit Mac verbinden
- das STM8L-DISCOVERY Board über USB mit Strom versorgen und über den USB Adapter mit dem Mac verbinden
- siehe oben für genauere Details
9. Terminal einrichten
- Je nach dem, welcher USB-Serial-Adapter verwendet werden soll, ist der passende Treiber zu installieren. Für den Prolific Adapter sollte der Treiber Prolific-Serial/PL2303_MacOSX_1_6_1 verwendet werden.
Die Installation erfordert, dass man in der Systemsteuerung die Installation an der passenden Stelle erlaubt und danach den Rechner neu startet. - In Eclipse ist der Serielle Zugriff auf den Adapter direkt über das integrierte Terminal möglich: Window → Show View → Terminal
- Im Terminal die Verbindung öffnen, mit dem Icon für Launch Terminal
- Terminal type → Serial Terminal
- Serial Port → /dev/cu.usbserial
- Das STM8L-DISCOVERY Board muss am Mac per USB-Adapter angesteckt sein und laufen! Nur dann ist dieses serielle Gerät auswählbar.
- Baud rate → 38400

10. Projekt in Eclipse laden
- in Eclipse ein STM8 Beispiel als Projekt einrichten oder laden

11. Funktionstest
- Terminal in Eclipse öffnen
- Run → Run… oder Button mit Run-Icon
- der Fehler
Program "sdcc" not found in PATH
kann dauerhaft ignoriert werden
- der Fehler
- im Terminal erscheint die Ausgabe des Programms welches auf dem STM8 ausgeführt wurde
- die unleserlichen Zeichen davor können ignoriert werden
- im Terminal sollte nun die Beispielausgabe
alive :)
erscheinen
