Forum: Mikrocontroller und Digitale Elektronik STM8 Entwicklungsumgebung


von Holger K. (holgerkraehe)


Lesenswert?

Hallo zusammen

Ich wollte heute ST Visual Develop für die STM8 installieren.
Leider konnte ich keinen der genannten kostenlosen Compiler mehr finden.

Raisonance hat die 32K Limitierten compiler nun für 700 EUR im Angebot.
Bei Cosmic finde ich auch keinen kostenlosen compiler mehr.

SDCC gibts beim ST Visual Develop nicht als Auswahl.


Am liebsten hätte ich Eclipse für den STM8. Dazu finde ich aber kein 
Tutorial.


Kann mir hier jemand weiterhelfen?

Danke :)

von hp-freund (Gast)


Lesenswert?

Holger K. schrieb:
> Bei Cosmic finde ich auch keinen kostenlosen compiler mehr.

http://www.cosmicsoftware.com/download_stm8_free.php

Geht das nicht mehr?

von hp-freund (Gast)


Lesenswert?


von Holger K. (holgerkraehe)


Lesenswert?

Danke für die Links

Hab da irgendwie was übersehen beim Cosmic. Wobei die aktuelle "free" 
lizenz ja nur ein Jahr gültig ist und dann wieder erneuert werden muss.

Ich hab lieber systeme die grundsätzlich keine erneute lizenzierung 
benötigen.

Eine Lösung mit Eclipse wäre schon sehr schön.

von Axel S. (a-za-z0-9)


Lesenswert?

Holger K. schrieb:
> Ich hab lieber systeme die grundsätzlich keine erneute lizenzierung
> benötigen.

Dann halt SDCC. Ist leider kein Debugger dabei. Aber der Rest der 
Toolchain schon. Ob Eclipse mit SDCC kann, weiß ich nicht. Wäre aber 
komisch, wenn nicht.

von Holger K. (holgerkraehe)


Lesenswert?

Soviel ich gesehen habe, kann das ST Visual Develop nicht mit dem STLink 
V2 umgehen sondern nur mit dem ST Link.

Kann SDCC mit dem STLink V2?


Ich habe mir von den günstigen Boards beim chinaman verlocken lassen (50 
Cents inkl Versand für ein STM8 Board)

Scheint aber wohl doch zu mühsam zu sein.

Ich war bisher mit AVR und STM32 unterwegs

von hp-freund (Gast)


Lesenswert?

Sieh dir mal meinen zweiten link an.

von S. R. (svenska)


Lesenswert?

Holger K. schrieb:
> Kann SDCC mit dem STLink V2?

SDCC ist ein C-Compiler, kein Flashtool.

von Lothar (Gast)


Lesenswert?

Holger K. schrieb:
> Am liebsten hätte ich Eclipse für den STM8

Muss es denn STM8 sein? Eclipse/SDCC für 8051 ist gut aufgestellt. Es 
gibt auch eine Diskussion ob auch PIC oder eben STM8 unterstützt werden 
soll, da ist aber irgendwie nichts draus geworden.

von hp-freund (Gast)


Lesenswert?

Holger K. schrieb:
> Am liebsten hätte ich Eclipse für den STM8. Dazu finde ich aber kein
> Tutorial.

Nach dem ich mit SDCC und eclipse unter linux schon bis zum linker 
vorgestoßen bin habe ich das gefunden:

http://ecee.colorado.edu/~mcclurel/SDCC-Eclipse_setup_slides_ho2.pdf

von qwerty (Gast)


Lesenswert?

Holger K. schrieb:
> Soviel ich gesehen habe, kann das ST Visual Develop nicht mit dem STLink
> V2 umgehen sondern nur mit dem ST Link.

Funktioniert bei mir mit ST Visual Develop 4.3.9 und STLink V2 (China) 
als Swim ST Link.

von Axel S. (a-za-z0-9)


Lesenswert?

Holger K. schrieb:
> Soviel ich gesehen habe, kann das ST Visual Develop nicht mit dem STLink
> V2 umgehen sondern nur mit dem ST Link.
>
> Kann SDCC mit dem STLink V2?

Warum solte er. SDCC ist ein C-Compiler. Dessen Arbeit ist getan, wenn 
er das ELF Binary (bzw. das .HEX mit dem Flash-Inhalt) erzeugt hat.

Wie es aussieht, suchst du stm8flash <- Google hilft

von Tim  . (cpldcpu)


Lesenswert?

Ein freies Flash-Tool gibt es hier:

https://github.com/vdudouyt/stm8flash

von knoelke (Gast)


Lesenswert?

IAR Kickstart.
Alles aus einem Guss inkl. Debugger und frei bis 8K.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Es muss nicht immer die "Killer-IDE" sein (die bisweilen dazu noch etwas 
schwierig zu konfigurieren sind).

Ich bastle immer wieder mal an meiner eigenen Umgebung für dieses 
absolute Billigboard aus China. Hier kommt Linux zum Einsatz

