MPC555
/
MPC556
BURST BUFFER
MOTOROLA
USER’S MANUAL
Rev. 15 October 2000
4-12
compression purposes. The resulting uncompressed elf code (with compression
hooks) will load and run like any other elf code.
The software compression tool compresses the elf code (x.elf) and produces a com-
pressed elf code (x.elf.sqz). The system sees the compressed elf code as regular elf
formatted code for purposes of loading into hardware (when programming the flash).
However, the decompression module must now be used to run the compressed elf
code.
illustrates the several steps for generating compressed executable code.
Once generated, this code can be loaded into flash or SRAM (internal or external) .
Figure 4-11 Code Compression Process (Phase A)
The compression tool replaces regular PowerPC instructions by their “compressed”
representation which contain fewer data bits. The compressed data bit representation
is contained in the vocabulary. The vocabulary is structured into a binary bounded
Huffman code tree. This method has the result of the first instructions being repre-
sented by fewer bits. Further instructions require more bits for unique decoding.
Therefore, the instructions that occur most in code should be represented earlier in the
vocabulary structure. This would produce the most condensed code. A statistical study
was made of typical application code. The existing vocabulary is fixed for Phase A
Compiler/
Program
Executable
Compressor
Linker
Tool
Vocabulary
Non-compressed
Program
Executable
Compressed
x.elf (with hooks)
x.elf.sqz
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..