Ich habe ein Szenario, in dem ich 2D-Arrays mit variablen Größen und verschiedenen Datentypen habe (ab sofort doppelt und boolesch). Diese Arrays sollten von einem Mikrocontroller mit 256 KB SRAM gelesen und verarbeitet werden.
In meinem Setup plane ich, diese Arrays zur Verarbeitung von der SD-Karte (als Dateien gespeichert) auf SRAM zu übertragen. Mir fallen derzeit folgende mögliche Ansätze ein
Sol 1 sieht einfach und geradlinig aus. Aber ich denke, ich muss bestimmte externe MATLAB-Bibliotheken verwenden, und ich nehme an, dass diese vorkompilierten Bibliotheken (wie libmat.lib, libmx.lib) für ARM nicht verfügbar sind.
Sol 2 ist einfach, wenn gute Parser für einen Mikrocontroller geschrieben wurden. Vorschläge für XML-Parser sind willkommen
Sol 3 erfordert etwas mehr Arbeit. Für diese Methode beabsichtige ich, eine C-Anwendung zu schreiben, die .mat-Dateien liest und eine benutzerdefinierte Binärdatei mit Metadaten und tatsächlichen Daten erstellt. Und haben eine weitere identische Importfunktion im Mikrocontroller.
Die Gesamtgröße aller Variablen zusammen liegt im Bereich von 20 KB bis 40 KB. Daher wird im System eine SD-Karte verwendet.
Welche dieser Techniken eignet sich gut für eine eingebettete Lösung mit geringem Platzbedarf? Mein Ziel ist es, eine Lösung zu wählen und zu verwenden, die am wenigsten Speicherplatz beansprucht und die am flexibelsten für Erweiterungen ist. Schlagen Sie natürlich andere Ansätze vor, um dieses Problem zu lösen.
PS. Das Gerät ist nicht Arduino-basiert. Aber ich habe es trotzdem hinzugefügt, da die Arduino-Entwicklung in den Bereich dieser Frage fällt.
Ich schlage vor, die Komplexität auf die PC-Seite und nicht auf die Mikrocontroller-Seite zu legen.
Sie sollten die Datei auf der SD-Karte als binäres Abbild des Speicherinhalts speichern, den Sie auf dem Mikrocontroller erhalten möchten. Das Speichern in einem definierten Binärformat sollte direkt von Matlab aus möglich sein.
Alles, was Sie tun müssen, ist, den Inhalt Ihrer SD-Karte Byte für Byte in einen vordefinierten Bereich im SRAM zu kopieren.
Eine noch einfachere Form wäre, auf ein Dateisystem ganz zu verzichten und die SD-Karte als Rohmedium zu verwenden. Ereignis einfacher auf der Mikrocontroller-Seite ...
Die Komplexität auf der PC-Seite macht dies viel einfacher:
Dmitri Grigorjew
arduino
Tag hinzugefügt haben? Ich sehe keine Beziehung, es ist nicht einmal ARM-basiert.Dmitri Grigorjew
Spannungsspitze
Benutzer115881
Benutzer115881