Part Number:LAUNCHXL-CC1310
Tool/software: TI C/C++ Compiler
Hi,
One of my customer is evaluation CC1310 and encounter below problem.
Hardware Platform: CC1310 LaunchPad
IDE: IAR 8.11.2.13606
When the code size is small, it works well. But after adding some applications, the code size increases, and gets
Error[Lp017]: the address of "ti_sysbios_knl_Clock_doTick__I" was needed when
computing compressed initializers for section .data
(release_prm3.orm3 #127), but that address hasn't been set yet, since
the size of the compressed initializers are needed in order to set it
CC1310_LAUNCHXL_TIRTOS.icf is used and has not been modified.
I try to find the answer in EWARM_DevelopmentGuide.ENU.pdf, but get litter information. I have below questions:
1. when will initializers be compressed, and how to control
2. how to "place compressed initializers last"?
3. what is the suggested method to solve this issue?
please help to look into this issue and give your advise, Thanks!
in EWARM_DevelopmentGuide.ENU.pdf, it says
When initializers are compressed, the exact size of the compressed initializers is
unknown until the exact content of the uncompressed data is known. If this data contains
other addresses, and some of these addresses are dependent on the size of the
compressed initializers, the linker fails with error Lp017. To avoid this, place
compressed initializers last, or in a memory region together with sections whose
addresses do not need to be known.