Um dieses kleine Board flashen zu können bedarf es (wenn es absolut 
billig sein soll) eines ST-Link V2 Adapters:

http://www.ebay.de/itm/1PCS-ST-Link-V2-Programming-Unit-mini-STM8-STM32-Emulator-Downloader-New-/182141301471?hash=item2a6877b2df:g:ePAAAOSwbPxXQCcc

Hier musst du SWIM, NRST, GND und VCC eins zu eins Verbinden.

Scheinbar können manche dieser Boards "gelockt" sein (hatte ich bei der 
zweiten Bestellung von 2 Stck.)

In diesem Fall müssen die Boards "unlocked" werden. In der Zipdatei gibt 
es hierfür ein:

stm8unlock Aufrufen mit: ./stm8unlock

Um mit diesem Teil umgehen zu können hab ich mir so etwas wie meine 
eigene "Library" geschrieben (auch im Hinblick darauf, dass dieses 
Teilchen nur 8kB Flash) hat.

Es benötigt lediglich einen Editor (und wenn aus dem Editor heraus ein 
Systemaufruf, besser noch ein Make - Aufruf möglich ist , ist das noch 
besser) um Programmcode erstellen zu können.

Ein Make - Aufruf erstellt dir das ausführbare Programm für das 
Minimalboard.

Da mit Make nicht jeder umgehen will (und ich auch für mich nicht 
jedesmal ganz spezeiell eines erstellen mag) hab ich das in eine Art 
"Template" gepackt die nur noch sehr minimale Bearbeitung benötigt.

Makefile am Beispiel für ein Programm "n5510_glcd_demo.c":
1
# ---------------------------------------------------------------
2
#     einfaches Makefile zum Uebersetzen und Linken von
3
#     STM8S Programmen mittels SDCC
4
# ---------------------------------------------------------------
5
6
# hier den Namen der Quelldatei ohne Endung ".c" angeben
7
SRC_NAME     =  n5510_glcd_demo
8
9
# hier alle Dateien angeben, die hinzugelinkt werden sollen
10
# Objektdateien enden im Gegensatz zu GCC / AVR-GCC / ARM-NONE-EABI-GCC nicht mit .o sondern mit .rel
11
ADD_LIBS  = ../src/stm8_init.rel
12
ADD_LIBS += ../src/spi.rel
13
ADD_LIBS += ../src/stm8_glcd_nokia.rel
14
ADD_LIBS += ../src/my_printf.rel
15
16
include ../makefile.mk

Hier muss unter SRC_NAME das Programm ohne Endung angegeben werden, das 
erzeugt werden soll.

Unter ADD_LIBS werden die Softwaremodule angegeben, die das Programm 
benötigt damit es funktioniert. Jede weitere Bibliothek kann mit

ADD_LIBS += dateiname.rel hinzugefügt werden

Das Makefile generiert hier dann automatisch aus einer Quelldatei spi.c 
die benötigte spi.rel

In makefile.mk sind alle Angaben gemacht die benötigt werden. Optionen 
von Make sind hier:

Progamm übersetzen:

  make
  make all

Programm und Bibliothek bereinigen, damit auch die Bibliotheken neu 
übersetzt werden:

  make clean

Programm in das Minimalboard übertragen:

  make flash

Alles in einem Aufwasch (bereinigen, übersetzen und flashen)

  make complete

Leider komme ich nicht dazu, eine richtige Dokumentation zu erstellen, 
aber in den Sourcen dürften die Kommentare zu den Funktionen schon fast 
selbsterklärend sein.

Alles was du brauchst ist, das in ein Verzeichnis zu entpacken. In 
diesem Verzeichnis kannst du weitere Verzeichnisse für dein Projekte 
anlegen und in dieses kopierst du dir am besten ein Makefile aus den 
Beispielen und änderst es deinem Projekt entsprechend an. Das 
Flashprogramm für den STLINK ist in der Zip-Datei mit drin, zusätzlich 
zu den Inhalten der Zip-Datei benötigst du den SDCC-Compiler ab der 
Version 3.4

https://sourceforge.net/projects/sdcc/files/sdcc-linux-x86/3.6.0/

Bisweilen programmiere ich mit diesem Setup sogar auf einer Textmode 
Linux-Live Variante ohne Desktop, nur mit mcedit (oder meinem 
selbstgeschriebenen Konsoleneditor) und Make. In einem Terminal ist der 
Editor, in einem anderen wird Make aufgerufen und im dritten läuft nach 
Bedarf ein serieller Monitor.

Auf diese Art und Weise läuft das schnell, sogar auf einem uralten 
ausgemusterten Thin-Client für 12 Euro.

Wer das Archiv gebrauchen kann: Viel Spaß damit (ich sollte wirklich mal 
eine Webseite dafür basteln ! )

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

sorry, Dateinamensendung zum Foto fehlt...

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.