>> Artikelansicht

12.02.2015 /He [Druckansicht]

STM8L Discovery Wave Generator Demo unter Linux mit SDCC

2. Teil der STM8 Microcontroller Serie

STM8L-Discovery Board mit Wave Generator Demo Nachdem im 1. Teil der STM8S105 Microcroller vorgestellt wurde, sowie die Installation der Software, Compiler und das "flashen" der Firmware/Code des STM8S nachvollzogen werden konnte, kommt meist schnell der Wunsch auf, nicht nur LEDs blinken zu lassen, sondern eine kleine Anzeige für Raspberry PI zu verwenden, wenn er "Headless", also ohne Monitor, betrieben wird.Sei es um kurze Statusmeldungen, Betriebszustände oder Anweisungen auszugeben. Für diesen Fall kann man auf das STM8L-Discovery Board zürückgreifen, das neben vielen Ein- und Ausgängen auch ein LCD-Display besitzt.Doch hierfür ist es notwendig, eine neue Firmware für den STM8L-Microcontroller von der STMicroelectronics Homepage [www.st.com] herunterzuladen, an den SDCC anzupassen und zu compilierne/übersetzen. Alternativ schliesst man ein Display an dem zuvor besprochenen STM8S-Microcontoller an und schreibt selbst die Software für die Ansteuerung.

Übersicht der Eigenschaften des STM8L-Discovery

STM8L-Discovery Board

Übersicht der Eigenschaften
  1. Einige Pins 5V Tolerant** :: (**Siehe Datenblatt "FT" Five-volt tolerant)
  2. Einige Pins 3.6V Tolerant*** :: (***Siehe Datenblatt "TT" 3.6 V tolerant)
  3. Low Power Serie:: niedriger Stromverbrauch
  4. LCD-Display
  5. Programmierbar auch unter Raspberry Pi GNU/Linux
  6. Softwareentwicklung in Hochsprache und Assembler
  7. Library für die Peripherie vorhanden


Allgemein

Das Entwicklungsboard von STMicroelectronics besitzt ein eigenes Programmiergerät, mit dem es möglich ist, den auf dem unteren Teil des Boards sitztenden STM8L152 Microcontroller, im System über den USB Port zu programmieren. Hervorzuheben sind, der niedrige Stromverbrauch und ein auf dem Board installiertes LCD Display.

Vorbereitung und Installation

Vor Ausführung des Scripts sollte die Software stm8flash, wie im 1. Teil beschrieben, installiert werden.
Auch der SDCC-Compiler muss auf eine Version >= 3.4.3 #9189 (Mar 2 2015) aktuallisiert werden.

Das Script

Das Script, das die Software und die "Standard peripheral library" zum Einsatz auf dem Raspberry Pi vorbereitet. Hierzu bleibt oder wechselt man in das Heimatverzeichnis und führt den Befehl
wget http://www.messtechniklabor.de/downloads/h0006/stm8l-lib-sdcc.tgz aus.
Danach kann man das Script mit tar -xf stm8l-lib-sdcc.tgz extrahieren.Nun wechselt man mit cd ./stm8l-lib-sdcc in das Scriptverzeichnis.

STM8L Standard peripheral library herunterladen

Jetzt kann man die kostenlose "STM8L Standard peripheral library" von der Webseite von STMicroelectronics [http://www.st.com] herunterladen.Dort gibt man im Suchfeld STSW-STM8008 ein und folgt dem Link der unter Part Number Results (1): STSW-STM8008 erscheint und lädt die Datei stsw-stm8008.zip (Version: 2.0.1) mit einem Klick auf den [Download]-Button herunter und kopiert sie in das Script-Verzeichnis.

Library anpassen und compilieren

sh ./build.sh erledigt nun den Rest.Nach erfolgreicher Ausführung des Scripts wechselt man mit cd ./Project in das Beispielprojekt.

Nun kann das STM8-Discovery Board an den USB-Anschluss des Raspberry Pi angeschlossen werden.

Ein schneller Test mit sudo stm8flash -c stlink -p stm8l150 -w blinky.ihx sollte mit einer blinkenden LED belohnt werden. Wer die udev-Regel aus dem 1. Teil installiert hat, kann auch mit make flash das Programm in den STM8L152 schreiben und ausführen.

STM8L-Discovery Wave Generator Demo

Um die Wave Generator Demo zu übersetzen(compilieren) wechselt man in das Script-Verzeichnis und führt ./wavesgenerator.sh aus.Das erstellt das Verzeichnis Wavesgenerator, danach wechselt man mit cd ./WavesGenerator in das entsprechende Verzeichnis und kann anschliessend make gefolgt von make flash ausführen.

sudo stm8flash -c stlink -p stm8l150 -w wavesgenerator.ihx

Download

Das Script

stm8l-lib-sdcc.tgz | 6.4K 03.03.2015(update)
oder
wget http://www.messtechniklabor.de/downloads/h0006/stm8l-lib-sdcc.tgz

  • building the STM8L15x_StdPeriph_Driver
    ./build.sh
  • building the Wave Generator Demo
    ./wavesgenerator.sh

SDCC Version(Raspberry Pi)

[http://sourceforge.net/projects/sdcc/files/snapshot_builds/armv6l-unknown-linux-gnueabihf/]
sdcc-snapshot-armv6l-unknown-linux-gnueabihf-20150302-9189.tar.bz2

> sdcc --version
  1. SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8 \
  2. 3.4.3 #9189 (Mar 2 2015) (Linux)

nächster Artikel