mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einstieg STM8 - Toolchain und Fallstricke


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: STM8 Interessent (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

typischerweise mache ich viel mit den STM32. Für ein kleines Projekt 
brauche ich aber kein µC-Schlachtschiff, sondern nur ein kleines 
µC-Schlauchboot. Ausgewählt hatte ich den STM8L051F3, da ich nicht viele 
Pins brauche und das Projekt mit einer Batterie betrieben wird.

Die STM8 sehen für mich sehr interessant aus, nur schreckt mich die 
Situation bzgl. IDE und Compiler ab. Es sieht so aus, als ob STVD da 
Stand der Technik ist, ich bin aber von den STM32 was anderes gewohnt 
(vorallem ohne viel Geld auszugeben).

Folgende Fragen habe ich:
- Welche Tools nutzt ihr?
- Gibt es empfehlenswerte Tutorials/Anleitungen zum Einstieg?
- Einarbeitung von STM32 in STM8? Einfacher Einstieg?
- Welche Fallstricke gibt es? (z.B. bei den STM32 Einschalten des Taktes 
vergessen)
- Welche Empfehlungen könnt ihr sonst zu den STM8 abgeben?

Beste Grüße,
STM8 Interessent

Autor: Ralph S. (jjflash)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Mich würde vor allen Dingen interessieren, woher du einen günstigen 
STM8L051 beziehst. Wenn es um stromsparende Dinge geht, hatte ich bisher 
einen STM32L053 benutzt. In wie weit der STM8 weniger Strom verbraucht 
weiß ich nicht.

Bisher hatte ich innerhalb der STM8 Familie nur Kontakt mit S103 und 
S105.

Hier verwende ich keine vorgefertigten Libraries oder Files. Compiler 
ist der SDCC (okay, gibt bessere, aber der ist Open Source und 
kostenfrei und für mich absolut ausreichend), einen Texteditor (einen 
eigenen geschriebenen in der Konsole oder Geany) und Makefiles.

Aus dem Datenblatt hab ich mir 2 Headerfiles erzeugt die absolut 
"unvollständig" sind, und bei Bedarf eben erweitert werden:

http://www.jjflash.de/filedir/stm8_programs/include/stm8s.h
http://www.jjflash.de/filedir/stm8_programs/include/stm8_gpio.h

Ansonsten ist eine gute Anlaufstelle für STM8 :

http://blog.mark-stevens.co.uk/category/stm8/page/6/

Für ein einziges, kleines Assemblerprojekt (Bootloader für STM8S103) hab 
ich Naken-ASM verwendet (der keinerlei Luxus bietet):

https://www.mikekohn.net/micro/naken_asm.php
Beitrag "Serial Bootloader für STM8S103F3P6 (Linux)"

Autor: Christopher J. (christopher_j23)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hier meine Notizen für den STM8:

OpenOCD, GDB and SDCC for STM8
https://sourceforge.net/projects/stm8-binutils-gdb/files/
You will need Automake 1.15 for OpenOCD if you are on *buntu 14.04: 
https://launchpad.net/~jonathonf/+archive/ubuntu/automake

stm8flash:
https://github.com/vdudouyt/stm8flash

Bare Metal Programming:
https://lujji.github.io/blog/bare-metal-programming-stm8/
https://github.com/lujji/stm8-bare-min

STM8 StdPeriphLib for SDCC:
https://github.com/roshbaby/stm8s-sdcc


STM8 Interessent schrieb:
> - Welche Fallstricke gibt es? (z.B. bei den STM32 Einschalten des Taktes
> vergessen)

Register sind häufig geteilt (z.B. ADC oder Timer), weil ja nur 8 Bit 
breit. Dann spielt es häufig eine Rolle in welcher Reihenfolge diese 
gelesen bzw. geschrieben werden.

Autor: Philipp Klaus K. (Firma: Albert-Ludwigs-Universität) (pkk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STM8 Interessent schrieb:
> - Welche Tools nutzt ihr?

SDCC, stm8flash. Gelegentlich auch OpenOCD, GDB.

> - Gibt es empfehlenswerte Tutorials/Anleitungen zum Einstieg?

http://www.colecovision.eu/stm8/

> - Einarbeitung von STM32 in STM8? Einfacher Einstieg?

Ja. Die integrierten Peripheriegeräte sind recht ähnlich.

> - Welche Fallstricke gibt es? (z.B. bei den STM32 Einschalten des Taktes
> vergessen)

Mache STM8 haben eine Stack-Rollover-Limit.

Philipp

Autor: Philipp Klaus K. (Firma: Albert-Ludwigs-Universität) (pkk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralph S. schrieb:
> Compiler
> ist der SDCC (okay, gibt bessere, aber der ist Open Source und
> kostenfrei und für mich absolut ausreichend),

Der aktuelle SDCC 3.7.0 schlägt sich schon recht gut, da hat sich seit 
3.6.0 viel verbessert:

http://www.colecovision.eu/stm8/compilers.shtml

Raisonance generiert kleineren Code (kann aber sonst nicht mit den 
anderen Compilers mithalten), IAR ist bei der C99-Unterstützung besser, 
und bei Gleitkommaarithmetik ist SDCC recht ineffizient.

Aber dennoch dürfte der SDCC inzwischen der beste Compiler für STM8 
sein.

Philipp

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STM8 Interessent schrieb:
> Ausgewählt hatte ich den STM8L051F3, da ich nicht viele
> Pins brauche und das Projekt mit einer Batterie betrieben wird.

Ich nehme fürs Stromsparen gerne die ATtiny von Microchip.
Die arbeiten an 1,8..5,5V, d.h. es entfällt der zusätzliche 
Stromverbrauch für einen Spannnungsregler.
Andere MCs vertragen oft nur 3,6V, da sind dann die 4,3V 
Ladeschlußspannung von Lithium-Ionen-Akkus zuviel.

Autor: Philipp Klaus K. (Firma: Albert-Ludwigs-Universität) (pkk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> STM8 Interessent schrieb:
>> Ausgewählt hatte ich den STM8L051F3, da ich nicht viele
>> Pins brauche und das Projekt mit einer Batterie betrieben wird.
>
> Ich nehme fürs Stromsparen gerne die ATtiny von Microchip.
> Die arbeiten an 1,8..5,5V, d.h. es entfällt der zusätzliche
> Stromverbrauch für einen Spannnungsregler.
> Andere MCs vertragen oft nur 3,6V, da sind dann die 4,3V
> Ladeschlußspannung von Lithium-Ionen-Akkus zuviel.

Der STM8L051F3 läuft nur im Bereich 1,8 … 3,6 V. Aber er dürfte für 
jene, die bereits mit einem STM32 vertraut sind, leichter zu erlernen 
sein als der ATtiny.

Philipp

Autor: entwanzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
debuggen kann man den Krempel jetzt auch vernünftig:
https://stm8-binutils-gdb.sourceforge.io/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.