25.12.2012 Views

VisualDSP++ 4.5 Loader and Utilities Manual - Analog Devices

VisualDSP++ 4.5 Loader and Utilities Manual - Analog Devices

VisualDSP++ 4.5 Loader and Utilities Manual - Analog Devices

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Blackfin Processor Booting<br />

The first 16 bits of the compressed block header hold the padded byte<br />

count of the compressed stream. The loader utility always pads the byte<br />

count if the resulting compressed stream from the loader compression<br />

engine is an odd number. The loader utility rounds up the byte count of<br />

the compressed stream to be a next higher even number. This 16-bit value<br />

is either 0x0000 or 0x0001.<br />

The second 16 bits of the compressed block header hold the size of the<br />

compression window, used by the loader compression engine. The value<br />

range is 8–15 bits, with the default value of 9 bits. The compression window<br />

size specifies to the compression engine a number of bytes taken from<br />

the window during the compression. The window size is the 2’s exponential<br />

value.<br />

As mentioned before, the compression/decompression mechanism for<br />

Blackfin processors utilizes the open-source lossless data-compression<br />

library zLib1. The zLib1 deflate algorithm, in turn, is a combination of a<br />

variation of Huffman coding <strong>and</strong> LZ77 compression algorithms.<br />

LZ77 compression works by finding sequences of data that are repeated<br />

within a sliding window. As expected, with a larger sliding window, the<br />

compression algorithm is able to find more repeating sequences of data,<br />

resulting in higher compression ratios. However, technical limitations of<br />

the zLib1 decompression algorithm dictate that the window size of the<br />

decompressor must be the same as the window size of the compressor. For<br />

a more detailed technical explanation of the compression/decompression<br />

implementation on a Blackfin processor, refer to the readme.txt file in<br />

…\Blackfin\ldr\zlib\src subdirectory of the <strong>VisualDSP++</strong> <strong>4.5</strong> installation<br />

directory.<br />

In the Blackfin implementation, the decompressor is part of the decompression<br />

initialization files (see “Decompression Initialization Files” on<br />

page 2-60). These files are built with a default decompressor window size<br />

of 9 bits (512 bytes). Thus, if the user chooses a non-default sliding window<br />

size for the compressor by sliding the Compression Window Size<br />

slider bar in the Compression tab (under Load in the Project Options<br />

2-58 <strong>VisualDSP++</strong> <strong>4.5</strong> <strong>Loader</strong> <strong>and</strong> <strong>Utilities</strong> <strong>Manual</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!