Forum: Mikrocontroller und Digitale Elektronik Fragen zu mbed


von Dirk S. (thetuner)


Lesenswert?

Hallo zusammen

Ich beschäftige mich gerade mit dem Thema mbed

Nun habe ich mal ein paar grundlegende Fragen:

1. Nach abschluss der Entwicklung, habe ich meistens den Anspruch das 
ganze zu verkleinern,  geht das in dem ich dann eine anderen Controller 
einsetze oder bin ich an die Boads gebunden?

2. Kann ich im umkehrschluss das boad auch mit anderen Compilern 
bestücken?

3. Gibt es ein deutsches Form speziell für mbed?

Besten Dank

: Bearbeitet durch User
von Jojo S. (Gast)


Lesenswert?

Man kann mbed auch für eigene Entwicklungen benutzen. Auf den Boards ist 
zwar teilweise ein Hilfsprozessor drauf, den braucht man aber nicht 
unbedingt. Was der macht in dem Hardware Entwicklungskit HDK beschrieben 
und die Quellen liegen auf github. Ein paar Artikel wie das in eigene HW 
eingebaut wird sind hier: http://developer.mbed.org/production/
Ich benutze auch ein LPC1347 Board was kein offizielles mbed ist, die 
Software kann trotzdem mit dem Online Compiler erstellt werden. Der 
Bootloader auf dem LPC1347 meldet sich als USB Massenspeicher und es 
muss nur die bin Datei drauf kopiert werden, dazu ist keine spezielle 
Hardware nötig. Zum Debuggen exportiere ich das Projekt nach LPCXpresso 
und kann es dann über den LPCLink per SWD flashen/debuggen. Das 
exportieren empfiehlt sich auch wenn man unabhängig vom Online Compiler 
sein möchte.
Damit ist auch deine zweite Frage beantwortet, per Export kann man sehr 
einfach Projektmappen für andere Compiler/IDEs erstellen. mbed wird als 
lib gelinkt, kann aber auch vom github gezogen werden (mbed-master).
Ein deutsches Forum für mbed habe ich noch nicht gesehen. mbed scheint 
in Japan sehr beliebt zu sein für Robotik Anwendungen, da findest du 
vermutlich eher ein japanisches Forum :-)

von Dirk S. (thetuner)


Lesenswert?

Super Danke für die Antwort.

von Ingo S. (ingo-s)


Lesenswert?

Mir ist ein STM32F053 Nucleo Board zugelaufen, damit habe ich gestern 
mal in mbed rein geschnuppert.

LED Blink Demo per WEB Compiler compilieren und bin-file auf Target 
schieben kein Problem.

Aber der Export nach Coocox oder GCC ist lückenhaft. Es sind zwar alle 
notwendigen Header Dateien im Zip-File aber keine Lib zum linken.

Die mbed-master habe ich mir anschliessend besorgt, die Compiler include 
Pfade bei CooCox passen aber nicht zur Struktur. Da ist Anpassung 
angesagt.

Die HAL Schicht ist für viele Anwendungen auch nicht der Hit, wie ein 
Blick in die SPI Implementierung zeigt, wenn es ums Timing geht.

Fazit:
Mit der WEB IDE möchte ich nicht arbeiten müssen, aber ein Projekt mit 
den benötigsten Lib's zusammenstellen und dann Exportieren könnte 
interessant sein.

Gruß Ingo

von JojoS (Gast)


Lesenswert?

Die mbed Lib wird beim neuen Projekt als Link angelegt. Im Kontextmenü 
der Lib im Projektbaum kann man die in Dateien umwandeln (dauert 
mittlerweile recht lange). Probiere das mal und danach nochmal 
exportieren. Ich bin jetzt nicht sicher ob das nötig war. Es kann auch 
sein das die fertige Lib nur dazugelinkt wird und das in den 
Projekteinstellungen fehlt. Bei CooCox sind die neuen Versionen auch 
nicht immer kompatibel, kann auch eine Fehlerursache sein. Durch die 
vielen Varianten haben es sich die mbed Entwickler aber auch nicht 
einfach gemacht.

von Ingo S. (ingo-s)


Lesenswert?

Danke für den Tipp, das umwandeln und exportieren funktioniert.

Habe aber heute eine komplette CooCox Demo im Forum gefunden, die alle 
mbed Lib Sourcen enthält und einige STM Boards unterstützt. Diese liess 
sich direkt ohne Fehler compilieren.

Im Moment geht es nur darum ein Bild über mbed im Vergleich zu Arduino 
und der normalen C/C++ Vorgehensweise mit eigenem debug fähigem Code zu 
bekommen.

Gruß Ingo

von O. H. (ohagendorf)


Lesenswert?

Hallo Ingo,

