Compression tool for embedded systems shrinks target files

September 03, 2015 // By Graham Prophet
Segger’s emCompress is, a compression tool for embedded systems to reduce the required storage on the target for boot images, HTML files or other static data. emCompress automatically picks the best algorithm for the memory available. It reduces flash memory sizes, costs and data transmission time.

The main application for compression is to reduce the amount of space needed for static data. Examples for static data are FPGA images which are copied to the FPGA during startup, firmware images which are copied from data memory to run in instruction RAM, firmware updates which are sent to the device in compressed form, and language packs for different languages or HTML pages.

To achieve the reduction of memory needs, the data is compressed on a PC and either linked to the application or stored in the permanent memory of the target device. Decompression takes place on the target side, whenever it is needed and with little RAM used. Meanwhile the compressed version is stored in the flash of the target. The ROM consumption of emCompress is tiny, compared to the additional space that is available to the development engineer for new firmware features.

emCompress is capable of reducing highly redundant data, such as HTML pages, to no more than 10% of the original size - it offers a group mode, which boosts compression ratios when compressing many small files such as HTML content for embedded web servers.

The tool concentrates on the restricted RAM resources available for decompression in embedded systems. Thus, emCompress is delivered with numerous compression algorithms that can be parameterised to tune decompressor RAM. Decompression can be done into memory or in streamed mode.

emCompress comes with the compression application to run on Windows and the source code for all decompressors. It is written in ANSI C and is both compiler and target independent. emCompress can be licensed with a one-time payment tailored to commercial requirements.