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.

[参考译文] 编译器:创建输出节".binit "而不使用节规范

Guru**** 2558250 points
Other Parts Discussed in Thread: CONTROLSUITE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/589732/compiler-creating-output-section-binit-without-a-sections-specifications

主题:controlSUITE中讨论的其他部件

工具/软件:TI C/C++编译器

你好

我只需将CCS v7升级到CCS v.7.1 ,并将controlSUITE升级到3.4 v.6 (v 3.4 .2之前)

在该版本中,我的设备的库现在为版本210:(200之前)

\ti\controlSUITE\DEVICE_SUPPORT\F2837xD\V210

如下所示:

http://processors.wiki.ti.com/index.php/Placing_functions_in_RAM

我将TI.ramfunc与"table (BINIT)"一起使用,并使用 __attribute__((ramfunc))代替 #pragma code_section (f,".ti.ramfunc")

在init时删除memcopy。

代码运行正常,但我在编译时收到以下警告:

创建不带书帖规范的输出书帖".binit "

维客中没有关于如何创建此部分的说明?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    根据查看其他类型设备的命令文件示例,需要将.binit部分放置在与常量初始化查找表相同的内存类型中。

    例如,对于 F2837xD启动到闪存,如果.cinit部分位于FLASHB中,则将.binit放在链接器命令文件的sections部分中的同一内存区域中:

    cinit :> FLASHB 页面= 0,对齐(4) /*初始化表 */
    。Pinit :> FLASHB, 页面= 0,对齐(4) /* C++构造函数表 */
    .binit :> FLASHB, 页面= 0,对齐(4) /*启动时初始化表*/ 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我编辑了Wiki文章 Placing Functions in RAM (在RAM中放置函数)以注意,如果将table (BINIT)添加到链接器命令文件中,则还必须添加与此类似的行:

    binit :{}> flash 

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,

    那么,以下各项之间的区别是什么:

    binit :{}> flash

    .binit:> flash,page =0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没有有效的区别。

    谢谢,此致,

    -George