23 #include "nvm_config.h" 
   45 #define ECODE_EMDRV_NVM_OK                      ( ECODE_OK )                                  
   46 #define ECODE_EMDRV_NVM_ADDR_INVALID            ( ECODE_EMDRV_NVM_BASE | 0x00000001 )         
   47 #define ECODE_EMDRV_NVM_ALIGNMENT_INVALID       ( ECODE_EMDRV_NVM_BASE | 0x00000002 )         
   48 #define ECODE_EMDRV_NVM_DATA_INVALID            ( ECODE_EMDRV_NVM_BASE | 0x00000003 )         
   49 #define ECODE_EMDRV_NVM_WRITE_LOCK              ( ECODE_EMDRV_NVM_BASE | 0x00000004 )         
   50 #define ECODE_EMDRV_NVM_NO_PAGES_AVAILABLE      ( ECODE_EMDRV_NVM_BASE | 0x00000005 )         
   51 #define ECODE_EMDRV_NVM_PAGE_INVALID            ( ECODE_EMDRV_NVM_BASE | 0x00000006 )         
   52 #define ECODE_EMDRV_NVM_ERROR                   ( ECODE_EMDRV_NVM_BASE | 0x00000007 )         
   55 #define NVM_WRITE_ALL_CMD         0xff 
   57 #define NVM_WRITE_NONE_CMD        0xfe 
   59 #define NVM_READ_ALL_CMD          0xff 
   62 #define NVM_ERASE_RETAINCOUNT    0xffffffffUL 
   65 #define NVM_PAGE_TERMINATION    { NULL, 0, (NVM_Object_Ids) 0 } 
   78 #ifndef NVM_FEATURE_WEARLEVELGET_ENABLED 
   79 #define NVM_FEATURE_WEARLEVELGET_ENABLED    true 
   82 #if (NVM_FEATURE_WEARLEVELGET_ENABLED) 
   83 uint32_t NVM_WearLevelGet(
void);
 
Ecode_t NVM_Read(uint16_t pageId, uint8_t objectId)
Read an object or an entire page. 
Energy Aware drivers error code definitions. 
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices. 
Ecode_t NVM_Erase(uint32_t eraseCount)
Erase the entire allocated NVM area. 
Ecode_t NVM_Init(NVM_Config_t const *nvmConfig)
Initialize the NVM manager. 
Ecode_t NVM_Write(uint16_t pageId, uint8_t objectId)
Write an object or a page. 
uint32_t Ecode_t
Typedef for API function error code return values. 
Non-Volatile Memory Wear-Leveling driver HAL.