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.

CC2642R: NV operation

Part Number: CC2642R
Other Parts Discussed in Thread: CC2640

Hi,

A customer needs help about NV operation on CC2642.

1.Can the NV be read/written frequently?  He asked because he tested the function SysCtrlSystemReset() and the device reset every 10~20s. Before reset, he read/wrote the NV for data storage. He observed data in NV lost after run the code over ten hours. All the data read from code was 0. Did this caused by frequent NV operation?

2.After data lost, he tried to read the flash by flash programmer,and the result were all FF.

3.Another question is how to understand the stored logic of flash. The data they read vs the data they write were also different even on a normal board. He did a simple test----- Write 8-byte 0x08 to 8c, and write 12-byte 0x0D to 8D.  He found the data was stored in flash successively, and there was a 7-byte data end with 0x96 at last,what did this 7-byte mean?  The data read out by flash programmer is shown below:

BR,

Viki

  • stored logic
  • Hi,

    Can you precise the following:

    - which SDK version is used?

    - is the NV driver used?

    - is the example nvsinternal (stored in the SDK) working as expected?

    The number of erase of the NV memory is given in the data sheet of the component (30 000 times for a single page).

    Regards,

  • Hi,

    1.SDK version: simplelink_cc13x2_26x2_sdk_3_10_00_53

    2.They are using NV driver now.

    3.No, their project is migrated from CC2640. 

    BR,

    Viki

  • Hi,

    Keep in mind that the NVS driver requires time to perform the read-write operations. This is even more true if the driver needs to erase a page. The NVSCC26XX.h File Reference (that can be found in your SDK in docs/tidrivers/doxygen/html/_n_v_s_c_c26_x_x_8h.html) provides details.

    Regarding the content of the flash memory, the only way to erase a data is to erase the whole page. To save time and increase FLASH lifetime, instead of erasing the old value each time, the NVS driver will re-write the variable. I think this is what you are observing here.

    To finish, can you try to flash the example nvsinternal on you device to see if this one is working? Thanks

    Regards,

  • Hi,

    My customer tested SNV driver on both CC2642 and CC2640, with frequently operation, CC2640 worked fine but CC2642 was not. He observed data loss and this phenomenon was on SNV driver not NVS.

    BR,

    Viki

  • Hi,

    Can you post the minimal subset of code allowing us to reproduce their problem?

    Kind regards,

  • Can you provide the information Clement asked so we can reproduce here?