Schönen guten Tag, ich habe mir ein kleines Thermostat gekauft, und aus Neugierde mal aufgemacht. In drinnen arbeitet ein kleiner 8-Bit stm8l052c6t6. http://www.mouser.com/ds/2/389/DM00057687-492223.pdf Laut Datenblatt habe ich jetzt auch schon herausgefunden, dass er sich per USART Programmieren lassen müsste, und dass die Pins USARTT1_CK,V+,USART_TX,GND rausgeführt sind. (Leider nicht USART_RX:() Um das ganze jetzt zum rollen zu bringen, welche Software bräuchte ich denn um für den Mikrocontroller zu entwickeln? LG. Coco
Hallo, eine Möglichkeit wäre der Small Device C Compiler (SDCC). mfg Torsten
OK danke, die letzten posts enthalten ja schon mal einen Compiler. Jetzt bräuchte ich ja nur noch einen uart-flasher.
:
Bearbeitet durch User
Taugt das was: http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC1807/SS1747/PF210567?sc=stvd# ?
Geht der st-link v2 nicht für die Programmierung des stm8? http://m.ebay.com/itm/ST-Link-V2-Compatible-STM8-STM32-Programmer-with-4-Spring-Loaded-Pogo-Pins-/201303925381
Hier gibt's auch ein paar Tutorials: http://colecovision.eu/stm8/ Zwar für Entwicklungsboards, aber möglicherweise auch für Deinen Fall besser als nichts. Philipp
Ich meine als "Flasher" eher so eine Art Programm :D, einen ftdi habe ich
Ich bezweifle aber, dass Dir die software hilft. Als nächstes wirst Du nach einem disassembler schreien oder nach der Firmware, die Du zerschossen hast. Irgendwann fliegt es in die Ecke. Grund: Reverse Engineering funktioniert nur, wenn man Ahnung von der verwendeten Technik hat. Du kennst nicht mal den Schaltplan, noch weißt Du, wie der Proz funktioniert. Es ist nicht mal sicher, ob die "serielle", die Du gefunden hast, nicht eher das SWIM-Interface ist.
Danke für die vielen nützlichen Antworten (bis auf die eine da) Jetzt denke ich mal, dass ich loslegen kann.
Coco J. schrieb: > Danke für die vielen nützlichen Antworten (bis auf die eine da) Zeig doch bitte Deine Fortschritte in diesem thread hier ... und strafe mich so Lügen ... ;-)
Andreas R. schrieb: > Geht der st-link v2 nicht für die Programmierung des stm8? Doch, sogar für source-level-debugging. Coco J. schrieb: > einen ftdi habe ich Warum so kompliziert? Kommst Du nicht an die SWIM-Pins? Philipp Klaus K. schrieb: > Welcher Thermostat ist es eigentlich? Das würde mich auch interessieren.
> Um das ganze jetzt zum rollen zu bringen, welche Software bräuchte ich > denn um für den Mikrocontroller zu entwickeln? Deutlich besser zum Lernen geeignet als ein Thermostat und vermutlich sogar billiger: http://www.st.com/web/catalog/tools/FM116/SC959/SS1673/PF250636?sc=internet/evalboard/product/250636.jsp http://www.watterott.com/de/STM8L-Discovery
Das STM8L-Discovery war auch meine erste STM8-Hardware. Aber mich interessiert auch, wo man die STM8 außerhalb von Enticklungsboards so findet. Und ob da geeignetes Spielzeug dabei ist. Philipp
Interessant sind die Dinger schon: https://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate Tasten, Display, Motor, Temperaturfühler, usw.
STM schrieb: > Interessant sind die Dinger schon: > > https://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate > > Tasten, Display, Motor, Temperaturfühler, usw. Dort finden sich aber, soweit ich sehe, keine mit STM8. Philipp
STM schrieb: > Beitrag "EQ 3N Heizkörperthermostat Schaltplan" Bei dem Thermostat in diesem Schaltplan sind aber Reset (PA1) und SWIM (PA0) auf den Programmieranschluß herausgeführt. Das ergibt auch viel mehr Sinn als die Belegung des TE (die er vermutlich einfach nur falsch ermittelt hat). Und dann braucht er keinen seriellen Adapter, sondern einen SWIM Adapter. Entweder so ein ST-Link in USB-Stick Form vom Chinamann (ebay) oder den SWIM-Adapter von einem STM8 Discovery.
es ist dieses Thermostat hier. https://www.reichelt.de/Regler-Thermostate/EHT-CLASSIC-N/3/index.html?&ACTION=3&LA=5000&GROUP=X3512&GROUPID=4388&ARTICLE=144068&START=0&SORT=artnr&OFFSET=16 Ich finde es schön, dass, egal welchen Thread man hier durchließt, immer die Antwort bekommt "Ist doch nutzlos" oder "du hast ehh keine Ahnung" "das ist zu schwer für dich" blablablabla. Tut mir leid. Bei solchen Antworten sehe ich Rot. Also entweder ignoriere den Thread, wenn du meinst, dass ich zu dumm dafür bin, oder geb konstruktive Antworten. Manchmal ist der Weg das Ziel. ***** Im Datenblatt steht was von Uart-Bootloader, daher hoffte ich, ein FTDI reicht. ***** Wenn am Ende des Tages nichts funktioniert, reiß ich die Schaltung einfach raus, hänge meinen ESP8266 dran und bin auch glücklich, aber ich möchte halt mal die elegantere Lösung ausprobieren. **** Ja wie es scheint, habe ich mich in dem Pin geirrt. Die rausgeführten Pins sind SWIM Pins (RST und SWIM). Ich werd mir mal einen günstigen SWIM Adapter vom Chinamann besorgen.
:
Bearbeitet durch User
Coco J. schrieb: > Ja wie es scheint, habe ich mich in dem Pin geirrt. Die rausgeführten > Pins sind SWIM Pins (RST und SWIM). Ich werd mir mal einen günstigen > SWIM Adapter vom Chinamann besorgen. Ja, lohnt sich weil man prima debugen + visualisieren kann. Kein Vergleich zum extrem beschränktem Uart debugging. Die STM Software finde ich ziemlich scheußlich. Die IAR Kickstart Edition ist bis 8K frei und wirklich empfehlenswert. Ich habe noch keinen Weg gesehen das mit freien Tools zu erreichen. Der STlink ist voll eingebunden, auch die billigen China Clone. > "das ist zu schwer für dich" blablablabla. Vergiss das, einfach.
Coco J. schrieb: > finde es schön, dass, egal welchen Thread man hier durchließt, immer > die Antwort bekommt "Ist doch nutzlos" oder "du hast ehh keine Ahnung" > "das ist zu schwer für dich" blablablabla. Tut mir leid. Bei solchen > Antworten sehe ich Rot. Also entweder ignoriere den Thread, wenn du > meinst, dass ich zu dumm dafür bin, oder geb konstruktive Antworten. > Manchmal ist der Weg das Ziel. Deine Fortschrittsmeldungen sind hier (sicher nicht nur von mir) gern gesehen, da offensichtlich Interesse an den Thermostaten besteht und Infos zum STM8 nicht so reichlich zu finden sind.
Ich hab einen STM8S105K4T6 auf einen QFN32 Adapter gelötet. Und nun?
Das ist ein interessanter STM8-hack mit guter Beschreibung auch der Entwicklungsumgebung: http://smokedprojects.blogspot.de/2013/08/i2c-led-display-from-hacked-voltmeter.html
... und ein STM8-moodlight auf Vietnamesisch: http://codientu.org/threads/13461/ (Software unter Nutzung der Firmware-Lib erstellt)
Philipp Klaus K. schrieb: > Hier gibt's auch ein paar Tutorials: > > http://colecovision.eu/stm8/ Die sind interessant, weil die Firmware-Lib gar nicht benutzt wird. z. B. http://colecovision.eu/stm8/S-Discovery%20LED.shtml (unter "The Demo")
und ein gut gemachtes Tutorial: http://www.electroons.com/blog/2015/06/getting-started-with-stm8s-discovery-board-part-1-tools/
Ich hab' mir nun auch 'mal so ein Thermostat bestellt. Wenn ich nächstes Jahr Zeit finde, kann ich dann ja ein Tutorial "Getting started with STM8 development using free tools and the Model N Thermostat" oder so schreiben. Philipp
Philipp Klaus K. schrieb: > STM8 development using free tools Interessant wäre wie man sich mit freien Tools eine Entwicklungsumgebung zusammenstellt die an z.B. die IAR Kickstart Edtion herankommt. D.H. Debugger Support, Option Byte setzen, Visualisierung von Variablen zur Laufzeit etc. pp. Dieses unsägliche STM Tool zum flashen zu verwenden und unter Linux auf den Debugger ganz verzichten zu müssen bringt es irgendwie nicht.
Michael K. schrieb: > Philipp Klaus K. schrieb: >> STM8 development using free tools > > Interessant wäre wie man sich mit freien Tools eine Entwicklungsumgebung > zusammenstellt die an z.B. die IAR Kickstart Edtion herankommt. > D.H. Debugger Support, Option Byte setzen, Visualisierung von Variablen > zur Laufzeit etc. pp. Was hier fehlt, ist der Debug Adapter. Die Hardware hat man zwar mit dem ST-Link, aber es gibt von ST keine Linux-Software. Und Dritte haben sich bis jetzt nicht gefunden. Der erste Ansprechpartner für dich als Kunde wäre ST. Als zweites könntest du ein Projekt starten, das einen gdbserver für STM8 zum Ziel hat. Mit stlink (das Funktionsäquivalent für STM32) hätte man ja schon mal etwas zum abkupfern. Alternativ könnte man openocd für STM8 aufbohren. > Dieses unsägliche STM Tool zum flashen zu verwenden und unter Linux auf > den Debugger ganz verzichten zu müssen bringt es irgendwie nicht. Was hast du an stm8flash auszusetzen? Für mich funktioniert das prima. Es kann Flash, EEPROM und Option-Byte lesen und (vermutlich, bis jetzt habe ich nur Flash gebraucht) auch schreiben.
Den ST-Link kann man mit Wine betreiben, wenn man eine Uebersetztungs DLL hat, die die stlinkusbdriver.dll Aufrufe entweder nach libusb uebersetzt:https://github.com/UweBonnes/wine/tree/stlink.
Axel S. schrieb: > Der erste Ansprechpartner für dich als Kunde > wäre ST. Die Antwort kennen wir doch. Es gibt keine entsprechende Linux Software. > Was hast du an stm8flash auszusetzen? Für mich funktioniert das prima. > Es kann Flash, EEPROM und Option-Byte lesen und (vermutlich, bis jetzt > habe ich nur Flash gebraucht) auch schreiben. Ja es kann das alles, auch Option Byte + EEPROM schreiben. Ich bin aber vom IAR sehr verwöhnt bei dem ich das alles innerhalb der IDE machen kann inkl. Debuggen. > Als zweites könntest du ein Projekt starten, das einen > gdbserver für STM8 zum Ziel hat. Mit stlink (das Funktionsäquivalent für > STM32) hätte man ja schon mal etwas zum abkupfern. Alternativ könnte man > openocd für STM8 aufbohren. Das könnte man alles tun, aber dazu habe ich weder Zeit, Lust noch Befähigung. Ich wollte auch nur auf den Umstand hinweisen das die Verwendung freier Tools nicht bei Eclipse und SDCC aufhört. Das Hex File in einem extra Tool in den STM zu flashen und zum Debuggen wieder was anderes machen zu müssen ist extrem lästig. Ich persönlich bin ohnehin ein Freund von Windows und gut gemachter Software auch wenn die nicht frei ist. Für recht viele andere ist aber Linux das einzig wahre und da ist für den STM8 noch wenig benutzbar ohne massiv Hand anlegen zu müssen. Da Philip sich angeboten hat ein Tutorial zu schreiben wäre es doch toll nicht da aufzuhören wo alle anderen aufhören. SDCC -> Hex -> Windows stm8flash. Debugger = Fehlanzeige.
Michael K. schrieb: > Philipp Klaus K. schrieb: >> STM8 development using free tools > > Interessant wäre wie man sich mit freien Tools eine Entwicklungsumgebung > zusammenstellt die an z.B. die IAR Kickstart Edtion herankommt. Manche verwenden SDCC zusammen mit Code::Blocks, Eclipse oder Anjuta (siehe z.B. http://blog.podstuff.de/setup-codeblocks-for-stm8s-discovery/). Philipp
Axel S. schrieb: > Michael K. schrieb: >> Philipp Klaus K. schrieb: >>> STM8 development using free tools >> >> Interessant wäre wie man sich mit freien Tools eine Entwicklungsumgebung >> zusammenstellt die an z.B. die IAR Kickstart Edtion herankommt. >> D.H. Debugger Support, Option Byte setzen, Visualisierung von Variablen >> zur Laufzeit etc. pp. > > Was hier fehlt, ist der Debug Adapter. Die Hardware hat man zwar mit dem > ST-Link, aber es gibt von ST keine Linux-Software. Und Dritte haben sich > bis jetzt nicht gefunden. Der erste Ansprechpartner für dich als Kunde > wäre ST. Als zweites könntest du ein Projekt starten, das einen > gdbserver für STM8 zum Ziel hat. Mit stlink (das Funktionsäquivalent für > STM32) hätte man ja schon mal etwas zum abkupfern. Alternativ könnte man > openocd für STM8 aufbohren. Es gibt auch einen offene feature requst für STM8-Unterstützung: https://github.com/texane/stlink/issues/154 Philipp
Philipp Klaus K. schrieb: > Manche verwenden SDCC zusammen mit Code::Blocks, Eclipse oder Anjuta Und flashen ausserhalb der IDE wieder mit dem ST kram und können unter Linux den Debugger nicht benutzen. Wir drehen uns im Kreis.
Michael K. schrieb: > Philipp Klaus K. schrieb: >> Manche verwenden SDCC zusammen mit Code::Blocks, Eclipse oder Anjuta > > Und flashen ausserhalb der IDE wieder mit dem ST kram Warum müssen sie das außerhalb der IDE tun? Die meisten IDE erlauben es, eigene Tools zu definieren. Ich persönlich mag es ja noch viel lieber, auf der Kommandozeile "make flash" zu sagen. Oder im Editor F9 zu drücken, in der aufpoppenden Kommandozeile das "make" noch mit " flash" zu ergänzen und auf Return zu drücken. > und können unter Linux den Debugger nicht benutzen. "Haben keinen Debugger" wolltest du wohl sagen. Und? Ein Debugger ist Luxus. Gute Programmierer kommen auch ohne aus.
Axel S. schrieb: > Ein Debugger ist > Luxus. Gute Programmierer kommen auch ohne aus. Hoho, dann hat sich eine ganze Industrie wohl in die falsche Richtung entwickelt. Klar kommt man ohne aus. Uart oder Pin-Debugging nennt sich das. Wer aber mal mit Debuger gearbeitet hat möchte darauf nicht verzichten weil es einfach schneller und effizienter geht als sich Werte rauszupulen und auf den Uart zu schicken. Breakpoints zu setzen oder jederzeit bis in die register Ram EEprom zellen schauen zu knne ist wirklich schick. Das ist nicht nur für 'schlechte' Programmierer hilfreich.
Michael K. schrieb: > Für recht viele andere ist aber Linux das einzig wahre und da ist für > den STM8 noch wenig benutzbar ohne massiv Hand anlegen zu müssen. Doch. Möglicherweise nicht für Deinen Workflow und Deine Präferenzen. Andere ziehen Texteditoren und Makefiles vor. Und mehrere Tools die jeweils Ihre Aufgabe erledigen statt einer IDE. Philipp
Meine Güte, warum muß eigentlich immer gleich alles zum Glaubenskrieg werden? Darf doch jeder machen wie er will. Von mir aus unter Linux mit Wine und Handgefriggel ohne Debugger. Sei es drum wenn es euch glücklich macht. Meine ursprüngliche Frage war wie sich die Annehmlichkeiten einer IDE und die Verwendung des Debuggers auch mit freien Tools erreichen lassen, möglichst auch unter Linux, obwohl ich das selber kaum benutze. Wenn das gleich als Angriff auf Eure Grundwerte verstanden wird und das nur schlechte programmierer einen Debugger zu schätzen wissen, dann weiß ich hier auch nicht weiter und verbleibe mit freundlichen Grüßen.
Michael K. schrieb: > Meine Güte, warum muß eigentlich immer gleich alles zum Glaubenskrieg > werden? Ich frage mich vor allem, worum es dir eigentlich geht? Nach deinen eigenen Worten bist du ohnehin lieber auf Windows und mit IDE a'la Keil unterwegs. Und zahlst gern für Software. Dann bist du doch versorgt. Was soll das Gejaule darüber, daß es für Linux keinen Debugger für STM8 gibt? Und daß dir da keiner eine fertig konfigurierte IDE auf die Platte kippt sondern du dir das in Eclipse oder Code::Blocks oder ... selber zusammenklicken mußt? > Meine ursprüngliche Frage war wie sich die Annehmlichkeiten einer IDE > und die Verwendung des Debuggers auch mit freien Tools erreichen lassen, > möglichst auch unter Linux Und die Antwort hast du bekommen. IDE ja, Debugger nein.
Vo zwei Jahren gab es keine freien tools für STM8. Jetzt haben wir SDCC, stm8flash für den ST-Link, und tools für den bootloader im ROM, um ohne ST-Link zu arbeiten. Und Tutorials die zeige , wie man das auf verschiedenen Boards oder mit verschiedenen IDEs nutzt. Aber es gibt halt auch noch viel zu tun. Philipp
Michael K. schrieb: > Die IAR Kickstart Edition ist bis 8K frei und wirklich empfehlenswert. Kostenlos, nicht frei. Philipp P.S.: SDCC unterstützt zur Zeit für STM8 noch kein __far und __banked, und ist damit noch auf die unteren 64K des Adressraums beschränkt. Allerdings haben die meisten STM8 eh nicht mehr Speicher.
Michael K. schrieb: > Ich bin aber vom IAR sehr verwöhnt […] Der IAR ist schon recht gut im Vergleich mit allen anderen Toolchains für STM8. Auf Anhieb fallen mir nur 3 bedeutende Vorteile der freien tools gegenüber IAR ein. Philipp
Axel S. schrieb: > Was soll das Gejaule darüber, daß es für Linux keinen Debugger für STM8 > gibt? Und daß dir da keiner eine fertig konfigurierte IDE auf die Platte > kippt sondern du dir das in Eclipse oder Code::Blocks oder ... selber > zusammenklicken mußt? Jetzt komm mal wieder runter mein Freund. Ich habe nicht gejault, ich habe die ehrlich gemeinte Frage gestellt ob das was mir der IAR liefert so mit freien Tools auch geht. Ich habe nur angemerkt das momentan noch viel Handarbeit nötig ist um das unter Linux zum laufen zu bringen, etwas das mich z.B. abgeschreckt hat weil ich in Linux auch nicht wirklich fit bin. Ich bin auch nicht freudig erregt Geld für Software bezahlen zu dürfen, aber ich bin dazu bereit bevor ich mir das schönreden muß das es keinen Debugger gibt nur um irgendwelchen Grundsätzen treu zu bleiben die alles verteufeln was kommerziell ist. Wenn es denn ein vernünftiges Tutorial gibt wie man das alles zum Laufen bekommt ohne viele Stunden in der klein, klein Problemlösung zu verbringen hätte ein Link gereicht. Ich habe sowas nämlich nicht gefunden bei meinen Recherchen, sondern viele halbe Ansätze die mich irgendwo auf GIT abladen und mir sagen, steht doch alles im code mach mal. Du kannst Dein Kriegsbeil also wieder eingraben, denn auf diesen Penälerquatsch und diesen anmaßenden Ton habe ich absolut keine Lust.
Michael K. schrieb: > Die IAR Kickstart Edition ist bis 8K frei und wirklich empfehlenswert. Michael K. schrieb: > Ich bin aber vom IAR sehr verwöhnt bei dem ich das alles innerhalb der > IDE machen kann inkl. Debuggen. Michael K. schrieb: > Ich persönlich bin ohnehin ein Freund von Windows und gut gemachter > Software auch wenn die nicht frei ist. Das klingt alles so, als ob du dir einfach den IAR unter Windows zulegen und dann den STM8 damit genießen solltest. Wenn du so sehr mit einer komfortablen all-in-one-Umgebung zufrieden bist, dann nutze doch einfach die, die es bereits für solche wie dich gibt. Ich sehe dein Problem an der Stelle nicht. Michael K. schrieb: > Für recht viele andere ist aber Linux das einzig wahre und da ist für > den STM8 noch wenig benutzbar ohne massiv Hand anlegen zu müssen. Das mag sein, aber diese Leute können auch gut für sich selbst sprechen. Michael K. schrieb: > möglichst auch unter Linux, obwohl ich das selber kaum benutze. Wenn es für deinen Workflow uninteressant ist, ob es freie Tools gibt und in welchem Zustand die sind, dann brauchst du dafür nicht trommeln. Die Leute, die sich dafür interessieren, kümmern sich darum, dass ihr Workflow funktioniert - nicht deiner.
Philipp Klaus K. schrieb: > Vo zwei Jahren gab es keine freien tools für STM8. Jetzt haben wir > SDCC, stm8flash für den ST-Link, und tools für den bootloader im ROM, > um ohne ST-Link zu arbeiten. Yep, es geht vorwärts. Für kleine Sachen (was man halt typisch auf einem 8-Bitter mit wenigen KB Code macht) reicht das schon. Was den Debug-Teil angeht: ich habe mir das mal angeschaut und es ist leider ein Haufen Arbeit. Das SWIM Interface ist gut dokumentiert (UM0470), das Protokoll hin zum ST-Link leider nicht. Neben dem Debug-Server muß auch der gdb selber angefaßt werden. Mindestens das Register-Mapping und ein Disassembler sind Teil des gdb.
Michael K. schrieb: > Wenn es denn ein vernünftiges Tutorial gibt wie man das alles zum Laufen > bekommt ohne viele Stunden in der klein, klein Problemlösung zu > verbringen hätte ein Link gereicht. http://blog.podstuff.de/setup-codeblocks-for-stm8s-discovery/ Ist zwar für Windows. Aber da es Code::Blocks auch für Linux gibt, sollte das dort äquivalent umsetzbar sein. Und hier: http://blog.podstuff.de/stm8s-discovery-first-program/ ist beschrieben, wie man das Kommandozeilen-Flashtool von ST automatisch von Code::Blocks aufrufen läßt. Das sollte sich dann ganz ähnlich mit stm8flash machen lassen.
Philipp Klaus K. schrieb: > Ich hab' mir nun auch 'mal so ein Thermostat bestellt. Wenn ich nächstes > Jahr Zeit finde, kann ich dann ja ein Tutorial "Getting started with > STM8 development using free tools and the Model N Thermostat" oder so > schreiben. > > Philipp Für das Thermostat reichte die Zeit zwar noch nicht, aber die Tutorials auf http://www.colecovision.eu/stm8/ wurden aktualisiert und ergänzt (nun 24 Tutorials für 13 Entwicklungsboards). Wenn ich wieder Zeit und Lust für Tutorials finde, soll es noch 5 weitere für die dortigen Boards geben; danach kämen dann weitere Boards oder das Thermostat dran. Daneben unterstützt stm8flash nun alle zur Zeit bei ST gelisteten STM8-Varianten (bisher nur im Fork auf https://github.com/spth/stm8flash, aber ich gehe davon aus, das Valentin das auch bald upstream nach https://github.com/vdudouyt/stm8flash übernimmt). SDCC kann nun für STM8 statt Intel Hex auf ELF ausgeben, wobei dann DWARF-Debuginformationen enthalten sein können, was das Debuggen mit SDCC kompilierter Programme in STVD ermöglichen sollte. Philipp
Heute ist mein Thermostat gekommen, anbei ein Bild von der Platine. Pin 1 des STM8L052C6T6 ist SWIM, Pin 2 ist NRST, demzufolge liegen an PRG1 auf dem Bild von unten nach oben SWIM, Vcc, NRST, GND.
Sorry an die Mods, weiter oben habe ich als user "STM" geschrieben, die verschiedenen Namen sind keine böse Absicht.
Der Vollständigkeit halber anbei noch die Bilder der für 19,95 € bei Pollin erhältlichen bluetooth-Variante ..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.