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
Hello
i just upgrade CCS v7 to ccs v7.1 and ControlSUITE to v3.4.6 (before v3.4.2)
So in it, the library for my device is now in version 210: (200 before)
\ti\controlSUITE\device_support\F2837xD\v210
Like indicated here:
http://processors.wiki.ti.com/index.php/Placing_functions_in_RAM
I use the TI.ramfunc with the "table(BINIT)" and use __attribute__((ramfunc)) instead of #pragma CODE_SECTION(f, ".TI.ramfunc")
The the memcopy at init time was deleted.
Code run correctly, but I have the following warning when i compile:
creating output section ".binit" without a SECTIONS specifications
Nothing is indicated in the wiki about how create this section?
Thank
Based upon looking at example command files for other types of devices the .binit section needs to be placed in the same type of memory as constant initialized look-up tables.
E.g. for a F2837xD booting to flash if the .cinit section is in FLASHB then place .binit in the same memory region within the SECTIONS part of the linker command file:
.cinit : > FLASHB PAGE = 0, ALIGN(4) /* Initialization tables */ .pinit : > FLASHB, PAGE = 0, ALIGN(4) /* C++ constructor tables */ .binit : > FLASHB, PAGE = 0, ALIGN(4) /* Boot-time Initialization tables */
I edited the wiki article Placing functions in RAM to note that, if table(BINIT) is added to the linker command file, then a line similar to this must also be added:
.binit : {} > FLASH
Thanks and regards,
-George
Ok,
So what is the difference between:
.binit : {} > FLASH
and
.binit : > FLASH, PAGE = 0