|  | 

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 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 ANSI C ampiamente 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.
  • Ingombro ROM del decompressore estremamente ridotto.
  • Ampia gamma di algoritmi di compressione.
  • Facile da configurare e integrare.
  • Quattro edizioni per soddisfare ogni esigenza.

Vantaggi

  • Minore ingombro di memoria: Comprimendo i dati, è possibile memorizzare molto di più in memoria Flash (interna o SPI) o su schede SD esterne, rendendo la soluzione più economica.
  • Minor traffico di comunicazione: Nelle applicazioni con larghezza di banda limitata, è possibile trasmettere più informazioni in meno tempo, riducendo anche il consumo energetico di trasmettitori e ricevitori.
  • Aggiornamenti più veloci: Il nuovo firmware o i dati di aggiornamento possono essere trasmessi “over-the-air” più rapidamente, superando i limiti di canali come Bluetooth, Zigbee o reti mobili con scarsa copertura.
  • Maggiore flessibilità: emCompress gestisce diversi codec e formati di dati, inclusi i formati di archivio comuni che devono essere decompressi in strutture di file specifiche.

Casi d’uso

SEGGER ha sviluppato quattro edizioni per coprire ogni scenario:

Velocizzare gli aggiornamenti firmware

Molti prodotti richiedono aggiornamenti sul campo dove la banda è limitata.

  • emCompress-Pro: Consente aggiornamenti con immagini compresse, decomprimendo il flusso di dati “al volo” per il modulo di aggiornamento.
  • emCompress-LZMA: La soluzione economica che offre un singolo codec (LZMA) con compressione su host e decompressore in codice sorgente sul target.

Ridurre le dimensioni delle immagini firmware

Quando il firmware eccede la memoria Flash disponibile:

  • emCompress-Embed: È la scelta ideale per ridurre i dati statici nel firmware. Grazie a decompressori piccoli e veloci, i dati vengono decompressi solo quando necessario.

Minimizzare l’ingombro degli “asset” di interfaccia

Asset digitali per interfacce utente (immagini, font) possono essere archiviati compressi.

  • La modalità “group mode” di emCompress-Embed permette di comprimere più asset insieme per ottenere risultati ancora migliori.

Ridurre il traffico nelle reti IoT

  • emCompress-ToGo: Messaggi inviati su una rete possono essere compressi e decompressi “al volo” dal mittente e dal destinatario, riducendo la congestione della rete.

Gestire dati da strumenti di terze parti

  • emCompress-Pro: È compatibile con i comuni strumenti di compressione PC, permettendo al sistema embedded di elaborare dati provenienti da fonti esterne.

Le Quattro Edizioni

CaratteristicaemCompress-ProemCompress-ToGoemCompress-EmbedemCompress-LZMA
Compressione sul targetSì [1]NoNo
Decompressione sul target
Decompressione dati statici
Decompressione file e streamNo
Algoritmi disponibiliDEFLATE, LZMA, LZJU90, LZPJSMASH-2DEFLATE, Huffman, LZW, LZSS, LZJU90, RLE-PARLZMA

[1] Funzionalità disponibile come add-on opzionale.


Licenze

emCompress è disponibile sotto vari modelli di licenza per software embedded e viene fornito in pacchetti di codice sorgente.

  • Pagamento unico: Nessuna royalty, nessun abbonamento.
  • Costi fissi: Il software diventa parte delle spese dell’attrezzatura, mantenendo i costi statici.
  • Supporto incluso: Le licenze includono aggiornamenti e assistenza da parte degli esperti SEGGER.

Articoli simili

  •  |  | 

    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…

  •  | 

    Flasher Hub-12

    Fratello maggiore del Flasher Hub-4, il Flasher Hub-12 controlla fino a 24 unità Flasher Compact, che operano come canali individuali per la programmazione multipla (“gang”) parallela ad alta velocità. Ogni canale può essere configurato per programmare un dispositivo diverso o un’immagine firmware differente. Il sistema combinato Flasher Hub-12 e Flasher Compact viene configurato una sola…

  •  |  | 

    Segger embOS

    Panoramica embOS è una famiglia di sistemi operativi in tempo reale (RTOS) progettata come base per lo sviluppo di applicazioni embedded. Giunto al suo quarto decennio di utilizzo e perfezionamento continuo, embOS offre l’affidabilità e le prestazioni che sostengono il firmware di ogni SEGGER Flasher, J-Link e J-Trace. Distribuito in miliardi di dispositivi in un’ampia…

  •  |  | 

    Segger emRun++

    emRun++ è una libreria standard C++ completa, utilizzabile con qualsiasi toolchain. È stata specificamente ottimizzata per sistemi e applicazioni embedded. In quanto linguaggio di programmazione moderno, il C++ sta diventando sempre più importante nel settore embedded, offrendo agli sviluppatori opzioni sempre più vaste. Con questo obiettivo, emRun++ viene costantemente aggiornata per soddisfare i più moderni…

  •  | 

    Segger Flasher ATE (gang)

    A differenza della programmazione di singoli dispositivi, la programmazione gang è un metodo altamente efficiente utilizzato nella produzione elettronica per programmare più dispositivi simultaneamente. Questo approccio è particolarmente vantaggioso in contesti in cui grandi quantità di microcontrollori o altri dispositivi programmabili devono essere configurati in modo rapido e accurato. Riducendo significativamente il tempo totale di…