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.

[参考译文] 编译器/CC2640R2F:在 simple_peripheral 项目中将数组放置在 CC2640R2F AUX RAM 中

Guru**** 2553450 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/790346/compiler-cc2640r2f-array-placement-in-cc2640r2f-aux-ram-in-simple_peripheral-project

器件型号:CC2640R2F

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


您好! 我遵循 了 dev.ti.com/.../memory_management.html AUXDATA 模块中的建议、该模块出现在.data 段中。

它包含 simple_peripheral.o 中的变量

如何放置一个大小为2kB 的单个数组(即 AUXDATA 块的大小)?

据我所知、我需要以某种方式指示该数组应放置在.data 段的 AUXDATA 块中。 但是、如何正确执行呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Alex:
    我已指派一名专家提供一些反馈。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您似乎正在使用 TI C/C++编译器工具链、在这种情况下、请参阅编译器用户指南 www.ti.com/.../spnu151t.pdf 中的第5.11.8节 DATA_SECTION pragma

    您也可以使用 GCC 样式部分属性第5.17.3节。

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

    您好、Aslak! 感谢您的回答、但问题是其他变量会自动进入 AUX RAM、并且没有空间容纳阵列。

    如何在.ICF 文件中指定 AUX RAM 中应该只有一个2kB 阵列?

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

    因此、由于您提到 ICF、您似乎没有使用 TI 编译器(即使在 POST 元数据中指定了该编译器)。 在这种情况下、请参阅《IAR C/C++开发指南》、有关 LOCATION pragma 的部分: ftp.iar.se/.../EWARM_DevelopmentGuide.ENU.pdf

    无论 TI/IAR 如何、除了为 c 文件中的每个符号使用 pragma 之外、链接器文件还可用于指定应进入该段的内容。

    在您的情况下、似乎您想要做的就是删除链接器文件中 AUXDATA 的部分或所有放置位置、而是放置您自己的自定义部分(您在其中找到了自己的部分)。 这实际上是在您最初链接的文档中描述的。 请查看本章底部附近的"my_section"。

    此致、
    Aslak