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.

[参考译文] CC1352P:15.4 :优化闪存使用以实现片上OAD

Guru**** 2445440 points
Other Parts Discussed in Thread: CC1352P7

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1095195/cc1352p-ti15-4-optimize-flash-usage-to-implement-onchip-oad

部件号:CC1352P

您好,

我尝试集成片上OAD支持。

我的主要应用程序基于sensor_oad_onchip_secure,闪存使用率为200k。 持久应用程序使用96k。

因此,我将  cc13x2_cc26x2_oad_onchip.cmd中的IMG_A_FLASH_START设置为0x0003E000 ,这样持久性应用程序就可以编译并具有98 % 的闪存使用量,以便主应用程序有最大的可用空间。

实际上,主应用程序应该有足够的可用闪存,但它没有链接:

"../cc13x2_cc26x2_oad_onchip.cmd",第149行:错误#1.0099万-D:程序无法装入可用内存,或者部分包含一个调用站点,需要无法为此部分生成trampoline。对"Group_3"大小0x30a88进行定位失败。 可用内存范围:
闪存大小:0x3df18未使用:0x39f18最大孔:0x29f18

最大孔的含义是什么?为什么0x30a88的大小不适合0x39f18的未使用区域?

 提前感谢您的参与

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

    也许您可以考虑使用具有704 KB 闪存的CC1352P7。

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

    这也是我们的一个选择,但我们在哪里可以获得? 100至200件就足够了。

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

    TI商店中已缺货。

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

    我认为在接下来的几个月内不会提供。 所以我需要另一个解决方案。 还有其他 建议吗?

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

    Manuel,您好!

    首先,请检查编译器的优化级别,并保持代码大小的最大优化。 可以在项目属性中检查编译器优化。

    我使用TI Clang和默认的TI Arm CCS编译器编译了sensor_oad_onchip_secure项目,并观察了地图文件,TI Clang似乎提供了一个3K的未使用的闪存。  

    最大孔是指闪存中可用的连续存储位置。 我认为您的其中一个分区比可用的连续内存位置的大小要大。

    您是否可以与我们共享链接器cmd文件? 另外,当.map文件能够编译时,查看一下它可能会很有用。  

    此致,
    SID