Forum: Mikrocontroller und Digitale Elektronik Profis und mbeds


von Sina A. (sinapse)


Lesenswert?

Hallo,

nachdem ja Arduinos nur in seltenen Fällen auch professionellen Einsatz 
finden (siehe Meinungen hier: 
Beitrag "Profis und Arduinos"), frage ich mich, ob das 
auch für die mbeds gilt, die ja doch sehr viel komplexere 
Funktionalitäten kapseln müßten als die Arduinos?!?

Also:

Mich interessiert, ob jemand, der beruflich Mikrocontroller
programmiert, sich die Zeit genommen hat, aus welchen Gründen auch
immer, sich die mbeds tiefergreifend anzuschauen (sagen wir mal mehr
als 3Monate mbed programmiererfahrung).

Von solchen Personen würde ich gerne eine Meinung einholen zu:

- Allgemeine Einschätzung, ob oder für welche Art von Projekten, so
etwas auch im Berufsleben eingesetzt werden kann (z.B. Kunde brauch nur
Kasten mit 1xSensor drin und USB Anschluss zum Auslesen... und davon
50Stück)

- Ab wann lohnt sich ein mbed nicht mehr und warum? (ab welcher
Projektgröße? Verfügbarkeit von libs? Stabilität von Libs?)


danke und lg

von Mirko (Gast)


Lesenswert?

Ist das eine BWL-Studie? Und was ist denn bitte ein "mbed"? Ein 
Embedded-System? So ein Sprache verwendet auf jeden Fall kein Ingenieur.

von St. D. (st_d)


Lesenswert?

Mirko schrieb:
> Ist das eine BWL-Studie? Und was ist denn bitte ein "mbed"? Ein
> Embedded-System? So ein Sprache verwendet auf jeden Fall kein Ingenieur.

mbed ist die "bessere" & "professionellere" Arduino-Alternative direkt 
von ARM selbst.
http://developer.mbed.org

von Sina A. (sinapse)


Lesenswert?

Mirko schrieb:
> Und was ist denn bitte ein "mbed"? Ein
> Embedded-System?

siehe https://mbed.org/

mbed sind die "Arduinos von ARM".

Mirko schrieb:
> Ist das eine BWL-Studie?

Nein, reine Interessensfrage. Hintergrund: Übergang von uC zu PC 
fließend... so auch die Software. Wenn ich was auf dem PC progge, greife 
ich ausschließlich auf fertige lösungen zurück (GUI, TextBox, Button, 
TCP-IP-Sockets, SQL, lala...) und passe nur noch Sachen an, wenn muss. 
Auf dem 8bit-uC schreib ich fast immer alles from scratch neu und nehme 
nur für die aufwendigeren Sachen was vorgefertigtes.  Mit den Cortex-M7 
sitzt man genau dazwischen... ich habe die vage vermutung, dass das hier 
auch eher richtung PC-programmierung gehen wird. Versuche nun objektive 
professionelle Meinungen zu finden wie ausgereift/nützlich diese libs 
sind, so dass sich ein umschwenken lohnt. bisher findet man eher nur 
antworten, die solche dinge abwertend abtun, aber selten wird begründet 
warum.

von dummy (Gast)


Lesenswert?

Die Frage ist genauso Unsinn wie die zum Arduino.

von dummy (Gast)


Lesenswert?

Ausserdem einfach mal in deren Forum schauen.
Dann siehst du ungefähr wie viel Interesse daran besteht.

Ich sah nur ein "Login" auf der Seite und war gleich wieder weg.

von Eduard A. (Firma: e-jam GmbH) (aed)


Lesenswert?

dummy schrieb:
> Die Frage ist genauso Unsinn wie die zum Arduino.

Vor allem in diesem Forum, wo ja zuerst mal Alles mies gemacht wird.

