Considerations when working with RW data compression
There are some considerations to be aware of when working with RW data compression.
When working with RW data compression:
-
Use the linker option
--map
to see where compression has been applied to regions in your code. The linker in RealView Compiler Tools (RVCT) v4.0 and later turns off RW compression if there is a reference from a compressed region to a linker-defined symbol that uses a load address.
If you are using an ARM® processor with on-chip cache, enable the cache after decompression to avoid code coherency problems.
Compressed data sections are automatically decompressed at run time, providing
__main
is executed, using code from the ARM libraries. This code must be
placed in a root region. This is best done using InRoot$$Sections
in a
scatter file.
If you are using a scatter file, you can specify that a load or execution region is not to
be compressed by adding the NOCOMPRESS
attribute.