|
|
STM8S-DiscoveryDas STM8S-Discovery ist ein sehr günstiges Evalutionsboard für die Controllerfamilie STM8 von ST Microelectronics. Auf der Platine befindet sich ein kompletter USB-Programmer/Debugger, ein zu programmierender Mikrocontroller vom Typ STM8S105C6T6 sowie eine LED und ein kapazitiver Taster. Für das Discovery benötigt man kein Netzteil, da es die Betriebsspannung über den USB-Anschluss bezieht. Mit dem Programmer/Debugger kann man jeden beliebigen STM8 über SWIM – der einpoligen Programmierschnittstelle für STM8 – flashen und auf Fehlersuche gehen.
[Bearbeiten] Benötigte HardwareEiner der großen Vorteile des STM8S-Discovery ist, dass man außer dem Evaluationsboard eigentlich nur noch ein USB Kabel (A auf B) braucht und man kann los legen. Man braucht weder externes Netzteil, noch zusätzliche Bauteile wenn man mit dem Board ein wenig herumexperimentieren möchte [Bearbeiten] Benötigte SoftwareDie benötigte Software gibt es kostenlos oder mit einer kostenlosen, aber etwas eingeschränkten Lizenz zum Herunterladen auf der ST Seite. [Bearbeiten] LinuxDie USB Implementierung des ST-Links ist zumindestens auf dem STM8S Discovery Board kaputt. Beim Anstecken des USB Steckers kommen andauernd Fehlermeldungen des USB Subststems, siehe [1] Informationen zum oder über einen Update der ST-Link Firmware wurden im Netz nicht gefunden (Feb 2011) [Bearbeiten] ST MCU ToolsetDas ST MCU Toolset beinhaltet die Entwicklungsumgebung ST Visual Develop (Vergleichbar zum AVR Studio von Atmel) und einen graphischen Flasher. Es beinhaltet den Treiber für den Programmer/Debugger, den uneingeschränkten Assembler und Linker und einen Simulator. Es kann auf der ST Webseite herunter geladen werden. [Bearbeiten] Der CompilerBei den Compilern hat man die Wahl zwischen 2 (bald sogar 3) verschiedenen Compilern. Einige Compiler können voll in das ST Visual Develop integriert werden.
[Bearbeiten] DatenblätterBevor man loslegt, sollte man sich noch folgenede Datenblätter herunterladen, damit man bei Problemen immer schnell nachschlagen kann:
[Bearbeiten] Erste Schritte[Bearbeiten] ErstinbetriebnahmeZu aller erste sollte man das Discovery auspacken und via USB an einen Rechner anschließen. Nun sollte der PC das Board als einen USB-Stick erkennen, auf dem 3 Links gespeichert sind. Außerdem sollte es möglich sein, mit Hilfe des kapazitiven Buttons die Blinkfrequenz der LED zu ändern, denn auf dem Discovery ist schon ein Beispielprogramm von ST vorinstalliert. Dieses kann man sich zusammen mit der Dokumentation von der ST Downloadseite herunterladen. [Bearbeiten] Installation der benötigten SoftwareUm selbst Programme schreiben und debuggen zu können, muss man die komplette Toolchain installieren haben.
[Bearbeiten] Einrichten des ST Visual DevelopUm das erste Programm zu schreiben öffnet man das ST Visual Develop (ähnlich dem AVR Studio). Leider sieht es nach dem Starten noch relativ leer aus. Doch das soll sich bald ändern!Als erstes klickt unter File (Linke obere Ecke, erster Menüpunkt) auf New Workspace. Danach öffnet sich ein kleines Fenster. Hier wählt man das Arbeitsverzeichnis des ST Visual Develop aus. Dieses kann für alle Projekte gleich sein.
Unser erstes Projekt trägt den Namen STM8S_ErstesProgramm. Nachdem man den gewünschten Pfad eingegeben hat, bestätigt man mit "ok" (siehe Bild rechts). Als nächstes erscheint schon wieder ein Fenster. Hier legt man den Projektnamen und den Projektpfad, am besten ein Unterordner im Workspaceverzeichnis, fest. In unserem Fall nennen wir unsere Projekt "ErstesProgramm" und speichern es im Unterordner "ErstesProgramm" im Workspaceverzeichnis. Nun muss man nur noch die Toolchain definieren. Da wir den Cosmic 32K Compiler benutzen, wählt man unter Toolchain "STM8_Cosmic" aus. Zu guter Letzt muss man dem Programm noch mitteilen in welchem Ordner sich der Compiler befindent. Bei einer Standartinstallation sollte dies der Pfad "C:\Program Files\COSMIC\CXSTM8_32K" sein. Danach kann mit "ok" bestätigt werden. Ein letztes Fenster erscheint, indem man nur noch den genauen Mikrocontroller Typ, für den man ein Programm schreiben will, auswählen muss. Auf dem STM8S Discovery ist ein STM8S105C6 verbaut. Man muss ihn nur noch in der Liste suchen, auswählen und mit "select" auswählen und "ok" bestätigen.So endlich ist es geschafft. Man hat den ersten Workspace und das erste Projekt erfolgreich angelegt. Theoretisch könnte man jetzt loslegen zu programmieren. Aber nur theoretisch. Uns fehlt noch eine wichtige Komponente, die uns das Leben erheblich vereinfacht, nämlich die Firmware Libarys von ST. [Bearbeiten] Firmware LibraryUm jetzt weiter machen zu können benötigt man die Datei stm8sfblib.zip von der ST Webseite. Am besten entpackt man diese Datei an einem sicheren Ort. Dabei sollte man 1 Ordner ("FWLib"), sowie eine chm Datei (diese beinhaltet eine sehr ausführliche Dokumentation der Libarys und Beispiele) und ein txt das nicht weiter von Interesse ist, erhalten. Im Ordner "FWLib" befinden sich der Unterordner "libary" in dem sich im in "inc" alle Header Files und in "src" alle C Files der Libary befinden. Den gesamten Ordner kopieren wir in unseren Workspace "stm8s_ErstesProgramm". Nun wechseln wir wieder zurück ins ST Visual Develop. Am linken Rand sehen wir eine Baumstruktur unseres Projektes. Unsere Projekt besteht zur Zeit aus 3 Ordner ("Source", "Include" und "Externel Dependencies"). Für uns sind nur die ersten beiden von Relevanz. Unter Source befinden sich zur Zeit 2 Dateien. Die "main.c" sowie die "stm8_interrupt_vector.c". "Include" ist leer. Mit einem Rechtsklick auf "Source" -> New Folder... erstellen wir einen neuen Ordner und benennen diesen "library". Das gleiche wird mit dem "Include" Ordner gemacht. Auf den gerade letzten erstellen Ordner machen wir wieder einen Rechtklick -> Add Files to Folder... und fügen alle Dateien und "library/inc" hinzu. Jetzt müssen wir nur noch die "stm8s_conf.h" zu unserem Projekt hinzufügen. Man findet diese Datei unter dem Pfad "FWLib\project" und kopiert sie dann in den Projektordner und fügt sie dem Projekt wie im oberen Schritt, aber nicht unter "Include\library", sondern einfach nur unter Include hinzu. Jetzt sollte die Baumstruktur wie im Bild aussehen. [Bearbeiten] Erstes ProgrammJetzt ist es endlich so weit. Wir können loslegen unsere erstes Programm zu schreiben. Es soll nichts weiter tun als die Led auf dem STM8S Discovery blinken zu lassen. Da wir hierfür einen GPIO (General Purpose I/O, also einen Pin den wir sowohl als Eingang als auch Ausgang schalten können) benutzen wollen, müssen wir, um die GPIO Funktionen benutzen zu können, die GPIO Library "stm8s_gpio.c" importieren. Die Datei finden wir unter "Libary\src" und fügen sie unter "Source\library" hinzu (Siehe Bild). Nun müssen wir nur noch die GPIO Library in der "stm8s_conf.h" aktivieren. Dazu entfernen wir die Kommentarzeichen in der Zeile:
In der Regel werden alle Librarys die man verwenden möchte, auf diese Weise in ein bestehendes Programm importiert. Dabei ist zu beachten, das nur Librarys die benutzt werden, zu importieren und in der "stm8s_conf.h" zu aktivieren sind. Ansonsten kann es beim Compilieren zu Fehlern kommen. Die Main Routine des ersten Programms:
[Bearbeiten] Siehe auch[Bearbeiten] Weblinks |