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-ToGo: comprime file e stream su host e target con un algoritmo veloce che richiede pochissima RAM.

emCompress-Flex: comprime dati con algoritmi standard su host e decomprime poi i dati sul target

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.

Compressione dati