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


von STM8 Interessent (Gast)


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

von Ralph S. (jjflash)


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)"

von Christopher J. (christopher_j23)


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.

von Philipp Klaus K. (pkk)


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

von Philipp Klaus K. (pkk)


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

von Peter D. (peda)


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.

von Philipp Klaus K. (pkk)


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

von entwanzer (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.