Hallo Mikrocontroller-Gemeinde, hat jemand von euch schon mal Erfahrung mit zip-Archiven und deren Dekomprimierung auf Mikroprozessoren/embedded Systemen gemacht? Meine bisherige Netz-Suche verlief mehr oder weniger erfolglos. Außer der zLib die oft als "für embedded Systeme geeignet" zu finden ist, habe ich keine Librarys/c-Quellcodes gefunden, mit denen sich zum Beispiel auf einem PIC32MX695 und einen entsprechenden File-IO-System auch zip-Dateien entpacken lassen. Über einige Antworten würde ich mich freuen.
Ben N. schrieb: > Außer der zLib die oft als "für embedded Systeme geeignet" zu finden > ist, habe ich keine Librarys/c-Quellcodes gefunden, mit denen sich zum > Beispiel auf einem PIC32MX695 und einen entsprechenden File-IO-System > auch zip-Dateien entpacken lassen. Es hängt eigentlich üblicherweise nur von einem einzigen Punkt ab: Im Zielsystem muß genug freier RAM für das "Wörterbuch" der Dekompression verfügbar sein. Dank der lausig organisierten Microchip-Datenblätter war es mir nicht möglich, mit einem flüchtigen Blick dort hinein zu ermitteln, wieviel RAM nun der angegebene Controller tatsächlich hat... D.h.: Das wirst du einfach selbst tun müssen. Der Vergleich mit dem Bedarf der zLib sollte dann kein Problem mehr darstellen. Schließlich benutzt du freiwillig C und solltest deshalb in der Lage sein, den Code der zLib daraufhin abzuklopfen, wie hoch der maximale RAM-Bedarf für das "Wörterbuch" ist...
c-hater schrieb: > Dank der lausig organisierten Microchip-Datenblätter war es mir nicht > möglich, mit einem flüchtigen Blick dort hinein zu ermitteln, wieviel > RAM nun der angegebene Controller tatsächlich hat... LOL 128k
Danke c-hater für deine Antwort. Das Datenblatt zum Prozessor ist hier zu finden http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX695F512L Der Prozessor ist mit 128k RAM ausgestattet. Vielleicht hat ja noch wer anders ein paar Tipps oder Anregungen oder sogar Beispiel-Sourcen.
Teo Derix schrieb: > LOL > > 128k Das steht auf welcher Seite des Datenblatts? Bei Atmel stehen solche grundlegenden Informationen immer auf Seite 1...
Ben N. schrieb: > Das Datenblatt zum Prozessor ist hier zu finden > http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC32MX695F512L Das ist nicht das Problem... > Der Prozessor ist mit 128k RAM ausgestattet. Das dem DB zu entnehmen schon eher... > Vielleicht hat ja noch wer anders ein paar Tipps oder Anregungen oder > sogar Beispiel-Sourcen. Wenn das Teil wirklich 128k RAM hat, sollte die zLib technisch keinerlei Problem bereiten. Wenn du Probleme hast, liegt es wohl entweder daran, dass C keinesfalls so portabel ist, wie die C-Apologeten immer behaupten oder alternativ daran, daß du keine Ahnung von C hast... Tja, hart ist das Leben, nicht immer genügt Copy&Paste...
Ich denke die beste Option wird wohl sein zlib zu benutzen. Ich habe jetzt auf die schnelle auch nur diverse Implementierungen gefunden, die dann nur das zip Format implementieren aber die eigentliche Dekompression macht immer zlib. Aus der zconf.h Datei: The memory requirements for inflate are (in bytes) 1 << windowBits that is, 32K for windowBits=15 (default value) plus a few kilobytes for small objects. Mit 128KB sollte sich da schon was machen lassen. Man braucht natürlich auch noch ein paar Buffer aber das sollte noch gehen wenn du den großteil des RAM nicht schon für etwas anderes verplant hast. c-hater schrieb: > Das steht auf welcher Seite des Datenblatts? Auflistung der verschiedenen Mikrocontroller der Serie ab Seite 2. Der vom TO benutze µc steht dann Seite 3.
Ben N. schrieb: > hat jemand von euch schon mal Erfahrung mit zip-Archiven und deren > Dekomprimierung auf Mikroprozessoren/embedded Systemen gemacht? Aber ja doch - ich hab's dann schlichtweg bleibengelassen. Also, sowas wie "Mikroprozessoren/embedded Systemen" umfaßt ein riesiges Feld, da solltest du dir viel früher Gedanken machen, bevor du in die Tasten haust. ZIP Archive sind was für Dateien, die stehen in Speichermedien und zum Entkomprimieren braucht es nicht nur Platz im RAM zum Entkomprimieren, sondern auch zum Verfrachten der Ergebnisse. Das Ganze ist also etwas für eher größere Systeme, wie z.B. MIPS oder ARM mit 8 MB SDRAM, wie man's seit Jahren in DVD-Playern usw. hat. Dort hat man dann auch ne passende v.Neumann Architektur für sowas wie zlib. Frage: Ist dein Beitrag bloß so, der Unterhaltung wegen? Oder hast du ernsthafte Ambitionen, nen MP3- oder DVD-Player oder ein Navi zu basteln? W.S.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.