STM8: angenehm überrascht

OP #3139007
Lesenswert?

Servus allerseits

Wegen verschiedenen Faktoren musste ich etwas über den Tellerrand 
schauen und stiess bei meiner Suche auf die STM8-Serie.
Ich war angenehm überrascht, wieviele Möglichkeiten in diesen MCUs 
stecken.

Und vorallen für Leute, die sich bereits mit dem STM32 auskennen und hin 
und wieder in die StdLib einen Blick werfen, ist die Adaptionsphase sehr 
kurz. Zum Teil tragen die Flags sogar dieselben Namen.
Ich brauchte gerade mal 2 Tage, bis ich ein kleines Projekt vom STM32 
auf den STM8 portiert hatte.

MfG
OP #3139054
Lesenswert?

Wenn Du mit einem Discovery-Board anfaengst, ist der Debugger (ein 
ST-Link) onboard. Den kannst Du aber auch selbst als Debugger benutzen.
Der ST-Link separat kostet glaube ich so um die 20 EUR.

Als Compiler benutze ich z.Zt. den Iar-Kickstart. Kostet bis 8kB nichts.

Edit: Ein Nachteil beim Ganzen ist, dass im Internet nicht sehr viele 
Quellen vorhanden sind. Man muss also selbst sehr oft hinter die Bücher 
:) und da war ich der Meinung, dass meine Kenntnisse mit STM32 mir sehr 
viel genutzt haben.
OP #3139153
Lesenswert?

Der Preis war natürlich ein Argument. Aber nicht ausschlaggebend.
Ich brauchte vorallem 16 ADC Eingaenge und ein SPI das nicht buggy war.
Der SPI von STM32F0 ist ziemlich verseucht.

Der STM32L151 bzw. 152 waeren möglich gewesen.
Aber um ganz ehrlich zu sein: ich wollte wieder einmal mit einer 
Steinschleuder auf Spatzen schiessen.
Und ich muss eingestehen: der STM8 macht Spass!
Gast #3139280
Lesenswert?

Ich hab' mir das STM8L-Discovery Board auch gerade besorgt, weil ich für 
einen Sensor etwas kleines, stromsparendes mit ADC brauchte.
Ich finde den Chip auch toll, aber ich wollte wg. der Größe die Chips im 
TSSOP20-Gehäuse haben, die kann man in Deutschland allerdings nirgendwo 
kaufen...
Gast #3139724
Lesenswert?

Ich habe mir STM8L151 bei Mouser gekauft, ging problemlos.

Sehr schön finde ich die Libs dazu, man kommt recht schnell zum 
Ergebnis.

- Entwicklungsumgebung kostenlos
- Debuggen mit vielen Breakpoints möglich
- sehr günsiger Debugger (Discovery)
- Programmierung über 3 Leitungen
- sehr viel Peripherie


Ebenfalls erwähnenswert ist der interne Takt mit +/- 1% bei 
Consumertemperaturen.
Der Controller startet immer mit internen 2MHz => kein "zerfusen" 
möglich
Gast #3144968
Lesenswert?

>Und ich muss eingestehen: der STM8 macht Spass!
Kann sein, ist sehr schnell (macht vieles in 1 Takt) und ist extrem 
günstig. (glaube ab ca 0,20eu !)
Aber die Port-Belegungen sind schlecht! Es gibt so gut wie keine 
zusammenhängende Ports mit >=4 Bits! Auch sind die meisten nur als 
Lowdrive (keine 20mA) bzw nur für 2 MHz -Out benutzbar.
Also mal schnell ein paar Bits paral. ausgeben, geht nicht! (Was die 
sich dabei gedacht haben???)
Und (falls es jemanden interssant) DIL gibts auch so gut wie keine.
(viell. weil die Serie ja zieml neu ist)
Gast #3557245
Lesenswert?

Es ist garnicht so schwer, sich eine brauchbare Entwicklungsumgebung 
dafür zu bauen.

Habe hier folgendes innerhalb von zwei Abenden unter Windows7 zum Laufen 
bekommen:

- GNU-Binaries für Windows (bash,make,rm,cp,mv usw.)
- sdcc (snapshot binary)
- Eclipse C/C++ inkl. Workspace zur Verwendung von GNU-Binaries und sdcc
- stm8s toolchain mit Anpassungen für sdcc
- Toolchain für STM8S als statische Lib

Die größten Probleme waren:
- Die Toolchain von STM ist nur für die beiden kommerziellen Compiler 
vorgesehen und verweigert den Betrieb mit sdcc. Hier ist etwas 
Handarbeit gefragt.
- sdcc verwendet eigene Konstrukte, die von denen der kommerziellen 
Compiler abweichen, z.B. __interrupt(i). Bestehender Beispielcode muss 
oft umgeschrieben werden.

Bisher läuft alles wunderbar auf dem STM8S Discovery für 8 Tacken.
Beide Daumen hoch!

Für Kleinprojekte werde ich wohl kaum noch ATTINYs kaufen. Und wenn ein 
Projekt endgültig installiert ist, kann der mitgelieferte Programmer 
einfach abgebrochen werden, dann liegt für lau ein weiterer STM32 im 
Schrank.


Nachtrag: Noch ein Abend drauf, und jetzt machen hier fünf WS2812 'ne 
prima Moodlamp.
Gast #3558128
Lesenswert?

Das klingt ja interessant... ein Tutorial dafür wäre eine feine Sache. 
Mit Toolchain ist hier nur SPL gemeint, oder? Wie kommt das Programm in 
einer solchen Konfiguration in den STM8? Kann das Programmiertool 
integriert werden? Lohnt sich Eclipse wirklich, oder kann man sdcc auch 
in eine einfachere Umgebung integrieren (z.B. Programmers Notepad)?
Gast #3559279
Lesenswert?

- Tutorial:
Vielleicht während des nächsten Urlaubs...

- Toolchain:
Ja, es ist die standard peripheral library, aus einem der 
Beispielprogramme extrahiert.
Für jeweils eine Controllerklasse empfehle ich definitiv das Erstellen 
einer eigenen statischen Lib, da das ständige Einbinden der benötigten 
C-Quelldateien zum jeweiligen Projekt doch auf Dauer etwas sperrig ist.

- Flashen:
Im Augenblick noch mit dem Tool von STM. Experimente mit flashen per 
Kommandozeile stehen bei mir noch aus. Es funktioniert aber auch so 
schon ganz brauchbar.

- Eclipse
Es geht natürlich auch wunderbar ohne Eclipse. Allerdings würde ich 
schon irgendeine IDE über den make-Aufruf legen; Das Springen vom 
gefundenen Fehler zur korrekten Zeile im Texteditor ist doch recht 
angenehm. Eine Kombination aus 
notepad++/pspad/sublimetxt/emacs/vi/butterflies und make sollte aber 
kein Problem sein; Eclipse macht letzlich das gleiche.
Es ist auch zu bedenken, dass die Syntaxanalyse von Eclipse CDT die 
Erweiterungen von sdcc nicht kennt. Die Anzeige solcher Fehler im Editor 
sollte also ausgeschaltet werden. Das ganze ist halt nicht so 
wasserdicht wie andere Eclipse-Umgebungen oder gar Visual Studio oder 
XCode. Aber hey, es geht um Microcontroller, nicht um fette Apps. So ein 
bisschen darf das noch nach Technik riechen, oder?

Unter Linux funktioniert das Flashtool von STM nicht, deshalb habe ich 
das völlig ungeekhaft unter Windows eingerichtet. Man möge mir 
verzeihen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren