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.

[参考译文] CC2745R10-Q1:写入 NVS 并关闭和重新启动后、不会保存数据

Guru**** 2419530 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1541483/cc2745r10-q1-data-is-not-saved-after-writing-to-nvs-and-powering-off-and-restarting

器件型号:CC2745R10-Q1
主题:SysConfig 中讨论的其他器件

工具/软件:

关于 cc2745r10 平台上的 OAD(无线下载)项目、在写入 NVS 并关闭和重新启动后不会保存数据。 在非 OAD 项目中写入 NVS 是正常的、并且数据可以在 MCU 断电并重新启动后保存。

 此致!

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

    您好:

    几个问题:

    1.您使用的是什么 SDK?

    2.您使用的是什么 OAD 项目?

    3.您是否在 SysConfig 中对 NVS 区域进行了任何修改?

    4.是否直接使用 osal_SNV 驱动程序或 NVS 驱动程序?

    5.你有什么代码可以分享你是如何写 NVS?

    此致、

    Nima Behmanesh

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

    嗨、 Nima

    simplelink_lowpower_f3_SDK_9_10_00_83

    2.D:\ticode\simplelink_lowpower_f3_SDK_9_10_00_83\examples\rtos\LP_EM_CC2745R10_Q1\ble\basic_ble_oad_onchip\freertos\ticlang

    3.

    4.

    5.e2e.ti.com/.../drv_5F00_nvm.c

    如果我使用 D:\ticode\simplelink_lowpower_f3_SDK_9_10_00_83\examples\rtos\LP_EM_CC2745R10_Q1\ble\car_node\freertos\ticlang 、则 可以。

     此致!

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

    您好:

    感谢您提供的所有信息!  

    我相信我对正在发生的事情有一个想法。 看一下未修改的  basic_ble_oad_onchip  示例、我们可以看到  CONFIG_NVSINTERNAL1  的基地址为 0x31000。 我的假设是、如果我有误、请纠正我 、您已移动此地址、以便在基址 0x30000 处为您自己的 NVS 段创建空间。

    如果上述条件成立、则需要进行另一处修改、因为  basic_ble_oad_onchip  示例使用了 安全启动。  CONFIG_NVSINTERNAL1  是存储器区域、保留为安全启动的“映像槽位“。 发生的情况是、安全启动将查看存储器中的这个位置、并查看其中是否存在有效映像、但由于没有(因为它现在包含您的 NVS 区域) 、它将在启动时擦除该插槽中的任何数据。  

    若要解决此问题、您需要进入 SysConfig 并修改安全配置、以将该插槽移动到其他存储器区域。 为此、您可以转至  Device Configuration --> Security Configuration 、查看次插槽和主插槽中的内存地址并进行相应修改、使其不包含自定义 NVS 区域:

    如上所示、 CONFIG_NVSINTERNAL1  对应于安全启动次级时隙。 在您的 case 中、这些地址已在 NVS 中更改、但可能未在此处更改。  

    根据您随 NVS 插槽提供的图像:

    在  Security Configuration 中、我将  Start address 设置为 0x30800、因为这将是您定义的 NVS 区域的末尾。 你可能需要做一些更多的移动地址,所以一切都合适,没有重叠。

    请告诉我这是否有帮助!

    此致、

    Nima Behmanesh

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

    嗨、 Nima

    非常 好、改变 到 这 是 可以的。

     此致。

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

    您好!

    是的、这应该没问题。 通常、您希望该长度足够大、以便适合您的应用。  

    此致、

    Nima Behmanesh