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.

[参考译文] CC2541:我想将数据存储在可用的内部闪存中,是否可以永久存储?

Guru**** 2595805 points
Other Parts Discussed in Thread: CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/610481/cc2541-i-want-to-store-the-data-in-internal-flash-available-can-it-be-stored-permanently

器件型号:CC2541

您好!

我使用的是 CC2541,我想将数据存储在内部闪存上,写入的数据不应该被擦除,即使器件可以软重新存储。

是的,那么我怎么能做到这一点呢?

请推荐!!!

此致

阿图尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、您可以使用 API osal_sv_write 将自定义数据写入内部闪存、也可以使用为应用保留的 ID 0x80-0x8F。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,YK Chen,

    感谢您的快速回复。 我还有几个问题

    我必须更改链接器文件中的任何内容...?

    或者、我可以直接在我的应用程序代码中使用 osal_SNV_WRITE 和 osal_SNV_read……?

    在哪里可以读取我写入的数据、有任何窗口可以查看闪存?


    请建议:

    此致
    阿图尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    无需更改链接器文件、您可以使用 osal_SNV_read 读取使用 osal_SNV_write 编写的 NV ID。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,黄晨

    回复的容器,它运行良好,现在我可以在 osal_SNV_read 和 write 的帮助下写入和读取数据。

    我还有一个问题、我无法存储使用命令 osal_SNV_read (BLE_NVID_CUST_START、sizeof (uint32)、&iRead)读取的值;

    如何将 iRead 中的值存储或复制到任何变量中...?

    我尝试了 uint32 *value=&iRead; 这样、XDATA 地址就会被复制到值中、因为无法读取写入的值。

    如何从 iRead 中恢复值...?

    此致
    阿图尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为这是端字节序问题、因此您可以在阅读内容后尝试反转内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,黄晨

    我用于读取值的代码是

    uint8 *value;
    uint32 iWrite=0x33;
    uint32 iRead = 0x0;
    BLE_NVID_CUST_START 0x80
    OSAL_SNV_WRITE (BLE_NVID_CUST_START、sizeof (UINT32)、&iWrite);
    OSAL_SNV_read (BLE_NVID_CUST_START、sizeof (uint32)、&iRead);

    直到这种情况下工作正常。在此之后、我可以从 iRead 检索值

    我是否可以读取此类值(&I)? 或者我必须使用 HalFlashRead 或任何其他函数来读取数据 iRead 并将其存储在变量中。

    对此有什么建议?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    应使用 value=iRead 获取值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是错了,把它写为指针,是的,它是有效的!!!
    非常感谢!!!

    此致
    阿图尔