This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: TI C/C++ Compiler
Several of the linker command file designations remain unused even though program data and code elements use them (I believe).
For example,
// C++ startup constructor tables .pinit : > RAMLS0, PAGE = 0 // Jump tables for switch statements .switch : > RAMLS1, PAGE = 0 // Initialized non-const global data .data : > RAMLS2toLS3, PAGE = 0
Despite usage of C++ classes and switch statements the RAM locations above always remained unused.
When do the .pinit, .switch, and .data get used? In particular, is my code not benefitting from switch jump tables?
Kindly,
Graham
Graham,
Here is a wiki page that details the linker command and how placement of memory takes place.
Regards,
Ozino
Hi Graham,
The .pinit and .data section are needed. This document goes into advance linker techniques: www.ti.com/.../spraa46a.pdf . The compiler documentation also talks more into the placment of memory into different areas: www.ti.com/.../spru513p.pdf
I will suggest taking a look at the vast array of linker command files available in C2000Ware for the F2837xD under device_support\f2837xd\common\cmd.
The files there provide basic memory configurations for different applications for this device.
Depending on the application the .switch section can be assigned to flash or ram. Are you trying to run your application from flash or ram?
Regards,
Ozino