Das Login kommt einfach daher, dass hier ein Online Compiler benutzt 
wird und die Projekte praktisch in der Cloud gespeichert werden. Dient 
also zur eigenen Abgrenzung.
Ich finde die Lösung praktisch, da man immer mit der aktuellsten Version 
der Entwicklungsumgebung arbeitet. Ob man das möchte muss jeder für sich 
selbst entscheiden.
Ansonsten würde ich mbed genau wie Arduino für Prototypen verwenden und 
bei grösseren Stückzahlen ein eigenes Layout machen.

: Bearbeitet durch User
von Max D. (max_d)


Lesenswert?

Eduard A. schrieb:
> Projekte praktisch in der Cloud gespeichert werden.

Da hört es schonmal bei jeder ernsthaften Firma (und auch bei vielen 
Privatleuten, inkl mir) auf. Gerade in Zeiten der amerikanischen (und 
die sind sicher nicht alleine) Wirtschaftsspionage.
Keine Firma bei Trost würde ihre teuersten Teile (Quälcode) freiwillig 
irgendwo speichern wo jeder Depp mit etwas schmiergeld für einen 
geheimen Richter einfach rankommt.
Als privater fürchte ich mich natürlich nicht wirklich davor, dass mein 
Code geklaut wird (wird eh meistens veröffentlicht). Hier stört mich 
einfach die Abhängigkeit von anderer Leute Zuverlässigkeit.

von Stefan (Gast)


Lesenswert?

Wenn du dir das mbed genauer angeguckt hättest, hättest du schnell 
gesehen, dass du nicht auf den Onlinecompiler angewiesen bist.
Dieser richtet sich nur an Anfänger und Leute, die sich keine IDE 
installieren wollen.
Die Sourcen sind frei und können mit einem beliebigen ARMfähigen 
Compiler übersetzt werden.

Ansonsten ist von der Hardwareseite das mbed vernünftig und für 
Prototypen geeignet.
Bei Projekten mit 50 Stück lohnt aber schon ein eigenes Layout.

von hp-freund (Gast)


Lesenswert?

Stefan schrieb:
> Wenn du dir das mbed genauer angeguckt hättest, hättest du schnell
> gesehen, dass du nicht auf den Onlinecompiler angewiesen bist.

https://github.com/search?utf8=%E2%9C%93&q=mbed

von Max D. (max_d)


Lesenswert?

und worin genau besteht jetzt noch der Mehrwert des mbed gegenüber einem 
(billigeren) 0815 ARM-Board ?
Genau: der einfache Online-compiler. Dieser Compiler ist aber für eine 
Firma nicht zu gebrauchen (siehe oben).
Damit besteht keine Motivation das mbed zu nutzen und sich damit auf den 
recht großen und teuren Chip dadrauf (war das ein LPC1769?) festzulegen.
Ich sag ja nicht, dass das mbed grundsätzlich schlecht ist, ich versuche 
das ganze nur aus der Sicht einer Firma zu betrachten.

von Sina A. (sinapse)


Lesenswert?

ja, danke schonmal für die Antworten.

Max D. schrieb:
> Keine Firma bei Trost würde ihre teuersten Teile (Quälcode) freiwillig
> irgendwo speichern wo jeder Depp mit etwas schmiergeld für einen
> geheimen Richter einfach rankommt.

Früher war es undenkbar, dass man sein Privatleben im Internet 
veröffentlicht... naja, ihr wisst ja wie es jetzt ist ;) Will sagen, 
dass ich das genauso sehe, jedoch halte ich das für keine Hürde, weil 
sich Ansichten innerhalb von 10Jahren so drastisch ändern können...



Max D. schrieb:
> und worin genau besteht jetzt noch der Mehrwert des mbed gegenüber einem
> (billigeren) 0815 ARM-Board ?

Na die software bibliothek mit fertigem Betriebssystem und Anbindung in 
die Cloud und ... und ...

> ich versuche
> das ganze nur aus der Sicht einer Firma zu betrachten.

