Compressione dati

Segger emCompress è una libreria che implementa un algoritmo di compressione (senza perdita) di dati per applicazioni embedded.
E’ pensato per comprimere dati sul PC di sviluppo per poter poi successivamente decomprimere tali informazioni direttamente sul sistema target ad opera del microcontrollore sulla scheda.
Le informazioni compresse sono memorizzate nella memoria flash del sistema target. Un algoritmo di decompressione residente sul sistema target è in grado di decomprimere le informazioni al volo, ogni qualvolta ciò sia necessario. E’ un algoritmo implementato in modo da richiedere una quantità limitata di RAM, tanto che un appropriato algoritmo di decompressione è utilizzato sulla base della quantità di RAM disponibile sul target.

Caratteristiche

Compressione estremamente efficiente
Algoritmo di decompressione di dimensioni limitate (residente nella memoria flash)
Algoritmo di decompressione selezionato in base alla RAM disponibile, già in fase di compressione dei dati su host
Supporta la compressione di gruppi di file, per una maggiore efficienza complessiva.
Licenza senza royalties.

Versioni disponibili

emCompress è disponibile in tre versioni:

  • emCompress-ToGo
  • emCompress-Flex
  • emCompress-Embed
  • emCompress PRO (nuovo!)

emCompress-ToGo: comprime file e stream su host e target con un algoritmo veloce che richiede pochissima RAM.

emCompress-Flex: comprime dati con algoritmi standard in ambiente host e decomprime poi i dati sul target. Ideale per applicazioni come la compressione dei dati di configurazione di una FPGA.

emCompress-Embed: comprime i dati creando un file sorgente in C che contiene le strutture dati che rappresentano i dati compressi. Tali strutture dati C possono essere poi linkate con l’applicazione e decompresse grazie alle API fornite.

emCompress PRO: libreria completa per la compressione e la decompressione di stream e file.

  • Include i seguenti codec: DEFLATE, LZMA, LZPJ, LZJU90
  • API semplici da usare, nello stile di zlib