Hallo Zusammen, gestern habe ich mir auf der Embedded in Nürnberg ein STM32 Board mitgenommen. Man musste sich vorher im Internet eintragen und konnte dann einfach eines am STM-Stand mit dem Ausdruck der Anmeldung holen. Leider war ich wie immer etwas zu spät mit der Anmeldung, so dass ich nur noch ein STM32F030 Nucleo-Board bekommen habe ( kleiner Speicher 64K Flash, 8K Ram ). http://de.mouser.com/new/stmicroelectronics/stm-nucleo-development-boards/?gclid=CP3jzp_H7LwCFU_KtAodnXYApQ Aber egal, das Board gefällt mir trotzdem. Es hat oben zusätzlich Arduino Compatiple Stecker, so daß man relativ schnell eine LED an den richtigen Pin hängen kann, oder auch irgendwelche 3.3V verträglichen Arduino Shields. Eigentlich habe ich gar nicht wirklich Zeit für das Board, aber ich wollte trotzdem mal wissen, wie es sich programmieren lässt. Aus der Webseite war es nicht gleich ersichtlich, aber in 30 Minunten war ich schlauer. Es ist nämlich extrem einfach: 1. man muss ich auf der Embedd Seite anmelden, um den Online-Compiler zu nutzen: https://mbed.org/explore/ ( Irgendwie bin ich über die STM32F030 Nucleo Seite dort hin gelangt, so dass gleich der richtige Prozessor eingestellt war. Wie man den Prozessor auf der Seite einstellt wenn man auf einem anderen Weg dorthin gelangt, weiß ich nicht. ) 2. Man wählt das Blink-Demo 3. Man steckt das Board an, es geht ein File-Menue auf, das Board meldet sich quasi wie ein USB-Stick. 4. Man drückt den Compile-Knopf 5. Man kopiert das Bin-File aus dem Compile Vorgang auf den "qausi USB-Stick". Das seltsame: Das File verschwindet gleich. Aber: 6. Die LED blinkt 7. Das Beste: Es funktioniert mit meinem Ubuntu einwandfrei So schnell habe ich bei einem neuen Mikrocontroller noch nie eine LED zum Blinken gebracht . Wirklich erstaunlich, wie einfach das geht. Der Nachteil: Es ist ein Online-Compiler, ohne Internet geht nichts. Außerdem weiß ich nichts über die Nutzungsbedingungen ( welche Rechte haben die an meinem Code? ) Mein Resume: Sehr gut gemachtes Entwicklungssystem.
Da man heutzutage eh fast überall Internet hat, sehe ich das als grossen Vorteil an, nicht erstmal etliche 100 MB für irgendwelche Entwicklungsumgebungen runterladen zu müssen. Das senkt die Einstiegshürde doch schon u einiges, wenn das so easy in betrieb zu nehmen ist. Was kostet das Teil denn, wenn man es so sich kaufen muss?
>Da man heutzutage eh fast überall Internet hat, sehe ich das als grossen >Vorteil an, nicht erstmal etliche 100 MB für irgendwelche Klar, es ist auf jeden Fall bequem. Ich bin allerdings einmal im Jahr auf Berghütten zu Workshops und dort gibt es meistens nur eine ziemlich "tröpfelnde" Internetverbindung für die ganze Gruppe. >Was kostet das Teil denn, wenn man es so sich kaufen muss? Schau mal oben bei dem Mouser-Link oben. Es liegt ungefähr bei 9Euro. Das schlägt den Arduino noch deutlich. Hier habe ich noch den Direktlink zu ST gefunden: http://www.st.com/web/en/catalog/tools/PF259997
http://mbed.org/handbook/mbed-SDK: The mbed SDK is licensed under the permissive Apache 2.0 open source licence.
http://mbed.org/handbook/mbed-SDK : The mbed SDK is licensed under the permissive Apache 2.0 open source licence.
wobei Du den onlinecompiler nicht zwingend benützten musst! Ich selbst programmiere lieber mit Keil µVision. Der ist bis 32K frei, für Hobbyprojekte reicht das massig und ST bietet super libaries für den STM32 an. Das tolle an dem Brett ist, dass der Debugger glech dabei ist. man kann dann wahlweise das nucleo-board programmieren oder umjumpern und den integrierten ST-Link für andere Platinen benützen. Der integrierte ST-Link debugger macht das Board mit vielen IDEs kompatibel! Habe übrigens noch den F401 ergattern können ;-)
Hmm, naja, 32KB sind nicht so viel. Mach mal was auf einem größeren STM mit Netzwerk etc. und schwupp, bist du bei guten 80KB ;) Ich empfehle CooCox. Aber du hast recht, dank des ST LINKs kann man das Ding auch traumhaft so programmieren.
Eigentlich ist es aber nur ein " altes " STM Discovery Board mit Ansteckmöglichkeit für Ardnino Shields und abbrechbarem ST-Link.
chris_ schrieb: > So schnell habe ich bei einem neuen Mikrocontroller noch nie eine LED > zum Blinken gebracht . Wirklich erstaunlich, wie einfach das geht. Na Klasse. Mit einem passenden File gelingt das mit jedem Controller. Der Teufel der Details zeigt sich eben erst wenn man ein Problem selbst von 0 auf 100 zu codieren hat...
ich kann die Freude von chris_ verstehen, mir ging es ähnlich. Ich hatte ein LPC4088 Board gekauft und das mit der LPCXpressou Umgebung programmiert weil ich die schon vom LPC1769 u.a. kannte. Das Ethernet wollte aber nicht weil die Beispiele nur für andere Boards waren, da war also mühseliges Steppen zur Fehlersuche nötig. Von EA hatte ich Schaltpläne für das andere Board aus den Compilerbeispielen zum Vergleichen angefragt. Die habe ich bekommen aber auch die Frage warum ich nicht die mbed Umgebung nutze. Naja, ich dachte das ist sowas wie das verpönte Arduino Zeugs und in LPCXpresso sind sowieso genügend Beispiele drin. Habe das mbed dann doch ausprobiert und das meiste lief wie im Kino: Projekt importieren, compilieren und das Hexfile auf das USB MSD kopieren. Die mbed Lib ist in einfachem C++ aufgebaut und sehr performant. Unter 'Handbook' oder 'Cookbook' findet man jede Mege Beispiele, auch für USB und Ethernet. Das jetzt auch STM32 in die mbed Plattformen mit aufgenommen wurde kann auch ein kleiner Nachteil sein: die Beispiele die auf die low Level Komponenten aufsetzen funktionieren sicher nicht immer reibungslos weil ja immer mehr unterschiedliche Peripherie unter einen Hut gebracht werden muss. Beim LPC4088 funktionieren z.B. die USB Host Komponenten (noch) nicht weil dieser ein anderes Memory Layout hat. Aber man sieht das da kräftig dran gearbeitet wird. Mir gefällt die mbed Lib sehr gut. Eine Versionsverwaltung ist auch integriert, wenn es eine neuere Lib gibt wird das angezeigt und kann mit einem Klick übernommen werden. Was bei der Online Geschichte fehlt ist der Debugger. Dazu muss man das Projekt für eine lokale Umgebung exportieren, was aber auch einfach mit wenigen Klicks geht (zumindest wenn man eine unsterstütze Umgebung wie LPCXpresso benutzt). Mein Fazit: das Anfängerfreundlichste was ich bisher gesehen habe. Wg. Blinky ist auf anderen Plattformen genauso einfach: aber nicht bei den ARMs. Wenn ich daran denke wieviele Stunden ich verbracht habe so ein blödes ARM7TDMI Board zum Laufen zu bekommen, mit OpenOCD, mehreren verschiedenen JTAG Adaptern, dem Krampf die USB Treiber dafür installiert zu bekommen usw. Dagegen ist mbed ein Träumchen!
Kennt sich jemand von euch mit "mbed" aus? Ich versuche gerade, die Funktion AnalogOut zu verwenden:
1 | AnalogOut sine(PA_4); |
Der Compiler findet die Funktion aber nicht. Laut Anschlussplan sollte der Pin zumindest vorhanden sein: http://mbed.org/media/platforms/ST-Nucleo-F030R8-Arduino.png
ich denke du hast schon alles richtig gemacht, allerdings scheint der Proz keinen AnalogOut zu haben. In der Devicedefinition device.h ist die Funktion totgelegt: #define DEVICE_ANALOGOUT 0 // Not present on this device und das liegt wohl daran das der STM32F030R8T6 gar keinen DAC hat. Ob da noch ein externer DAC auf dem Board sitzt müsstest du im Schaltplan nachsehen, dann wird der vermutlich aber eher über SPI angesprochen. Verwirrend ist das jedenfalls, kannst du ja mal hier melden: http://mbed.org/platforms/ST-Nucleo-F030R8/
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.