Auf Aliexpress gibt es dieses Entwicklungsboard mit einem STM8. Der hat laut Datenblatt 8KB Flash, 1KB RAM und 640B EEPROM. Der USB-Anschluss ist denke ich mal, nur für die Stromversorgung. Programmiert wird, soweit ich richtig informiert bin, über SWIM. Da wollte ich fragen, ob man das Board mit diesem Programmer programmieren kann bzw. ob da schon jemand Erfahrungen damit gemacht hat (Treiber, IDE)? http://de.aliexpress.com/item/ST-Link-st-link-V2-for-STM8S-STM8L-STM32-Cortex-M0-Cortex-M3-SWIM-JTAG-SWD/32322884886.html Board: http://de.aliexpress.com/item/J34-Free-Shipping-ARM-STM8-Development-Board-Minimum-System-Board-STM8S103F3P6-Module-for-Arduino/32351992629.html Ich weiß das dieses Board schon einmal im China Schnäppchen Thread aufgegriffen wurde, aber wurde meiner Frage keine Beachtung geschenkt.
:
Bearbeitet durch User
google schrieb: > Ja. Hast du schon Erfahrungen damit? Wenn ja: Wäre super wenn du die teilen möchtest :)
Ich habe im Beitrag "STM8 DevBoard für 1.30$?" geantwortet. Für weitere Fragen sollte es vorzugsweise in diesem Thread weiter gehen.
:
Bearbeitet durch User
Ich habe mir das Board bei Pollin geholt, den ST-Link/V2-Clone bei roboterbausatz.de gekauft, IAR in der eingeschränkten Version downgeloadet, mir dieses http://benryves.com/journal/3567231 und andere Tutorials bzw. Websites (viele russische) angeschaut und dann drauflos programmiert. Wenn man anfängt, sieht vieles ähnlich aus wie bei den STM32, aber für einen wirklichen Vergleich fehlt mir das Know-how. (Elektronik-/Informatikberufsfremder Hobbybastler) Mit der Firmware-Bibliothek ist es etwas umständlich, deswegen versuche ich derzeit, mich in die direkte Registerprogrammierung einzulesen.
und selbstverständlich die Datenblätter gelesen auf dem Ebookreader beim täglichen S-Bahnfahren ...
Ich kenne weder dieses Board noch diesen Programmer, mache aber einiges mit dem STM8S003 und dem Original Eval Board (STM8S value line discovery) der zugleich ein STlink V2 ist. (Farnell 7€) Da kannst Du nicht viel falsch machen. Die Firmware wurde schon extrahiert, was wohl die China Clone erklärt. http://www.taylorkillian.com/2013/01/retrieving-st-linkv2-firmware-from.html Der STlink V2 funktioniert super als Programmer und Debugger. Ich habe damals im Schnelldurchlauf alle Tools / IDEs ausprobiert auf die von ST verwiesen wird. Ich persönlich benutze den IAR weil der bis 8K frei ist und IDE + Compiler + Stlink Integration keine Wünsche übrig lassen. Freie Tools finde ich zwar prinzipiell besser aber ich hatte nie den Nerv mir aus SDCC + IDE (welcher ?) etwas zusammenzustückeln was wenigstens halb so rund und komfortabel ist wie der IAR. Ich habe schon selber mit den STlink V2 Clonen geliebäugelt weil die so schön klein sind. Geb mal Rückmeldung ob das alles reibungslos funktioniert hat. Ich wäre froh wenn mein 350$ AVR ONE halb so zuverlässig debuggen würde wie mein 7€ STlink V2 und nicht diese magischen Aussetzer hätte die ich Atmel für den Preis wirklich übel nehme. google schrieb: > Mit der Firmware-Bibliothek ist es etwas umständlich Da kann man mal reinschauen wenn aus dem Datenblatt einfach nicht ganz klar wird wie die das meinen, aber ansonsten ist die Firmware LIB grauenhaft umständlich, Recourcenverschwendend, unvollständig und teilweise fehlerhaft.
Danke für eure Antworten, sieht gut aus wenn das so funktioniert. google schrieb: > Mit der > Firmware-Bibliothek ist es etwas umständlich, deswegen versuche ich > derzeit, mich in die direkte Registerprogrammierung einzulesen. Meinst du die Firmware des STM8? Auf welche Probleme bist du da gestoßen?
Max MMM schrieb: > Meinst du die Firmware des STM8? Auf welche Probleme bist du da > gestoßen? Es gibt eine Firmware LIB in der die Standard Peripherie wie Uart , IIC etc. angesprochen wird ohne direkt die Register kennen zu müssen. Leider bleibt da oft im unklaren in welcher Betriebsart die Peripherie nun wirklich ist. Abnehmen / automatisieren tut die auch nichts, sondern man muß trotzdem wissen welches Bit denn vorher zu setzen ist, kommt also um das Datenblatt Studium nicht herum. Manche Betriebsarten sind über die LIB auch garnicht einzustellen so das man doch wieder direkt die Register setzen muß. Manchmal macht die LIB auch einfach Mist und es geht so garnicht, oder was wesentlichen wurde nicht gemacht. Am schlimmsten ist aber das die LIB mit den Recourcen rumsaut 247Byte um 5 Register zu setzen.
1 | UART1_Init (BaudRate, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, |
2 | UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE , UART1_MODE_TXRX_ENABLE ); |
Der Code der LIB ist als Nachschlagewerk nicht schlecht, weil das Datenblatt manchmal in Rätseln spricht.
Max MMM schrieb: > google schrieb: … 'google' hat 'ne eigene Homepage. Ich habe dort mal "bug STM8S/A Standard peripheral library" eingegeben. A Day in my Life I’ll Never Get Back: > the Baud Rate Registers (BRR1 and BRR2) are not being set correctly. http://blog.mark-stevens.co.uk/2012/06/sts-standard-peripheral-library-a-day-in-my-life-ill-never-get-back/ PS: Oops, Michael Knoelke war schneller. Immerhin behauptet STM, es gäbe ein 'bug free reference mapping file'. Wenigstens etwas!
:
Bearbeitet durch User
Torsten C. schrieb: > Immerhin behauptet STM Ja, Worte sind geduldig. Aus der von Dir verlinkten Seite:
1 | CW2 says: June 6, 2012 at 9:34 am |
2 | The SPL contains terrible bugs, IMHO it is not worth it for more serious work on simple micros like STM8S. |
3 | Your own methods will be most likely faster |
Hans Wilhelm schrieb: > Btw, compiler gibts seit einiger Zeit auch in open-source: Michael Knoelke schrieb: > Freie Tools finde ich zwar prinzipiell besser aber ich hatte nie den > Nerv mir aus SDCC + IDE (welcher ?) etwas zusammenzustückeln was > wenigstens halb so rund und komfortabel ist wie der IAR. Hat das mal jemand gemacht und kann berichten ? Ich wäre ja bereit zu wechseln, aber nicht um den Preis das ich wieder 30% meiner Zeit damit verbringe mit den Tools zu kämpfen statt mit der Programmierung.
Michael Knoelke schrieb: > http://www.cnx-software.com/2015/01/18/one-dollar-... Den Schaltplan-Fehler mit der LED ('Your STM8S Board Schematics is wrong') hast Du gesehen, oder? Michael Knoelke schrieb: > Ich wäre ja bereit zu wechseln Ehrliche Frage: Warum? Der IAR ist auf 8KB begrenzt und der STM8S103F3P6 hat eh nicht mehr. Hier nochmal : https://github.com/TorstenC/Notizblog/wiki/STM8S103F3P6 Meckereien? You are welcome! Max MMM schrieb: http://de.aliexpress.com/item/ST-Link-st-link-V2-for-STM8S-STM8L-STM32-Cortex-M0-Cortex-M3-SWIM-JTAG-SWD/32322884886.html Oh, ein paar Cent billiger, aber dafür Dicker. Ich bleibe bei meinen.
:
Bearbeitet durch User
Torsten C. schrieb: > hast Du gesehen, oder? Nö, ich verwende die Eval Boards nicht. Der Footprint ist selbst im Tonertransfer noch leicht zu ätzen und externe Beschaltung braucht der fast nicht, also warum ein extra Board nehmen wenn der Chip kein 30Cent kostet. > Ehrliche Frage: Warum? Aus mehreren Gründen. - Ich habe schon mit dem SDCC (MC51) gearbeitet und fand den sehr ordentlich gemacht, ausserdem nutze ich bei Gelegenheit gerne freie Tools. - Der IAR ist zwar wirklich toll, aber ich habe nicht vor je eine kostenpflichtige Vollversion davon zu kaufen, was mich zu so eine Art Schmarotzer macht. - Sollte ich mal mehr als 8K benötigen wäre es doch schön bereits mit einem Tools zu arbeiten das mich da nicht begrenzt. Torsten C. schrieb: > Oh, ein paar Cent billiger, aber dafür Dicker. Ich bleibe bei meinen. Siehst Du, ich verwende noch die gekürzte PCB des STM8S Value Line Discovery. Damit hast Du aber meine Frage beantwortet ob die China Clone zufriedenstellend funktionieren. Torsten C. schrieb: > Meckereien? You are welcome! Warum ? Als STM8 Verwender sind wir in diesem Forum extrem unterrepräsentiert. Ich bin mehr an einem Erfahrungsaustausch interessiert als an Gemecker.
Michael, die Aufforderung von Torsten zur Meckerei verstand ich bezüglich seiner Notizen auf github.com
Torsten C. schrieb: > Oh, ein paar Cent billiger, aber dafür Dicker. Ich bleibe bei meinen. Welchen benutzt du denn? Bzw. welchen Programmer würde ihr empfehlen?
:
Bearbeitet durch User
Max MMM schrieb: > Bzw. welchen Programmer würde ihr empfehlen? Ich denke, das ist total egal. Der schlankere hat für mich den Vorteil, dass der benachbarte USB-Port geringfügig besser erreichbar ist. Kauf ruhig den dickeren und berichte, dann wissen wir anschließend, ob auch dieser problemlos geht. ;-) > Welchen benutzt du denn? http://www.aliexpress.com/snapshot/6626732023.html Das steht aber auch in meinen Notizen auf github.com^^, ich will den Link nicht zum vierten mal posten. Mehmet Kendi schrieb: > die Aufforderung von Torsten zur Meckerei ... Genau: Was gefällt ihm daran nicht, oder warum schaut er nicht einfach mal rein?!
Torsten C. schrieb: > Kauf ruhig den dickeren und berichte, dann wissen wir anschließend, ob > auch dieser problemlos geht. ;-) Ist bestellt. Wenns da ist, melde ich mich.
Torsten C. schrieb: > Was gefällt ihm daran nicht, oder warum schaut er nicht einfach mal > rein?! Ich jetzt ? Hab doch reingeschaut aber wer STM8 + IAR + STlink kennt der erfährt nichts neues und wer es nicht kennt der erfährt nichts was nicht auch auf der ST Seite steht. Ist okay aber nichts worüber ich jetzt lange reden müsste.
Hi >Ist bestellt. Wozu? >Wenns da ist, melde ich mich. Und dann? Ehrlich gesagt, wenn ich mir deine Beiträge hier im Forum ansehe, ist Elektronik vielleicht das falsche Hobby für dich. Dir mangelt es massiv an Eigeninitiative. Mfg Spess
Michael K. schrieb: > Ich persönlich benutze den IAR weil der bis 8K frei ist und IDE + > Compiler + Stlink Integration keine Wünsche übrig lassen. Ich hab mal auf der Homepage geschaut, da wird von einer 30 Tage Version gesprochen? http://supp.iar.com/Download/SW/?item=EWARM-EVAL Edit: Okay, es gibt auch noch eine "Kickstart, size-limited evaluation".
:
Bearbeitet durch User
Torsten C. schrieb: > Kauf ruhig den dickeren und berichte, dann wissen wir anschließend, ob > auch dieser problemlos geht. ;-) Falls es noch wen interessieren sollte, der STLink von hier: http://www.aliexpress.com/item/ST-Link-st-link-V2-for-STM8S-STM8L-STM32-Cortex-M0-Cortex-M3-SWIM-JTAG-SWD/32322884886.html funktioniert einwandfrei.
Ich bin gerade dabei mir eine Open source toolchain unter Windows (MinGW32) zusammen zu basteln. - Compiler: SDCC funktioniert so weit, abgesehen von der anscheinend unvollständigen Unterstützung von C99. (Definition von Variablen in Schleifen ist nicht erlaubt?) Nur, woher bekommen ich offizielle header-file für die einzelnen devices? Für die meisten anderen controller kommen welche mit SDCC. Die für STM8 muss man sich zusammenklauben. Gibt es da eine bessere Quelle? - Uploader: Hier gibt es ein OS-Tool, welches einen STLINKV2 nutzt um den STM8 per SWIM zu programmieren: https://github.com/vdudouyt/stm8flash Unter Linux funktioniert das Problemlos. Unter windows lässt sich der Code zwar complilieren, beim Ausführen gibt es aber eine Fehlermeldung wegen Problemen mit Libusb. Nutzt jemand dieses Tool erfolgreich unter Windows?
Tim . schrieb: > Ich bin gerade dabei mir eine Open source toolchain unter Windows Mein Beileid! > (MinGW32) zusammen zu basteln. > Nur, woher bekommen ich offizielle header-file für die einzelnen > devices? Für die meisten anderen controller kommen welche mit SDCC. Die > für STM8 muss man sich zusammenklauben. Gibt es da eine bessere Quelle? Besser als was? Du hast die SPL für STM8S bei ST gefunden? Du kennst https://github.com/gicking/SPL_2.2.0_SDCC_patch? > Hier gibt es ein OS-Tool, welches einen STLINKV2 nutzt um den STM8 per > SWIM zu programmieren: > > https://github.com/vdudouyt/stm8flash > > Unter Linux funktioniert das Problemlos. Unter windows lässt sich der > Code zwar complilieren, beim Ausführen gibt es aber eine Fehlermeldung > wegen Problemen mit Libusb. Tragisch. > Nutzt jemand dieses Tool erfolgreich unter Windows? Nein. Es funktioniert prima unter Linux aber ich vermeide Windows wo immer es geht. Andererseits gibt es für Windows doch Keil und Cosmic und STVP und Scheiße mit Reis - wahlweise kostenpflichtig [1] oder kostenlos. Nimm doch das [1] [1] wer kein Problem damit hat, $$$ für sein Betriebssystem [2] zu bezahlen, sollte doch auch $$$ für Anwendungen übrig haben, oder? [2] maul nicht rum, das war doch deine Entscheidung, oder?
Hi, ich kann dir STVD und den Cosmic C Compiler empfehlen, der seit März sogar ohne Codegrößenbeschränkung daher kommt (8bit Version). Debuggen mit dem STLink funktioniert, die Header funktionieren, alles läuft halbwegs rund. Falls dir Codebeschränkungen nichts ausmachen und dir 8kbyte reichen würde ich trotzdem IAR empfehlen, da einfach einfacher. Aber ich denke du bist anscheinend relativ schmerzfrei wenn du mit dem SDCC hantierst.
:
Bearbeitet durch User
Max M. schrieb: > Aber ich denke > du bist anscheinend relativ schmerzfrei wenn du mit dem SDCC hantierst. Für jemanden, der sich über die Lücken im C99-Modus in SDCC beschwert, sind Cosmic und Raisonance wohl keine Option. Die haben ja nichtmal einen C99-Modus. Philipp
Max M. schrieb: > Auf Aliexpress gibt es dieses Entwicklungsboard mit einem STM8. Der hat > laut Datenblatt 8KB Flash, 1KB RAM und 640B EEPROM. Der USB-Anschluss > ist denke ich mal, nur für die Stromversorgung. Programmiert wird, > soweit ich richtig informiert bin, über SWIM. Da wollte ich fragen, ob > man das Board mit diesem Programmer programmieren kann bzw. ob da schon > jemand Erfahrungen damit gemacht hat (Treiber, IDE)? Das sieht nach einer teilbestücken Variante des HCDVBD0019 aus. Dafür gibt es SDCC-Tutorials hier: http://www.colecovision.eu/stm8/ Philipp
Max M. schrieb: > ich kann dir STVD und den Cosmic C Compiler empfehlen, der seit März > sogar ohne Codegrößenbeschränkung daher kommt (8bit Version). > Debuggen mit dem STLink funktioniert, die Header funktionieren, alles > läuft halbwegs rund. Werde mir den Cosmic-Compilter einmal anschauen. Leider dauert es ja mit der Lizenz. > Falls dir Codebeschränkungen nichts ausmachen und dir 8kbyte reichen > würde ich trotzdem IAR empfehlen, da einfach einfacher. Aber ich denke > du bist anscheinend relativ schmerzfrei wenn du mit dem SDCC hantierst. Die kostenlose IAR-Version liefert nicht einmal ein Listing-File. Das ist mir dann doch etwas zu blöd.
Habe dieses Kommandozeilentool jetzt auch unter windows compilieren können: https://github.com/vdudouyt/stm8flash Damit lassen sich STM8 über die normale ST-Link Hardware programmieren und auslesen. Binary anbei.
Ich arbeite gerade an einem Vergleich der Compiler für STM8 (der steht zur Zeit sehr unfertig auf http://colecovision.eu/stm8/compilers.shtml). Der Abschnitt zur Standardkompatibilität könnte schon brauchbar sein. Gerade habe ich Dhrystone 'mal mit den Standardeinstellungen von SDCC und Cosmic kompiliert. Cosmic generiert für Dhrystone etwa 30% kleineren, etwa doppelt so schnellen Code. Aber SDCC generiert korrekten Code. Bei Cosmic dagegen schlägt der in Dhrystone eingebaute Selbsttest fehl:
1 | […] |
2 | Discr: 34 |
3 | should be: 0 |
4 | Enum_Comp: 546 |
5 | should be: 2 |
6 | […] |
7 | Discr: 34 |
8 | should be: 0 |
9 | Enum_Comp: 290 |
10 | should be: 1 |
11 | […] |
12 | Enum_Loc: 290 |
13 | should be: 1 |
Philipp
Also ich habe hier noch zwei original verpackte STM8S-DISCOVERY Boards rumliegen. Wer bereit ist 5,00 EUR für den Versand zu zahlen, kann beide gerne haben. Bedingung: Nicht für den kommerziellen Einsatz. Grüße, Florian ------- Edit: Der erste hat sich schon gemeldet, bitte keine weiteren Nachrichten an mich wegen den Boards.
:
Bearbeitet durch User
Der durch SDCC erzeugte Code birgt allerdings noch einige Überraschungen. Siehe z.B. die einfache Warteschleife aus dem Beispiel unten. - Das X-Register wird unnötigerweise auf den Stack geschrieben und wieder ausgelesen - Zum setzten des Z-Flash wird der Stack danach ins Y-Register gelesen?
1 | ; blinky.c: 15: for(d = 0; d < 59000; d++) { } |
2 | ldw x, #0xe678 |
3 | 00107$: |
4 | decw x |
5 | ldw (0x01, sp), x |
6 | ldw x, (0x01, sp) |
7 | ldw y, (0x01, sp) |
8 | jrne 00107$ |
Meine Güte, mit einer 8-Bit Variablen wird es noch schlimmer:
1 | ; blinky.c: 15: for(d = 0; d < 190; d++) { } |
2 | ld a, #0xbe |
3 | ld xl, a |
4 | 00107$: |
5 | ld a, xl |
6 | dec a |
7 | ld xl, a |
8 | tnz a |
9 | jrne 00107$ |
10 | ; blinky.c: 16: } while(1); |
Auf http://www.colecovision.eu/stm8/compilers.shtml gibt es inzwischen auch erste Graphiken zum Vergleich von Codegröße und -geschwindigkeit. Allerdings bin ich mir noch nicht sicher, ob ich es nicht noch mehr Varianten (Optimierung auf Codegröße vs. Geschwindigkeit vs. Ausgeglichen) aufnehmen soll, die bei manchen Compilern möglich sind. Die aktuellen Graphiken sind erstellt mit: Cosmic: Default-Optimierung SDCC: --max-allocs-per-node 100000 (starke ausgelichene Optimierung) Raisonance: Default (starke Optimierung aus Codegröße) IAR: Release-Default (starke ausgelichene Optimierung) Auch Anregungen zur Verbesserung des Vergleichs sind willkommen. Philipp
Wow, sehr interessant! Was aber meiner Meinung nach nicht ganz stimmt ist, dass der IAR auf 30 Tage beschränkt ist, das ist er zwar, aber sobald man sich registriert kann man den Compiler dauerhaft mit einer Codebeschränkung nutzen: "Restrictions to the Kickstart, size-limited evaluation A 8 Kbyte code size limitation. Source code for runtime libraries is not included. No support for MISRA C. Limited technical support." https://www.iar.com/iar-embedded-workbench/#!?architecture=STM8
Max M. schrieb: > Wow, sehr interessant! Was aber meiner Meinung nach nicht ganz stimmt > ist, dass der IAR auf 30 Tage beschränkt ist, das ist er zwar, aber > sobald man sich registriert kann man den Compiler dauerhaft mit einer > Codebeschränkung nutzen: > > "Restrictions to the Kickstart, size-limited evaluation > > A 8 Kbyte code size limitation. > […] Ich werd's noch erwähnen (gibt es sowas nicht auch bei Raisonance mit 2KB oder so?). Aber 8 KB sind halt arg wenig. Erst recht für den Compiler, der im Allgemeinen den größten Code erzeugt. Keiner der Benchmarks aus dem Vergleich paßt mit IAR kompiliert in 8 KB. Philipp P.S.: Hab' mich nun dafür entschieden, alle Optimierungsvarianten (Speed, Balance, Size), soweit für den Compiler verfügbar, in den Vergleich aufzunehmen.
Hier steckt er unter einem OLED-Display: Beitrag "Prozessor von "Mini OLED USB Charger Capacity power Current Voltage Detector Tester Meter"?"
http://www.aliexpress.com/item/-/32647902936.html Im gleichen Shop gibt es auch M590E GSM GPRS Module.
:
Bearbeitet durch User
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.