aus Matlab erzeugte Bibliothek einbinden

Gast #797010
Lesenswert?

Guten Abend,

ich hoffe ich werde jetzt nicht gleich ausgelacht ...

Ich empfange von einem Messgerät mehrere Vektoren von Messwerten über 
die serielle Schnittstelle. Um diese auszuwerten waren ein paar 
kryptische Vektoroperationen nötig, die ich in Matlab umgesetzt habe. 
Nun funktioniert das ganze und soll auf einen Mikrocontroller portiert 
werden.

Bevor ich manuell loslege dachte ich daran aus den m files mit dem 
Matlab Compiler eine Bibliothek zu erstellen und diese dann in einem AVR 
Programm zu nutzen. Ist sowas möglich? Hat das schon mal jemand gemacht?

Danke für Eure Hilfe
Gast #797027
Lesenswert?

Ist sowas möglich?
Unmöglich vieleicht nicht, aber
a) weder sinnvoll,
b) gibt es imho dafür keine tools (wg. a))

Du kannst zwar Matlab Programme nach C übersetzen lassen, jedoch werden 
dann i.d.R. immer noch die Funktionen des Matlab-Core benutzt und 
benötigt.
(Firma: OpenKNX) #797029
Lesenswert?

Ach warum auslachen?
Am MathWorks Stand auf der Embedded World war das Thema ;) bin aber nur 
kurz vorbeigegangen.

Es gibt doch die Möglichkeit Matlab-Code in C-Code zu übersetzen, ich 
weiß DAS es geht, ich habs aber noch nie gemacht.. Mussu selber suchen.
Gast #797038
Lesenswert?

Könnte gehen, wird aber vermutlich ziemlich langsam. Wenn die Auswertung 
mal steht ist es doch nur ein relativ kleiner Aufwand, das in C 
nachzuprogrammieren. In Sachen Codegenerierung tut sich aber grad 
einiges...
Gast #797084
Lesenswert?

Hallo,
der Export von Matlab/Simulink funktioniert gut. Habe das schon 
einigemal für PowerPC und ColdFire basierte Systeme gemacht. Der 
generierte Code wird dann mit einem Timer-Interrupt verbunden, richtig 
initialisiert, und alles funktioniert. Der Code selbst ist recht 
effizient. Von Hand geht es in der Regel besser, weil man die aktuellen 
Datentypen kennt. Für Matlab kann alles ein Vektor mit komplexen Werten 
sein - daher etwas overhead. Wird aber zum Teil vom Compiler 
weg-optimiert.

Gruß
Dieter
Gast #797197
Lesenswert?

Du brauchst den Realtime Workshop. Stichwort ist hier der Embedded real 
time coder. Dem kannst du auch "sagen" für welches Target (Prozessor, 
8bit geht da auch) der code produziert werden soll......

Tolle Sache !

Grüße,
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren