用到的NvM模块的API接口:
//一般与NvM交互过后,都需要调用下面函数检测下状态。
NvM_GetErrorStatus(p_blk_obj->blk_id, &status);//获取到的status有9种状态,由NvM_RequestResultType定义,例如NVM_REQ_PENDING
除了NVM_REQ_OK、NVM_REQ_PENDING、NVM_REQ_BLOCK_SKIPPED、NVM_REQ_RESTORED_FROM_ROM(0、2、4、8)其他值都是有错误状态。
在调用NvM_WriteBlock(blk_id, ram_buffer);前,需要检查3层模块的状态,
NvM、MemIf、Fls状态,分别使用API:NvM_GetErrorStatus()!= NVM_REQ_PENDING、MemIf_GetStatus()== MEMIF_IDLE、Fls_17_Dmu_GetStatus()== MEMIF_IDLE。
//掉电时存储
NvM_SetRamBlockStatus(ndm_obj.nvm_blocks[index].blk_id, TRUE)