Forum: Mikrocontroller und Digitale Elektronik ARM trifft LabView


von MikroMakro (Gast)


Lesenswert?

Hi all.

Ich habe mich einige Zeit mit C und 8-Bit-Derivaten der 8051 Familie 
vergnügt.
Den letzten 3 Jahren habe ich mich anderen Dingen gewidmet. Warum auch 
immer...

Nun reizt es mich wieder zu walten und zu schalten .... :D

Ich war neugierig geworden, was sich so getan hat und womit man schnell 
und einfach einen µC zum atmen bekommt.
Die Möglichkeiten sind ja reichlich geworden.


1. Gedanke: ein (USB)MP3 - Player mir GrafikDisplay
           (für was auch immer, evtl. um die cd Sammlung aus dem Auto
            verschwinden zu lassen)

Wie und Womit?

- AVR32 - AP7000 Controller Family
- ARM 7/9

Es ist wahrscheinlich geschmacksache, welchen von beiden man nimmt.
Oder was ist Eure Meinung?

Ich habe daraufhin weiter gegoogelt, da ich eine einfache und schnelle 
Programmierungsvariante suchte.
(Ich wollte mich mit Java auseinandersetzen, aber da gibt es wohl 
schwierigkeiten mit USB-Schnittstelle)


Nun bin ich über

