SPRU513Y August 2001 – June 2022 SM320F28335-EP
For C2000, the unit size is 16-bits, which is the size of an unsigned char type on C2000. For compressed data sections on C2000, all data is stored in 16-bit units.
The compressed load data has the following layout:
16-bit index | Compressed data |
The first 16 bits of the load data are the handler index. This handler index is used to index into a handler table to get the address of a handler function that knows how to decode the data that follows. The handler table is a list of 32-bit function pointers as shown in Figure 9-8.
The linker creates a separate output section for the load and run space. For example, if .task1.load is compressed using RLE, the handler index points to an entry in the handler table that has the address of the run-time-support routine __TI_decompress_rle().