Topic

FAQ
Login Register
8258ZigBee低功耗设备重启后,nv flash读取返回NV_ITEM_NOT_FOUND
Nov 21, 2022 16:37

/

A

/A

我这边直接写数据返回成功,然后读取数据返回成功,得到数据没有问题。但是设备重启之后,读取nv flash数据就返回NV_ITEM_NOT_FOUND。SDK已经更新到了SDK V3.6.8.2。API用的是nv_flashWriteNew和nv_flashReadNew。


3 replies
TL_Soyo Nov 22, 2022 09:50
0
/A

请使用原始sdk 使用void moduleTest_NV(void)函数测试。

ChiShaoJun [Author] Nov 25, 2022 13:49
0
/A

主要是我这边读写没问题,重启之后读就不行,moduleTest_NV函数测的也是同一次上电的。



Bin Jan 13, 2023 19:15
0
/A


请参考如下测试代码,基于v3.6.8.2 sampleSwitch,重新上电或唤醒会先读后写,

void user_init(bool isRetention) {
    /* Initialize LEDs*/
    led_init();

/*********************************************************************/
    WaitMs(500);
    printf("user_init\n");
    u32 test_cnt = 0;
    nv_sts_t ret = 0;
    ret = nv_flashReadNew(1, NV_MODULE_APP, 0x30, sizeof(u32), (u8 *)&test_cnt);
    printf("r: ret = %x, cnt = %d\n", ret, test_cnt);
    test_cnt++;
    ret = nv_flashWriteNew(1, NV_MODULE_APP, 0x30, sizeof(u32), (u8 *)&test_cnt);
    printf("w: ret = %x, cnt = %d\n", ret, test_cnt);
/*********************************************************************/

#if PA_ENABLE
    rf_paInit(PA_TX, PA_RX);
#endif
#if ZBHCI_EN
    zbhciInit();
#endif
...
}


重新上电打印结果: