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:简单外设片上 OAD 大小超出闪存

Guru**** 2617435 points

Other Parts Discussed in Thread: CC2640R2F, CC2652R7, CC2652R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1183436/cc2640r2f-simple-peripheral-onchip-oad-size-exceeds-the-flash

器件型号:CC2640R2F

你(们)好  

我正在使用简单的外设片上 OAD 应用程序、并且在上面添加了我的应用程序代码。  

添加我的应用程序代码后、该编译显示闪存代码超出了限制。 下面是 CCS 生成的确切错误


#10099-D 程序不能放入可用内存中。 ".cinit"大小为0x552的段定位失败。 可用存储器范围:cc26xx_app_oad.cmd /simple_peripheral_cc2640r2lp_oad_onchip_app/tools line 327 C/C++ problem

我已尝试(4 -整个程序优化)标记也已启用运行模型选项中的--gen-func-subsections 和--gen-data_subsections。  

我使用的是 CCS 生成的默认链接器命令文件。  我以前从未使用过链接器脚本。  

我是否可以对 cmd 文件执行任何操作来增加闪存大小以满足我的应用需求。  

下面是我的链接器 cmd 文件中的.cinit 段。  

组> FLASH_IMG_HDR

.img_HDR 对齐 page_size

组>条目

.resetVecs
.intvecs
EntrySection load_start (prgEntryAddr)

组>>闪存

.text
.const
.constdata
rodata
.EMB_TEXT
.pinit

.cinit:> FLASH load_end (flashEndAddr)

#endif // OAD_IMG_A

最好

Lakshmi

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

    您好、Lakshmi、

    CC2640R2F 的闪存相当有限、我不会惊讶您遇到这个问题。 片上 OAD 需要2个应用映像和 BIM 的空间。

    如果可能   、我建议查看 CC2652R、甚至我们的较新器件、如 CC2652R7、这些器件具有更多可用闪存。 如果这不是选项、则需要优化堆栈的存储器消耗。 用户指南(此处链接)中提供了一些步骤。 您还可以考虑将高速缓存启用为 RAM (此处链接)或将 AUX 启用为 RAM (此处链接)以获得一些额外的节省。

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

    尊敬的 Ammar:

    我们希望选择片外 OAD 解决方案。 但我们的板在 SPI 接口上具有不同的闪存芯片。 用于数据存储。

    我可以将同一闪存的几个块用于 OAD 映像、闪存的另一部分可用于我的应用吗?  

    如果是、我应该在哪里修改片外 OAD 应用程序以针对我的特定闪存器件进行定制?  

    最好

    Lakshmi

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

    您好、Lakshmi、

    如需了解完整图片、我将查看 FLASH_INTERNAL_ext_RTOS.c flash_interface.h (两者都在 OAD 文件夹中提供)。 在这里、您应该查看 ExtFlash.c/h、最重要 的是 ext_flash_layout.h、它包含 Launchpad 上的外部闪存布局。

    如果您还没有、我强烈建议查看 SDK 用户指南的 OAD 章节(此处链接)