Forum: Compiler & IDEs Unzip Cortex-M4


von Packer (Gast)


Lesenswert?

Hallo!

Hat jemand Erfahrung mit Entpacken von Dateien auf einem Cortex-M4?
Freie Bibliotheken, zusätzliche Ressourcen für's Entpacken (zusätzlicher 
zur Dateigröße) ...

Danke für die Unterstützung.

Grüße

von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

Meinst du so etwas?
https://www.segger.com/products/compression/emcompress/

Ist aber leider keine freie Bibliothek.

von DPA (Gast)


Lesenswert?

Packer schrieb:
> Hat jemand Erfahrung mit Entpacken von Dateien auf einem Cortex-M4?

Worum genau geht es denn? Geht es nur ums dekomprimieren? Oder nur ums 
ein Containerformat das mehrere Dateien halten kann? Oder um beides/eine 
Kombination dieser? Hast du dich schon auf einen Algorithmus festgelegt? 
Eventuell findet sich auf GitHub was (direkt dort suchen, nicht über 
google, und spezifisch z.B. gzip), und im Notfall kann man auch selbst 
was implementieren. Tar ist (abgesehen von den vielen Headervariationen) 
tot simpel. Gzip bräuchte glaube ich auch nicht so viel, und die gzip 
implementation in busybox sieht auch nicht so extrem komplex aus. 
Eventuell kann man da was anpassen oder wiederverwenden.

von moep (Gast)


Lesenswert?


von Christopher J. (christopher_j23)


Lesenswert?


von 645zre (Gast)


Lesenswert?

hi

sorry wenn ich den thread entere


Mich interessiert das thema auch.
Primär aber die container sache.

was ich aus den oberen Links gelesen habe ist eher 
kompression/dekompression.

Wie wird das jedoch mit mehreren Dateien gelöst ?


Idee :
Per TCP ein Paket zum M4 übertragen,
dort entpacken und die Einzeldateien auf einem Flash speichern.

z.B. Die html Dateien für den Webserver.

von tarball (Gast)


Lesenswert?


von Max G. (l0wside) Benutzerseite


Lesenswert?

Ein normaler LZIP ist kein Hexenwerk. Den habe ich auf einem popeligen 
MSP430 zu Fuß umgesetzt. Gerade das Entpacken braucht kaum Aufwand, weil 
man im Grunde nur den Marker sucht und dann entweder aus bereits vorher 
entpackten Daten oder aus dem Eingangsdatenstrom kopiert.

Wenn man den Aufwand für das Speicherhandling (Lesen aus zwei Puffern, 
schreiben in einen) weglässt, ist der Rest in vielleicht 10 Zeilen 
abzuhandeln.

von S. R. (svenska)


Lesenswert?

645zre schrieb:
> sorry wenn ich den thread entere

Bitte mache einen eigenen Thread auf.
Die Frage könnte für andere auch relevant sein, ohne dass die sich durch 
die anderen Antworten wühlen müssen.

645zre schrieb:
> Wie wird das jedoch mit mehreren Dateien gelöst ?

Einige Formate (z.B. ZIP oder TAR) enthalten mehrere Streams und 
dazugehörige Dateinamen. Um die in deinem Flash zu speichern, brauchst 
du ein Dateisystem, welches es dir ermöglicht, Dateien anhand ihres 
Namens zu finden. Ein einfaches Beispiel ist FAT, welches auch auf 
SD-Karten verwendet wird und wofür es viele Implementationen gibt.

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.