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.

[参考译文] LP-CC1312R7:使用 NVS 驱动器无法在所需位置写入。

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1410879/lp-cc1312r7-using-nvs-driver-fails-to-write-in-desired-position

器件型号:LP-CC1312R7

工具与软件:

您好!

我´m 使用提供的 NVS 驱动程序来控制所包含的数据写入、但我已经检查过该驱动程序无法在 MX25R8035F 芯片中的正确位置写入数据。

我按如下方式配置和工作:


  1. 创建一个 NVS 分区、选择偏移量为0和0x8000000的外部 SPI 存储器、以打开芯片空间。
  2. 打开此分区并在0x0和0x400000中写入数据、根据需要偏移数据以避免在写入前擦除、已将其检查为在内部存储器中工作。(数据大小约为100 char)
  3. 写入数据后、写入0x0中的数据出现在0x400000扇区的读取中。

我不知道驱动程序的限制、但似乎驱动程序无法写入外部闪存中所需的偏移量。

我试过的´ve:

在中创建多个 NVS 扇区。 CFG 并打开/关闭它们以避免重叠->发生同样的事情、来自一个扇区的数据显示在 另一个扇区中。  

使用 NVS 驱动程序同时在外部闪存中打开多个扇区->不起作用、硬故障。

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

    Javier、您好!

    这很奇怪。

    您能否提供代码片段以及重现此问题的步骤?

    如果您想查看与外部闪存交互的示例实现、可以查看任何片外 OAD 示例。 我们实现了一个 flash_interface 层来处理该层。

    谢谢、

    Marie H.

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

    我创建了一个基于 NVS_EXTERNAL 的修改工程来显示此错误、只执行就会出现问题、使用提供的示例应该是控制台输出、但在写入 DIR 1时仅显示 dir 1数据 HAST、与 dir 2相同:

    NVS_STATUS_SUCCESS OK
    --READING_SPI_FLASH--
    NVS_STATUS_SUCCESS OK
    MEMORY_DIR_1_INIT:ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    NVS_STATUS_SUCCESS OK
    MEMORY_DIR_2_INIT:ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    NVS_STATUS_SUCCESS OK
    Erasing SPI flash
    NVS_STATUS_SUCCESS OK
    Writing memory dir 1
    --READING_SPI_FLASH--
    NVS_STATUS_SUCCESS OK
    MEMORY_DIR_1 after write in DIR1:SimpleLink SDK Non-Volatile Storage (NVS) SPI Example.
    NVS_STATUS_SUCCESS OK
    MEMORY_DIR_2 after write in DIR1:SimpleLink SDK Non-Volatile Storage (NVS) SPI Example.
    NVS_STATUS_SUCCESS OK
    NVS_STATUS_SUCCESS OK
    NVS_STATUS_SUCCESS OK
    Writing memory dir 2
    --READING_SPI_FLASH--
    NVS_STATUS_SUCCESS OK
    MEMORY_DIR_1 after write in DIR2:SimpleLink SDK Non-Volatile Storage (NVS) SPI Example.
    NVS_STATUS_SUCCESS OK
    MEMORY_DIR_2 after write in DIR2:SimpleLink SDK Non-Volatile Storage (NVS) SPI Example.
    

    e2e.ti.com/.../nvsexternal_5F00_LP_5F00_CC1312R7_5F00_nortos_5F00_ticlang_5F00_error_5F00_example.zip

    编辑:检查我发现了问题:我认为存储器是8MB ,而不是 MB,它实际上是1MB ,所以 max Dir 是 0x100000。 我将该示例更改为此参数、它运行得很好。 很抱歉出现问题。