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.

Compiler: creating output section ".binit" without a SECTIONS specifications

Other Parts Discussed in Thread: CONTROLSUITE

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

  • There is no effective difference.

    Thanks and regards,

    -George