| 

Segger emCompress

La riduzione delle dimensioni dei dati per l’archiviazione e il trasferimento è estremamente preziosa nei sistemi embedded. Ridurre l’ingombro dell’archiviazione minimizza la complessità e i costi dei sistemi, mantenendo bassi i requisiti di memoria. Ridurre le dimensioni del trasferimento permette di superare i limiti della larghezza di banda disponibile per l’invio e la ricezione dei dati.

Progettato specificamente per i sistemi embedded, emCompress è in grado di comprimere e decomprimere dati anche sui microcontrollori più piccoli. emCompress è disponibile in quattro edizioni: emCompress-Pro, emCompress-ToGo, emCompress-Embed e emCompress-LZMA, che coprono diverse applicazioni di compressione. Ogni edizione è ottimizzata per il suo uso specifico per fornire il modo più conveniente di gestire i dati.

emCompress è scritto in codice ANSI C ben commentato. È indipendente sia dal compilatore che dal target. A differenza della maggior parte delle librerie di compressione, non è coperto da licenze open source o con obbligo di attribuzione e può essere integrato in qualsiasi prodotto commerciale o proprietario senza l’obbligo di divulgare il codice sorgente combinato.

Caratteristiche principali

  • Per dispositivi embedded, app e software per PC
  • Ridotto ingombro ROM del decompressore
  • Ampia gamma di algoritmi di compressione
  • Facile da configurare e integrare
  • Quattro edizioni per soddisfare ogni esigenza di compressione

Vantaggi

Minore spazio occupato in memoria

Comprimendo i dati, è possibile memorizzarne molti di più nella memoria flash (interna o SPI) o su una scheda SD esterna. Che si tratti di aggiornamenti firmware, bitstream di configurazione o risorse per l’interfaccia (asset), minore è l’ingombro, più economica diventa la soluzione grazie all’uso di supporti di memoria più piccoli e meno costosi.

Minore traffico di comunicazione

Nelle applicazioni che utilizzano collegamenti a bassa larghezza di banda, la compressione permette di trasmettere più informazioni in meno tempo. Inoltre, meno traffico di rete riduce il consumo energetico di trasmettitori e ricevitori. Per le comunicazioni a lunga distanza, meno dati portano a meno errori e maggiore velocità di trasmissione.

Aggiornamenti più veloci

Tramite la compressione, i nuovi firmware o i dati di aggiornamento possono essere trasmessi via etere (OTA) non solo con meno banda, ma anche più velocemente. Questo è cruciale per canali come Bluetooth, Zigbee o comunicazioni mobili in aree con scarsa copertura di rete.


Casi d’uso

SEGGER ha sviluppato quattro diverse edizioni per coprire ogni scenario. Di seguito sono riportati i casi d’uso principali:

  • Velocizzare gli aggiornamenti firmware: Molti prodotti devono essere aggiornati sul campo con banda limitata. emCompress-Pro ed emCompress-LZMA permettono di ricevere flussi di dati compressi e decomprimerli “al volo” durante l’aggiornamento.
  • Ridurre le dimensioni delle immagini firmware: Quando il firmware rischia di superare la dimensione della flash, emCompress-Embed è la scelta giusta per comprimere i dati statici e decomprimerli solo quando necessario.
  • Minimizzare l’archiviazione degli asset (UI): Le risorse digitali per l’interfaccia utente possono essere archiviate in forma compressa. Con la modalità “group” di emCompress-Embed, più asset possono essere compressi insieme per risultati ancora migliori.
  • Ridurre il traffico di rete IoT: Per le reti congestionate, emCompress-ToGo permette a mittente e destinatario di comprimere/decomprimere i messaggi in tempo reale.
  • Elaborare dati da strumenti di terze parti: Se un dispositivo riceve dati compressi da fonti esterne, emCompress-Pro garantisce la compatibilità con i comuni strumenti di compressione e formati di archivio.
  • Bitstream per FPGA: emCompress-Embed può comprimere i bitstream di configurazione per FPGA/CPLD, permettendo la configurazione immediata del dispositivo tramite blocchi decompressi al volo.
  • Data Logging: Per risparmiare risorse durante la raccolta di grandi quantità di dati, emCompress-ToGo è la soluzione ideale per archiviare log compressi.

Edizioni a confronto

CaratteristicaemCompress-ProemCompress-ToGoemCompress-EmbedemCompress-LZMA
Compressione sul targetSì [1]NoNo
Decompressione sul target
Algoritmi disponibiliDEFLATE, LZMA, LZJU90, LZPJSMASH-2DEFLATE, Huffman, LZW, LZSS, LZJU90, RLE-PARLZMA
Applicazioni tipicheAggiornamenti firmware, trasferimento dati esterniData loggers, Bluetooth, SatellitiRiduzione dimensione firmware, bitstream FPGA, asset UIAggiornamenti firmware economici

[1] Funzionalità supportata solo con l’add-on opzionale del codice sorgente del compressore.

Articoli simili

  •  |  | 

    Segger J-Trace

    Panoramica Lo J-Trace di SEGGER è una sonda di tracciamento (trace probe) professionale di tipo streaming che offre la migliore esperienza di analisi possibile, vantando un elenco esteso di funzionalità in grado di soddisfare ogni esigenza di debug degli sviluppatori embedded. Grazie allo streaming trace illimitato, al Live Code Profiling e alla Live Code Coverage,…

  •  |  | 

    Segger emWin

    emWin è la libreria grafica per sistemi embedded di SEGGER. Fornisce strumenti e API per la creazione di interfacce grafiche (GUI) su piattaforme microcontrollore, consentendo anche a sistemi con risorse limitate di eseguire interfacce utente interattive di alta qualità. Supporta display sia semplici che complessi ad alta risoluzione, è progettata specificamente per il mondo embedded…

  •  |  | 

    Segger IoT Toolkit

    Panoramica L’IoT Toolkit è una raccolta di librerie progettate per comunicare senza sforzo con i moderni dispositivi IoT, permettendoti di concentrarti sulle parti cruciali della tua applicazione. Sebbene i dispositivi IoT parlino tipicamente linguaggi semplici, implementare questi protocolli secondo gli standard ufficiali può diventare un onere gravoso. L’IoT Toolkit fornisce librerie collaudate per aiutarti a…

  •  |  | 

    Segger emUSB-C PD

    emUSB-C PD trasforma il cavo in una connessione intelligente, consentendo il rilevamento del tipo di dispositivo collegato, delle capacità di alimentazione, del software USB Host/Device e molto altro. Con la libreria emUSB-C PD di SEGGER, le applicazioni embedded possono gestire facilmente una porta USB-C su qualsiasi dispositivo dotato di un controller USB PD. emUSB-C PD…

  •  |  |  | 

    Segger emUSB Host

    Panoramica Il software emUSB-Host consente alle periferiche USB di funzionare con i dispositivi embedded. Fornisce funzionalità complete di host USB, inclusi il supporto per hub esterni e driver di classe (opzionali). Il software è conforme alle specifiche standard stabilite dall’USB Implementors Forum e supporta tutte le modalità di trasferimento (control, bulk, interrupt e isochronous) a…

  •  |  | 

    Segger emApps

    emApps è un pacchetto software rivoluzionario che porta nel mondo dei sistemi embedded la flessibilità tipica degli smartphone. Come alternativa al firmware statico, emApps introduce un livello applicativo che consente di aggiungere nuove funzionalità in qualsiasi momento, senza toccare il nucleo del sistema già validato. Per ottenere questo risultato, emApps implementa il concetto di App, ovvero piccoli…