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.

[参考译文] CCS/LAUNCHXL-CC2640R2:程序赢得#39;t FIT 在闪存中-段&quot 的放置/对齐问题;.cinit & quot;

Guru**** 2538950 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/892821/ccs-launchxl-cc2640r2-program-won-t-fit-in-flash---placement-alignment-issue-with-section-cinit

器件型号:LAUNCHXL-CC2640R2

工具/软件:Code Composer Studio

你(们)好

我的.cinit 段导致链接器抛出"程序无法放入可用存储器"错误(错误#10099-D)

这是来自链接器的消息:

"C:/ti/simplelink_cc2640r2_sdk_3_40_00_10/source/ti/ble5stack/common/cc26xx/ccs/cc26xx_app.cmd "、第277行:错误#10099-D:程序不能放入可用内存中。 “.cinit”大小为0x1397的段定位失败。 可用存储器范围:
闪存大小:0x1f000未使用:0x2374最大空洞:0x1370
FLASH_LAST_PAGE 大小:0x1000未使用:0xfa8最大空洞:0xfa8
错误#10010:链接期间遇到错误;未构建"ble5_simple_peripheral_cc2640r2lp_app.out"

在发布此问题之前、我尝试了一些操作。

1) 1)我将 全局变量分组到一个结构中、并使用结构方法访问程序中不同位置的变量、但这没有帮助。

2) 2)我将全局变量放置在单独的头文件中、并在  其中使用了#pragma SET_DATA_SECTION 来防止全局变量上的数据阻塞 、但这也没有帮助。  

我看了几个类似问题的 e2e 解决方案、但这些解决方案都没有帮助解决我的问题。

Tushar

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

    您好、Tushar、

    您的应用是否使用 OAD? 如果确实如此、则最好尝试在不同位置手动放置数据以将其传播出去。  

    如果您不使用 OAD、则可以尝试将闪存和 FLASH_LAST_PAGE 合并到仅闪存中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢我合并了闪存,它很有效:)