emCompress – kompresja danych w aplikacjach embedded firmy Segger

Firma Segger wprowadziła do swojej oferty zestaw programowych narzędzi do kompresji danych przeznaczonych do stosowania w aplikacjach embedded. emCompress pozwala na zmniejszenie zapotrzebowania na pamięć (zarówno Flash, jak i pamięć RAM) przez aplikację użytkownika, co ma duże znaczenie w obecnie budowanych systemach. Oprócz zmniejszenia kosztu urządzenia docelowego, możliwe jest również ograniczenie ilości transmitowanych danych. emCompress automatycznie dobiera algorytm kompresji danych w zależności od typu przetwarzanych danych oraz dostępnej ilości pamięci.

Największe zapotrzebowanie na pamięć w systemach embedded wykazują dane statyczne. Najczęściej są to nowe wersje firmware’u, obrazy pamięci (np. kopiowane podczas uruchomiania urządzenia do układów FPGA), różne wersje językowe aplikacji czy też dane wykorzystywane podczas generowania stron internetowych. Żeby zminimalizować zapotrzebowanie na pamięć w systemie mikroprocesorowym, w emCompress dane należy skompresować na komputerze osobistym, a następnie połączyć z aplikacją przygotowywaną dla systemu mikroprocesorowego. Dekompresja odbywa się w układzie docelowym. Interesującą funkcjonalnością emCompress są zaimplementowane algorytmy przystosowane do bardzo szybkiej dekompresji dużej liczby plików o małym rozmiarze. Dzięki temu możliwe jest budowanie systemów embedded pracujących jako serwery stron internetowych.

 

Warto zwrócić uwagę na małe zapotrzebowanie wydajnych dekompresorów na pamięć programu oraz pamięć RAM. Zapotrzebowanie to jest zależne od algorytmu, np. dla dekompresora LZW jest wymagane tylko 1 kB pamięci Flash i do 2 kB pamięci RAM. Dekompresja może odbywać się zarówno do pamięci, jak i w trybie strumieniowym.

W ramach emCompress użytkownik otrzymuje aplikację kompresującą pracującą pod kontrolą systemu Windows oraz kody źródłowe dekompresorów w języku ANSI C.

Więcej informacji o emCompress można znaleźć na stronie producenta:https://www.segger.com/emcompress.html

Autoryzowanym dystrybutorem firmy Segger w Polsce jest KAMAMI.pl.

O autorze