Newsgroup: it.hobby.elettronica.digitale
Titolo: per BLISCA o altri. lavorare su archivi zip in C, con micro

salve,
ho scritto BLISCA perchè ho visto che probabilmente fa il mio stesso lavoro...
ma la domanda vale per tutti.
 
scenario: scheda con un micro, una micro sd da n. gigabyte in fatFs, tutto funziona.
 
se volete entro nei dettagli, ma la domanda principale è: qualcuno di voi ha operato su archivi zip tramite microcontrollore (linguaggio C)?
la necessità principale è decomprimere un archivio protetto con password, tramite micro, sulla stessa micro sd su cui è presente l'archivio, ed effettuare un controllo di validità per essere sicuri che i dati estratti siano corretti.
 
ho adocchiato 
https://libzip.org/
 e forse potrebbe fare al caso mio, ma prima di avventurarmi in un porting ed un adattamento, volevo sapere se qualcuno aveva avuto esperienze al riguardo.
 
non ho idea di come venga compresso a basso livello un file (e non mi interessa neppure), vorrei solo poterci lavorare. la compressione non mi interessa, ogni volta devo solo estrarre e usare il file estratto.
 
grazie a tutti
 
Matt


ti ringrazio per lo spunto di condivisione,ma questa esperienza in  
particolare non mi è mai capitata
Non sono poi così addentro,la cosa più approfondita che ho fatto con micro  
SD è stata fare da zero una FatFs minimale giusto per andare a spulciare  
se delle bitmap BGR 565 con un certo nome fossero presenti ,e  
visualizzarle a display a comando
 
---
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com
 
 

 >
 

 visualizzarle a display a comando
 
hai giocato anche te con le immagini eh? :) beh complimenti perchè far da zero la gestione del FatFs non è poco!
dato che a breve devo poter dare una risposta, proverò ad implementare libzip e riscriverò in questo post l'esito dell'implementazione.
magari in futuro servirà anche a te (ma ti auguro con tutto il cuore di no).
grazie per l'intervento!
 
matteo


 ha  
scritto:

prego,e buone prove innanzitutto!
In generale mi capita spesso di dovere fare le cose da zero,in quel caso  
avevo risors emilitate ed è stato d'obbligo,per i display grafici è la  
normalità....in altri casi invece il ripartire da zero è dovuto alla mia  
difficoltà nell'utilizzare librerie e soprattutto la struttura di progetti  
già esistenti,in questo senso:
Ci sono progetti basici fatti per la tal Demo Board,che sia Nucleo di  
ST,LPCXpresso,Freedom Board Kinetis (le 3 famiglie di micro che ho usato  
in questi anni),supponiamo Progetto_PWM per Nucleo di ST che monta  
STM32F4xx,per dire
Carichi il progetto,parte il debug,e ecco lì un bel PWM
Ci voglio aggiungere...la lettura di un ADC e il PWM che mi varia il duty  
cycle in proporzione,allora nei driver HAL(per esempio) c'è la libreria  
ADC,chiamo la funzione che lo inizializza,ne riempio la struttura chela  
funzione usa come parametro coi miei settaggi ecc ,ok va bene
 
A un certo punto voglio snellire il progetto,deve essere una cosa su una  
mia scheda con lo stesso micro,non voglio tirarmi dentro tutti i files  
linkati dal progetto ,e nemmeno copiarmi dei files che non mi servono come  
quelli nella cartella bsp (board support package),ecco che se lascio fuori  
qualcosa cominciano gli errori di include mancanti,di linker che non trova  
ecc,a un certo punto mi viene voglia di partire da zero ,baremetal ecc e  
da progetto semivuoto.
Ma questo non perchè siano scemi quelli di ST o NXP,che hanno cercato di  
fare tutto portabile,aggiornabile,adattabile a ogni compilatore o agni  
IDE  ecc,...ma perchè non mi so destreggiare io  in mezzo a quella  
struttura


 ha  

grazie mille

guarda, non mi racconti nulla di nuovo! in realtà la colpa non è tua, quanto del codice degli esempi o delle librerie che presuppone sempre la presenza di tutto il resto.
prendi come esempio la atmel, ora tristemente microchip. framework bellissimo e tutto quello che vuoi; ma se lo vuoi usare, ti porti dentro tutto quello che vogliono loro, e scordati di togliere roba o modificare il loro middleware senza rappresaglie. se invece non lo vuoi usare, non lo includi ma come ben sai ti preparerai ad usare mille mila registri e a studiarti mille pagine di datasheet alla lettera.
 
ti farò sapere com'è andata a finire con lo zip.


 hai giocato anche te con le immagini eh? :) beh complimenti perchè far da zero la gestione del FatFs non è poco!
...
 
Se può interessare, qui si puù trovare un decompressore jpeg minimale.
Nello stesso sito è possibile scaricare anche l'occorrente per la FAT (mini e maxi).
 
http://www.elm-chan.org/fsw/tjpgd/00index.html
 
 
Piccio.

 ha  
scritto:

il sito lo conosco e da lì ho imparato varie cose,
non avevo notato questa pagina, per cui molte grazie


 decompressore jpeg minimale.
 
Fantastico, solo 35 k per un algoritmo abbastanza 
incasinato (tra quelli che non capirò mai, figuriamoci
l'implementazione a suon di manipolazione di bit)!!!
 
 
-- 
"Pompieri? Presto, venite, la mia casa sta bruciando"
"OK, quando ha avuto origine il fuoco?"
"Nel paleolitico, però sbrigatevi"
 

aggiornamento:
libzip è un pò mancante di documentazione riassuntiva di quello che serve e cosa non serve. sarebbe interessante, ma sono 3 ore che tolgo errori su errori di compilazione e ancora non sono arrivato a una compilazione corretta.
gli riservo ancora 2 o 3 ore e poi abbandono.
peccato perchè sembra davvero completo, c'è proprio tutto.
ma delle definizioni che servono (e a cosa servono, più che altro) non c'è scritto un c..zzo
 
vi aggiorno domani