Ich auch... daher würd ich gerne wissen, ob jemand mit den Bibliotheken 
schon gearbeitet hat und in wie weit diese kommerziell einsetzbar sind. 
Denn sind ja gerade aus Firmensicht die Kosten, eine vernünftige 
Codebasis aufzubauen, nicht unerheblich. Man stelle sich vor man würde 
PC Programme immer from scratch programmieren (sich z.B. erstmal ein GUI 
framework aufbauen und eine eigene Datenbank etc.). Das würde doch die 
Kosten für eine Software verhundert bis vertausendfachen. Frage: kommt 
dieser knick nun auch für die uCs (zumindest für die etwas 
leistungsstärkeren wie dem CortexM4). Sprich, man nimmt mehr 
code-overhead in kauf und vertraut dann einfach auf libs, die SPI, CAN, 
TCP/IP, USB, GUI, SD-Karte, Webserver bereits beherrschen (so wie man es 
auf dem PC bereits macht).

von dummy (Gast)


Lesenswert?

>Ich auch... daher würd ich gerne wissen, ob jemand mit den Bibliotheken
>schon gearbeitet hat

Vermutlich niemand der hier mitliest.

von Jojo S. (Gast)


Lesenswert?

ich habe ein mbed taugliches Board, das Quickstartboard LPC4088. Das 
habe ich zunächst mit LPCXpresso bearbeitet weil ich diese IDE schon für 
andere LPC Boards benutzt hatte. In dem LPCXpresso Beispielcode fehlte 
dieses Board aber und zB Ethernet hatte nicht sofort funktioniert. Eine 
Anfrage vom Hersteller EmbeddedArtists wurde schnell beantwortet, aber 
auch gefragt warum ich nicht mbed benutze. Das hatte ich im Kopf als 
Arduino Zeug abgelegt und wollte das eigentlich nicht.
Habe dann aber doch mal ein paar Beispiele aus der Online IDE probiert 
und es lief vieles auf Anhieb und hat mir gut gefallen. Das mbed System 
ist mehr als nur ein Online Compiler, es beinhaltet eine einfache 
Projektverwaltung, Versionsverwaltung, mbed Bibliothek und man kann 
einfach mit mehreren an einem Projekt arbeiten. Läuft sogar halbwegs auf 
einem iPad aber Editieren macht natürlich nicht wirklich Spass darauf. 
Was (noch?) fehlt ist der Debugger. Als Ersatz dazu oder wenn man nicht 
Online arbeiten möchte kann man die Projekte auch einfach in ext. IDE 
oder makefile Projekte exportieren lassen und herunterladen. Die mbed 
Bibliothek ist in C++ geschrieben und diese gefällt mir sehr gut. Einen 
Portpin setzen ist eine Deklaration und dann zB LED1 = 1;, gut lesbar 
und auch performant weil es inline in wenige asm Befehle übersetzt wird. 
Genauso einfach sind uart, spi und andere Hardware zu nutzen. Es gibt 
auch eine Emulation der seriellen über USB zum PC und auch ein 
virtuelles Dateisystem das die Dateien über USB auf dem PC anlegt.
Soweit die Sonnenseite, ich habe das bisher auch nur für private 
Spielereien benutzt. Beruflich sehe ich da schon einige Klinken:
Das System wächst manchmal sehr schnell, zB wo jetzt die Nucleo Boards 
mit STM32 dazugekommen sind (vorher war das nur der NXP LPC1768) und 
noch viele andere. Da passiert es sehr leicht das nach einem Lib Update 
einiges nicht mehr funktioniert. Über die Versionierung kann man zwar 
einiges zurückverfolgen und die Quellen sind auch komplett auf Github, 
aber die Fehlersuche ist dann nervig (Hobbyeinsatz) bis katastrophal 
(kommerzieller Einsatz). Auf Antworten im mbed Forum wartet man auch 
teilweise sehr lange.
Die Quellen im git sind sehr umfangreich geworden und man muss sich mit 
Python und generierten makefiles auseinandersetzen.
Der LPC4088 ist ein M4, hat also eine FPU. Die FP Argumente können auf 
verschiedene Arten übergeben werden und da müssen alle Bibliotheken und 
eigener Code gleich eingestellt sein. Wenn man nicht alle Quellen hat 
muss die Binärversion der Lib passend vorliegen. Ich habe die kostenlose 
NXP Version der Grafiklib von Segger für das EA Display benutzt und da 
hat es einige Anläufe gebraucht bis das passte. Inzwischen wurden die 
Compilerschalter für den M4 in mbed wieder geändert und mein Projekt war 
wieder inkompatibel. Also kommerziell geht sowas nur wenn man alle 
Quellen hat und mit einer IDE oder gcc Version in eine VM packt und 
einfriert. Wenn man das nicht macht und ein Projekt nach ein paar Jahren 
nochmal anfassen muss kann man sich auf lange Fehlersuche einstellen.
Privat kann man mbed sehr gut benutzen, da sind die kleinen Module 
allerdings meist deutlich teurer als ein zB ein Mega88 den man für ein 
paar Euro bekommt. Und die Low Cost Nucleos sind riesen Motherboards, 
die mag ich für kleine Steueraufgaben nicht.

