Forum: Mikrocontroller und Digitale Elektronik STM8 mit atmega programmieren


von Markus M (Gast)


Lesenswert?

Hi Leute,

ich möchte einen (durch festen Einbau im fertigen Gerät vorgegebenen) 
STM8S (um)programmieren.
Dieser liest momentan einen Drehzahlsensor aus (Rechtecksignal an 
IO-Pin) und schaltet abhängig von der Frequenz ein Relais aus/ein.
Die Funktionalität soll gleich bleiben, nur diese Frequenz, bei der 
geschaltet wird, möchte ich gerne anpassen.
Da ich -einfach mal so in's Blaue geraten- vermute, dass der Prozessor 
gelocked ist, ist der aktuelle Plan, ein komplettes Programm, welches 
diesen Zweck erfüllt, neu zu schreiben und das alte zu ersetzen.

Die für SWIM benötigten Pins reset und swim sind nach außen zugänglich.

Da ich über keinen Programmer für STM8 verfüge, aber noch einige ATmegas 
rumliegen, habe ich überlegt, einen z.B. mega8 als Umsetzer von Uart auf 
SWIM zu verwenden.
Das SWIM-Protokoll ist bei ST relativ gut dokumentiert, sollte also 
theoretisch keine unlösbare Herausforderung darstellen.
Hat damit jemand Erfahrung oder existiert schon ein ähnliches Projekt, 
das ich trotz Suche nicht gefunden habe?

Sobald ich dann Zugang zum STM8 habe, benötige ich noch entsprechende 
Firmware dafür, kann jemand eine gute Toolchain empfehlen? ST schlägt 
einige vor, gibt's dazu Erfahrungsberichte? Irgendetwas, womit ich als 
jemand mit etwas gcc/avr-gcc/AVRstudio-Erfahrung zurechtkomme?
Am besten lauffähig unter Win7/x64 oder ggfs. Linux/Ubuntu.
Entsprechende Beispiele auf dem Niveau, das ich benötige (Frequenz 
erfassen, Pin schalten) sollten sich dann im Internet genug finden 
lassen.

Danke schon mal für die Hilfe :)

tl;dr:
1) STM8 mit ATmega programmieren: möglich/wie schwer/Erfahrungen?
2) Für jemanden mit Grundlagenkenntnissen geeignete 
STM8-Toolchain/compiler?

von Christian (Gast)


Lesenswert?

Wäre es nicht einfacher einen St Link Clone Programmer zu kaufen?

von Markus M (Gast)


Lesenswert?

Christian schrieb:
> Wäre es nicht einfacher einen St Link Clone Programmer zu kaufen?

Das wäre defintiv um Welten einfacher ;)

Im Gegensatz zu dem Atmega, der schon rumliegt, müsste ich den 
Programmer aber eben erst kaufen.
Und wenn schon mal jemand etwas ähnliches gemacht hat, ist die 
Bastellösung nicht mehr viel schwieriger, dafür aber günstiger (okay, 
das ist bei den Kosten für das Teil n eher mittelmäßiges Argument) :)

Außerdem gibt's vielleicht -in ferner Zukunft- mit einem ähnlichen 
Problem, der sich über meine Vorarbeit freut :)


Ist dieser hier zu empfehlen?
http://www.aliexpress.com/item/STLINK-V2-STM8-STM32-emulator-programmer-mini-STLINK-downloader/1446941850.html
Bzw. kannst du aus persönlicher Erfahrung einen bestimmten empfehlen, am 
besten mit Bezugsquelle?

von Meister (Gast)


Lesenswert?

Nimm doch irgendein STM discovery Kit. Da kommst du für 7-10€ weg...

von Christian (Gast)


Lesenswert?

Laut Bewertungen von Aliexpress.com funktioniert den Adapter ganz gut 
(inkl.  Stm32)
http://de.aliexpress.com/item/Free-Shipping-1SET-ST-Link-st-link-V2-for-STM8S-STM8L-STM32-Cortex-M0-Cortex-M3/1619197946.html

PS: Ich benutze so was nicht,  da es kein Bedarf besteht. Da ich nur 
Descovery oder Nucleo verwende und die haben so etwas onboard.
Wenn ich etwas schneller und universelleres haben möchte,   dann würde 
ich in xer Richtung Segger Jlink edu gehen.

von ./. (Gast)


Lesenswert?

Tipp1: ST-Links auf STM32-Boards koennen keine STM8
programmieren/debuggen.

Tipp2: Kauf Dir ein STM8S-Board mit ST-Link (gibt es fuer
wenige Eu auch in D).
Deren ST-Link kann auch andere STM8 begluecken...

Selbst eine scheinbar vollstaendig vorliegende Dokumentation
des (ST8-)SWIM-Protokolls kann lueckenhaft sein.

Chinesische ST-Links aus der Bucht koennen sowohl STM8
als auch STM32 bedienen.
Nachteil: Lange Lieferzeit.
Vorteil: Konkurrenzlos guenstig...

Viel Erfolg!

von Markus M (Gast)


Lesenswert?

Danke für die Antworten.
Hab' mir jetzt einen ST-Link v2 Clone aus China bestellt.
Lieferzeit bis Ende August, evtl bin ich bis dahin so ungeduldig, dass 
ich mich doch noch selbst an einem Atmega-SWIM-Umsetzer versuche ;)

von Michael K. (Gast)


Lesenswert?

http://de.farnell.com/stmicroelectronics/stm8svldiscovery/kit-entw-board-discovery-stm8s/dp/2146077?ost=stm8s+value+line+discovery

Gut als STlink zu benutzen und für 7,21€ + MwSt + Porto in wenigen 
Stunden bei Dir.

von René K. (cyprius)


Lesenswert?

Du könntest versuchen den internen Bootloader zu nutzen, wenn UART und 
Boot-Pins zugänglich sind.

von Dirk K. (dekoepi)


Lesenswert?

Interner Bootloader? Fehlt bei meinen kleinen STM8. -> 
http://www.st.com/web/en/resource/technical/document/reference_manual/CD00190271.pdf

Da geht nur Programmieren via SWIM.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Christian schrieb:
> Wenn ich etwas schneller und universelleres haben möchte,   dann würde
> ich in xer Richtung Segger Jlink edu gehen.

JLink unterstützt SWIM leider nicht.

Dem Tipp mit dem Discovery Board kann ich mich nur anschließen.

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.