Ingo Stahl schrieb:
> Mir ist ein STM32F053 Nucleo Board zugelaufen, damit habe ich
>
> Aber der Export nach Coocox oder GCC ist lückenhaft. Es sind zwar alle
> notwendigen Header Dateien im Zip-File aber keine Lib zum linken.
>
> Die mbed-master habe ich mir anschliessend besorgt, die Compiler include
> Pfade bei CooCox passen aber nicht zur Struktur. Da ist Anpassung
> angesagt.

Ich habe es einmal im Online Compiler getestet: Ein neues Projekt für 
das Nucleo_F030 basierend auf dem Blinky LED Test für Nucleo Template 
anlegen, nach CooCox exportieren, auspacken, öffnen, compilieren und 
flashen. Läuft alles, wie es soll. Es ist sowohl eine libmbed.a als auch 
diverse targetspezifische .o Files da. Sie liegen unter 
mbed\TARGET_NUCLEO_F030R8\TOOLCHAIN_GCC_ARM


>
> Fazit:
> Mit der WEB IDE möchte ich nicht arbeiten müssen, aber ein Projekt mit
> den benötigsten Lib's zusammenstellen und dann Exportieren könnte
> interessant sein.
>
> Gruß Ingo

Man kann die mbed Library problemlos offline verwenden:
- https://github.com/mbedmicro/mbed clonen bzw. die Zip runterladen
- im Unterverzeichnis workspace_tools gibt es dafür die passenden Python
  Scripte, beim ersten Aufruf werden evt. ein paar fehlende Python
  Bibliotheken angemahnt
- project.py -L listet alle exportierbaren Projekte auf (alles, was
  unter libraries\tests liegt)
- project.py -m NUCLEO_F030R8 -i coide -p 25 erzeugt unter build/export
  ein komplettes Zip mit allen Sourcen für CooCox (hier ist nichts
  vorcompiliert sondern alles in .c/.cpp einsehbar)
- project.py -m NUCLEO_F030R8 -i gcc_arm -p 25 erzeugt ein make file
  Projekt unter build/export
- project.py -h listet mögliche IDEs und Targets auf
- unter
  https://github.com/mbedmicro/mbed/tree/master/workspace_tools/export
  gibt es eine Tabelle, die genau auflistet, was womit unterstützt wird
- mit make.py kann man die Testprojekte auch direkt bauen; dazu muss nur
  der gcc direkt zu finden sein oder in
  workspace_tools\private_settings.py konfiguriert werden

Gruß
Olaf

PS: Ich arbeite mit CooCox 1.7.7 und 1.7.8 und gcc 4.9 2014q4 und 4.8 
2014q3.

: Bearbeitet durch User
von Ingo S. (ingo-s)


Lesenswert?

Vielen Dank für die ausführliche Beschreibung.

Im Moment habe ich eine unter CooCox lauffähige Demo.
Mit Python hatte ich bisher noch keine Berührung.

Zur Zeit ist es noch vollkommen unklar, ob ich in die mbed Welt 
einsteige.

Der Anlass sich mbed mal anzusehen, war das Anliegen eines Freundes, 
eine ganz speziele Modellflug Elektronik zu entwickeln, bei der er Leute 
dazu animieren möchte bei dem Projekt mit zu machen. Wegen den 
Anforderungen sollte ein ARM Core-M0/M3 eingesetzt werden.

Wie ich in Modellflug Foren sehen konnte, finden sich eher Leute für 
eine Arduino ähnliche Entwicklungs Umgebung als bei einer klassischen 
IDE. Die Möglichkeit des HW-debugging sollte auf jeden Fall gegeben 
sein.

Gruß Ingo

von Martin Srajer (Gast)


Lesenswert?

Hallo zusammen,
ich habe vor kurzen Zeit mit mbed lpc1768 begonnen. Am Anfang war ich 
begeistert wie schnell und einfach man eine funktionsfähige SW basteln 
kann.
Jetzt sind aber auch Probleme gekommen:
Ich will das spar Modus powerdown nutzen und anhand einer kommenden CAN 
Botschaft das Prozessor wecken. Das sollte nach NXP Doku möglich sein.
Bei mir läuft es aber nicht. Ich kann den MCU in den powerdown legen er 
wacht aber nie mehr auf. (die einzige Möglichkei,t die bei mir 
funktioniert hat ist der WDT interrupt). Sogar von Sleep Modus kann ich 
ihn durch CAN nicht wecken.

Kann es daran liegen, daß das MCU im Debug Modus von dem "magic chip" 
gehalten wird? Ich habe es auch probiert durch 
mbed_interface_powerdown() ihn auszuschalten, hat aber nicht geholfen.

Hat der jemand erfahrungen damit?

Vielen Dank für Ihre Hilfe

M.Srajer

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.