von Sina A. (sinapse)


Lesenswert?

wow, vielen dank für diesen aufschlussreichen Beitrag

von Jan K. (jan_k)


Lesenswert?

Hallo zusammen,

ich möchte das Thema nochmal aufgreifen und keinen neuen Thread dafür 
erstellen, denn dieser hier passt. Allerdings sind 5 Jahre vergangen.

Ich stelle daher ebenfalls die Fragen:

- Benutzt jemand hier Mbed für professionelle Entwicklungen (aka in 
einer "echten" Firma für End-User Produkte, die massenweise verkauft 
werden)?
- Gibt es einen online Zwang?
- Wie sieht es mit Zusatzanforderungen z.B. mit Functional Safety aus?
- Spricht irgendwas in der Lizenz gegen die Vewendung?


Ich habe nämlich keine vernünftigen Antworten auf Frage 2 und 3 
gefunden. Und ich verstehe das Konzept noch nicht wirklich - ARM liefert 
Mbed Studio mit dem ARMCLANG6 aus, der, wenn man ihn über Keil/ARM 
bezieht in der einfachsten Variante mind. 3 k€ pro Jahr kostet. Warum 
machen die das?

Danke euch!

edit: Hier ist z.B. jemand der aus der Industrie zu kommen scheint: 
https://forums.mbed.com/t/i-need-help-to-understand-the-way-mbed-os-makes-things-simpler/10173

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jan K. schrieb:
> ARM liefert Mbed Studio mit dem ARMCLANG6 aus, der, wenn man ihn über
> Keil/ARM bezieht in der einfachsten Variante mind. 3 k€ pro Jahr kostet.
Was kostet die Keil Toolchain, wenn du den Compiler nicht kaufst und 
stattdessen den gcc einsetzen willst?

> Warum machen die das?
Welchen Vorteil hätte diese cloudbasierte Lösung sonst noch?

Ein geflügeltes Wort sagt:
die Datencloud ist das, wo man die Daten klaut.
Natürlich muss da irgendein Anreiz her. Und wenns der billige Compiler 
ist.

von Johannes S. (Gast)


Lesenswert?

Lothar M. schrieb:
> Welchen Vorteil hätte diese cloudbasierte Lösung sonst noch?

MbedStudio ist nix Cloud, es wird lokal installiert und auch die 
Projekte liegen lokal.
Das lief erstmal nur mit dem Keil Compiler, und der ist nicht billig. 
Mittlerweile kann man auch den gcc mit MbedStudio benutzen.
Der Online Compiler war und ist noch der Keil. Den gibt es mittlerweile 
seit über 10 Jahren und der wird wohl nochmal renoviert. Das neue 
Eclipse Theia ist onlinefähig und damit wird es genauso aussehen wie 
MbedStudio.
Ich benutze aber lieber mbed-cli aus VSCode heraus, das ist zwar mehr 
Konfigurationsarbeit, dafür flexibler.

Wg. Lizenz: mbed-os ist frei privat und kommerziell benutzbar.

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.