SPRU513Y August 2001 – June 2022 SM320F28335-EP
The following subsections provide information about decompression algorithms for the RLE and LZSS formats. To see example decompression algorithms, refer to the following functions in the Run-Time Support library:
Additional information about compression algorithms can be found in the C28x Embedded Application Binary Interface Application Report (SPRAC71) EABI specification.
Run Length Encoding (RLE):
16-bit index | Initialization data compressed using run length encoding |
The data following the 16-bit index is compressed using run length encoded (RLE) format. C2000 uses a simple run length encoding that can be decompressed using the following algorithm. See copy_decompress_rle.c for details.
The C2000 run-time support library has a routine __TI_decompress_rle() to decompress data compressed using RLE. The first argument to this function is the address pointing to the 16 bits after the 16-bit index. The second argument is the run address from the C auto initialization record.
Lempel-Ziv-Storer-Szymanski Compression (LZSS):
16-bit index | Data compressed using LZSS |
The data following the 8-bit index is compressed using LZSS compression. The C2000 run-time-support library has the routine __TI_decompress_lzss() to decompress the data compressed using LZSS. The first argument to this function is the address pointing to the 16 bits after the 16-bit Index, and the second argument is the run address from the C auto initialization record.