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.

[参考译文] CC3551E:在 4MB 外部闪存上提供 CC3551E-供应商特定闪存区域 NVS 使用情况和 OAD 支持

Guru**** 2902420 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1645816/cc3551e-cc3551e-vendor-specific-flash-region-nvs-usage-and-oad-support-on-4-mb-external-flash

器件型号: CC3551E
主题: SysConfig 中讨论的其他器件

尊敬的 TI 团队:

我将 CC3551 SDK 10.00.18 与外部闪存 IS25WJ032F (4MB) 一起使用。

我在闪存映射 SysConfig 中启用了“供应商特定大小“区域、并保留了 16KB 用于应用参数存储。启用该区域后、我可以在`ti_map_config.c 中看到生成的地址`:

VENDOR_SPECIFIC_PHASE_SLOT_ADDRESS = 0x000DB000;
Vendor_specific region_size = 0x00004000;

但是、我没有看到在`ti_drivers_config.h/.c`中生成任何相应的`CONFIG_NVSx`条目。

我的理解是:

*闪存映射“供应商特定“仅保留原始闪存空间
*它不会自动创建 NVS 驱动程序实例
*要使用 TI NVS API(`NVS_open`、`NVS_write`等)、我必须在 SysConfig 中手动添加 NVS 实例并将其映射到:

 *基址=`0x000DB000`
 *大小=`0x4000`
 *扇区大小=`0x1000`

您能否确认这是否是将供应商特定闪存区域与 TI 驱动程序 NVS 模块配合使用的正确方法?
此外、对于 CC3551 上该供应商特定区域中的持续参数存储、TI 是否有任何推荐的方法?

此外、我启用了 OAD 支持、但由于 4MB IS25WJ032F 器件的闪存大小限制、即使是默认的 AT 命令示例也无法链接。

链接器错误为:

错误#10099-D:程序无法放入可用内存中

请确认:
1. 4 MB 外部闪存上的默认 AT 命令示例是否正式支持 OAD?
2.启用 BLE + WiFi + TLS 功能的 OAD 是否需要更大的外部闪存(8MB 或更高)?
为了使 OAD 适合 4MB 闪存、是否有任何建议的特性削减或链接器优化?

谢谢、

Vignesh。

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

    尊敬的 Vignesh:

    能否详细说明一下当您“在 SysConfig 中手动添加 NVS 实例“时执行了什么操作?

    有关如何与通用存储区域(例如特定于供应商的 NVS)进行交互的更多信息、请参阅 SDK 文档的这一部分:  

    至于 OAD、我假设您指的是无线下载(我们通常称为 OTA,但不用太担心该行话)、请注意、任何 Wi-Fi 应用都支持 OTA、前提是它可以遵循 PSA_fwu 流程、两组闪存内容(TI 无线固件,供应商映像,引导加载程序等)均可放入闪存中。 我们不一定将其包含在 AT 命令示例中、但您可以参阅 OTA 示例、以便更好地了解设置固件更新过程可能需要哪些条件。

    对于您的第二个问题、可能是的、除非您弄清楚如何优化您的应用、使其副本(以及 TI 无线固件,引导加载程序等)也可以放入闪存中。

    对于您的第三个问题、目前尚未解答、但 4MB 闪存支持 OTA。