| 

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-Link OB

    Il J-Link OB (dove OB sta per: on-board) è essenzialmente un J-Link in un chip singolo basato su microcontrollore che viene integrato direttamente sulla scheda di valutazione. Arricchisce il design di qualsiasi scheda target con funzionalità standard, come il supporto al debug, il caricamento nella memoria Flash e il VCOM, senza aggiungere costi extra. Il…

  •  |  | 

    Segger emCompress

    La riduzione delle dimensioni dei dati per l’archiviazione e il trasferimento è estremamente preziosa nei sistemi embedded. Una dimensione di archiviazione ridotta minimizza la complessità e i costi dei sistemi mantenendo bassi i requisiti di memoria. Una dimensione di trasferimento ridotta permette di superare i limiti della larghezza di banda disponibile per l’invio e la…

  •  |  | 

    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 emSSL

    emSSL offre un supporto completo per i più recenti protocolli TLS, fornendo funzionalità avanzate senza i vincoli delle licenze open-source o dell’obbligo di attribuzione. Può essere integrato senza problemi in prodotti gratuiti, commerciali o proprietari senza la necessità di divulgare il codice sorgente combinato. Fornito come codice sorgente in ANSI C, emSSL garantisce la massima…

  •  |  | 

    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…

  •  |  | 

    Segger emMQTT

    Panoramica Il Message Queuing Telemetry Transport (MQTT) è un protocollo di trasporto messaggi di tipo publish/subscribe (pubblica/iscriviti) progettato per funzionare sopra il protocollo TCP/IP. È semplice, leggero e aperto. Queste caratteristiche lo rendono ideale per molteplici situazioni, inclusi gli ambienti con risorse limitate come la comunicazione Machine to Machine (M2M) e i contesti Internet of…