[[http://www.pressebox.de/pressemeldungen/national-instruments-germany-gmbh/boxid-167501.html]]

aufmerksam geworden.


LabView ist ja nun eine grafische Programmierumgebung, mit welcher man 
nach dieser Nachricht, die ARM-Familie programmieren kann.

Hat sich schon jemand versucht, sich dieser Variante der Programmierung, 
zu nähern?
Macht es Sinn?
Würde sich ein Projekt, wie oben beschrieben, auf diese Art realisieren 
lassen?

Danke MikroMakro

von Mictronics (Gast)


Lesenswert?

MP3 player mit Grafik LCD und USB basierent auf ARM7 -> Google mal nach 
yamppPod oder yPod

von cornu (Gast)


Lesenswert?

Tja, LabView ist natürlich super. Aber ich schätze mal, das Modul wird 
so um die 2000€ Kosten ( ohne die auch benötigte LabView Basis Version 
).
LabView ist halt das Microsoft der Messtechnik und damit auch nicht ganz 
kostenfrei ...

von gerhard (Gast)


Lesenswert?

>Tja, LabView ist natürlich super. Aber ich schätze mal, das Modul wird
>so um die 2000€ Kosten ( ohne die auch benötigte LabView Basis Version
>).
also ich hab da was von 8000,-€ gelesen und danach sofrt die seite 
geschlossen

gruss
gerhard

von Artur Funk (Gast)


Lesenswert?

Ich glaube, dass man kaum die komplette Funktionalität der Prozessoren 
mit dem Labview ausschöpfen kann. Natürlich kann ich mich irren, aber 
sollte man nicht bei der Entwicklung lieber den konventionellen Weg 
einschlagen und einfach zu C/C++ greifen? Meiner Meinung nach: 
Non-Sense.

von Johannis Kraut (Gast)


Lesenswert?

Meistens sind ist die Funktionalität tatsächlich mager - hab' mir das 
mal mit einem Blackfin gegeben. War eher unspektakulär. Die 
Debug-Möglichkeiten sind halt ganz nett...der Preis nicht.

von LV (Gast)


Lesenswert?

Oder man kauft sich LabView zu Ausbildungszwecken. Ich hab eine Version 
für ~50 Euro bekommen. Und muss sagen, das Programm ist echt cool. So 
schnell kann man sonst mit keiner Umgebung etwas wirklich brauchbare 
basteln, habe aber keine Erfahrung mit ARM / LabView.
Diese Version vo LabView ist nicht ganz die Vollversion (man kann z.B. 
keine Standalone Programme machen, das heisst man kann es nur auf PCs 
laufen lassen, welche LV drauf haben, andere Unterschiede zu einer 
Vollversion habe ich nicht feststellen können)

von Thilo M. (Gast)


Lesenswert?

Ich habe die Vollversion im Geschäft. Im Beipackzettel steht 
ausdrücklich, dass eine Installation auf einem Privat-PC gestattet ist.

von Franz (Gast)


Lesenswert?

Hallo,

offensichthlich kann man mit LabVIEW auch FPGA programmieren.

http://search.ni.com/nisearch/main/p/sb/navsRel?q=spartan&x=0&y=0

Gruß
Franz

von Johannis Kraut (Gast)


Lesenswert?

Die 50€ Version macht aber 100% kein embedded. Für das Embedded-Modul 
darf man nochmal 5k€ extra hinterlegen.

von Sven P. (Gast)


Lesenswert?

Welchen konkreten Sinn soll denn LabView auf Embedded machen? Statt "if" 
nen Viereck aufspannen und statt Variablen Drähte ziehen? Interessant 
wärs doch erst, wenn man auch den ganzen Rest mitnimmt: GPIB etc.

von cornu (Gast)


Lesenswert?

Da ich einige Jahre C programmiert habe und auch einige Jahre LabView 
benutzt habe, meine Meinung: Sobald es um eine Meßtechnische Anwendung 
auf einem PC geht, ist man bei der Entwicklung mit LabView um Welten 
schneller.
Wenn man schnell einen Algroritnmus auf einem ARM programmieren will, 
dürfte das unter bestimmten Bedingungen auch zutreffen.

Allerdings wird man, was Resourcenverbrauch wie z.B. den Speicher 
angeht, sicherlich nicht das optimale erreichen. Aber für Prototypen 
berstimmt eine sehr gute Möglichkeit, schnell zum Ergebnis zu kommen.

Allerdings macht man sich damit natürlich von NatInst und deren Preisen 
abhängig.

Ich weiss auch, dass man als professioneller LabView-Nutzer die Version 
zu Hause installieren darf. Aber wie sieht's auch mit dem Weitergeben 
von Programmen in Foren? ( Wenn man das Anonym machen wollte, steht im 
Code natürlich der Freischaltcode, oder? ) Was ist, wenn man nebenbei 
mal schnell eine Anwendung zu Hause zusammenklickt und ein kleines 
Zubroot verdienen will? Was ist, wenn man aus der Firma ausscheidet, 
muss man dann die Version zu Hause deinstallieren?
Und warum muss LabView mittlerweile eigentlich ständig "nach Hause 
telefonieren" und damit sogar das StartUp dermaßen in die Länge ziehen?

von Johannis Kraut (Gast)


Lesenswert?

Es ist halt so, dass es eine sehr bequeme und - laut Aussage des 
Herstellers - schnelle Art und Weise ist, Applikationen zu erstellen - 
Rapid Prototyping.

Ich denke nicht, dass dieses System (zu diesem Zeitpunkt) eine echte 
Alternative für gestandene Elektroniker und Embedded-Entwickler bieten 
soll, es geht viel eher um Forscher (Physiker, Mathematiker, etc. pp) 
die sich garnicht in die Untiefen eines Prozessors, ... vorkämpfen 
möchten nur um einige Sachen zu testen. Quasi das MATLAB-Äquivalent für 
Hardware mit dem Hauch von BASIC weil man nicht wirklich weiss was da 
passiert.

Zudem muss nicht alles mit Symbolik implementieren, "inline-C" wird 
gerne genutzt (auch wenn es der eigentlichen Idee von LV nicht gerecht 
wird). Ein weiteres Interessantes Feature ist die Möglichkeit herrliche 
Sachen zusammen mit MATLAB zu bauen - was die Interkonnektivität angeht 
ist LV sehr schön.

Aus Interesse wie gut das zusammen läuft habe testweise eine 
Datenakquisition mit einem Prozessor gemacht, die Daten seriell an LV 
geschickt (und welche zurück) und von MATLAB auswerten und in Echtzeit 
darstellen lassen - es war ein schönes Arbeiten. Das ist nur ein 
einfaches Beispiel, bindet man nun noch die Embedded-Sachen in LV ein 
ergeben sich viele Möglichkeiten (um das Beispiel weiterzuführen: nicht 
seriell, sondern über Netzwerk usw.).

Obendrauf kann man LV noch mit LabWindows kombinieren und hat so einen 
nativen C-Kompiler zur Verfügung, mit dem die gleichen Treiber, API's, 
... wie mit LV genutzt und kombiniert werden können.

Dennoch, so umfangreich die Möglichkeiten auch sind, z.Zt. ist es in 
meinen Augen keine Alternative zu einer klassichen Toolchain - vor allem 
wegen des Preises.

von Rene (Gast)


Lesenswert?

Hi, ich kann die dir zum Thema LAbView und Mikrocontroller einiges 
berichten.
Ich war am 21.5.08 bei dem Praxisseminar in Dresden von National 
Instrument, weil ich mich genau für den Aspekt "Mikrocontroller 
Programmierung mit LabView" interessiere und paar infos dazu haben 
wollte nach dem das ARM trifft LabView Konzept bei mir angekommen war.

Als erstest ist unterstützt LAbView nur ARM basierte Mikrocontroller 
welche sich nur über deren eigenes Board programmieren lassen. 
Boardkosten liegen so bei 3.500 €. Das liegt an dem Aufwand den LabView 
hat um seine Binaries in Mikrocontroller verständliche Binaries 
umzuwandeln, um es einfach zubeschreiben. Dies hat National Instrument 
in zusammen Arnbeit mit der Design-Firma ARM halt schon getan. Das ganze 
geht natürlich nur für unterstützte Typen und nicht alle ARM.

National Instrument bietet die Möglichkeit auch andere Mikrocontroller 
mit LabView zuprogrammieren. Damit LabView einen Mikrocontroller 
programmieren kann muss es erst den eigenen Binarie-Code in einen C-Code 
umwandeln für den Compiler und der compilierte C-Code wird dann über den 
Linker in ein Binarie (HEX) umgewandelt, welches der Mikrocontroller 
versteht. Dies alles hat NI schon für ein paar ARM Typen gemacht, wie 
oben erwähnt.
Die SDK Lizenz (habs vergessen, verdammt) ist offen, d.h. jeder kann 
seinen eigenen LabView Brenner schreiben um es einfach auszudrücken. 
Dazu kommen noch das schreiben eigener Bibilotheken, sowie Anpassen von 
Debug-Modulen etc. Man kann allerdings schon bestehenden Assembler, 
C-Code oder  anderne mit verwenden, dafür gibt es eine Struktur, die 
dies ermöglicht.
All dies funktioniert theoretisch mit FPGA's, allerdings gibt da NI die 
Cod-Lizenz nicht frei.

Wichtig! Das ganze geht erst ab Version 8.0 oder 8.2 bzw. 8.5 
(aktuellste) . Weis nicht ob man diese kostenfrei bekommt in dem Umfang 
und das Programmier-Modul ist extra zuerwerben wenn ich es richtig 
verstanden habe.

Zudem stimme ich meinen Vorredner in dem Punkt "Einsatz & Rechtliches" 
zu.

---

Meiner Meinung nach ist LabView keine Alternative zum Programmieren von 
Mikrocontrollern bzw. Debuggen.Beim Debugen bin ich mit einer IDE 
weitaus schneller und kann mir vorallem die Register und solche Sachen 
direkt anschauen.

Was LabView interesant macht, auch für Hobby ist meiner Meinung nach das 
LifeChangeValue so will ich es mal nennen. Mit einem entsprechenden 
Mikrocontroller den man vorab mit einem festen Programm programmiert 
hat, könnte man dann während des Betriebe neue Werte über LabView 
zuspielen durch ganz normale Schnittstellen wie RS232, USB, SPI, UART.
Die gib es ja schon in Form von Messkarten, Modulen (Meilhaus) wo der 
Mikrocontroller die Hardware abbildet und sich über USB z.B. auslesen & 
schrieben mit LabView durch die vom Hersteller mitgelieferten LabView 
Programmblöcke.

Das wars.

von MikroMakro (Gast)


Lesenswert?

Hi.

Danke für eure Anregungen und Meinungen.
Diese Art der Progrmmierung ist sicher ein schöne bequeme Sache, aber
der Preis ist für einen HobbyInteressenten wenig lukrativ.

Da werde ich nun nach alt bewährter traditioneller Weise den Controllern 
Leben schenken :D
Als erstes mit ein paar kleinen Spielerein an die 16/32 Bitter 
herantasten.

@  Mictronics: Danke für den Tipp

Habt vielen Dank

von Michael W. (wiebel42)


Lesenswert?

Ich habe gerade das Glück den Blackfin (µC+DSP@200MHz) mit Labview 
programmieren zu können und ich muss gestehen, NIs Preispolitik und 
allen Vorbehalten gegenüber grafischem Programmieren zum Trotz, es ist 
echt beeindruckend.
Wenn das Blackfin-Modul ähnlich zu dem ARM-Modul arbeitet (wovon ich 
ausgehe) muss ich Rene gerade im Bezug auf das debugging entschieden 
wiedersprechen.
Man kann einfach, wie bei Labview üblich, Probes oder reguläre Anzeigen 
in das VI einbauen, wenn man dann dann beim Build sagt er soll doch 
bitte Debug Code erzeugen (USB, Seriell oder Eth) dann werden diese 
Anzeigen in Echtzeit (>100ms) aktualisiert. Das übersteigt alles was ich 
bisher an debugging gesehen habe um Längen. (Aber jetzt nicht voreilig 
auf "Highlighting" hoffen, daß geht natürlich nicht.)
Man kann sagen was man will, und JA Bastler sind nicht die Zielgruppe, 
aber solche Features und auch so Dinge wie speziell hardwareoptimierte 
Blöcke (von FFT über FIR-filter bis runter zu direkten 
Barrelshifter-Aufrufen), machen es auf jeden Fall zu einer tollen 
Erfahrung.
Ich hab noch längst nicht alles ausprobiert aber mit dem setzen von 2 
Häckchen das Ding über DHCP im Netz zu haben und mit einem Kleinen VI 
einen Miniwebserver zu implementieren, geht zwar meinem 
bash-oneliner-Gemüt etwas gegen den Strich, entbehrt aber auf keinen 
Fall einer Faszination.
Einschränkend muss ich natürlich schon zugeben, daß ich im Moment auch 
dem Reiz des Neuen erlegen bin, somit kann ich nicht versprechen in 
einigen Monaten immer noch in so hohen Tönen davon zu singen.

- wiebel

P.S. Ich bekomme (leider) kein Geld von NI für diesen Post. ;)

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.