nvm.h File Reference
Non-Volatile Memory Wear-Leveling driver API.
- Version
 - 5.5.0
 
License
(C) Copyright 2014 Silicon Labs, www.silabs.com
This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.
       Definition in file
       
        nvm.h
       
       .
      
       #include <stdint.h>
      
      
       #include <stdbool.h>
      
      
       #include "
       
        em_device.h
       
       "
      
      
       #include "
       
        nvm_hal.h
       
       "
      
      
       #include "nvm_config.h"
      
      
       #include "
       
        ecode.h
       
       "
      
      
         Macros | 
       |
| #define | ECODE_EMDRV_NVM_ADDR_INVALID ( ECODE_EMDRV_NVM_BASE | 0x00000001) | 
| 
         Invalid address.
          | 
       |
| #define | ECODE_EMDRV_NVM_ALIGNMENT_INVALID ( ECODE_EMDRV_NVM_BASE | 0x00000002) | 
| 
         Invalid data alignment.
          | 
       |
| #define | ECODE_EMDRV_NVM_DATA_INVALID ( ECODE_EMDRV_NVM_BASE | 0x00000003) | 
| 
         Invalid input data or format.
          | 
       |
| #define | ECODE_EMDRV_NVM_ERROR ( ECODE_EMDRV_NVM_BASE | 0x00000007) | 
| 
         General error.
          | 
       |
| #define | ECODE_EMDRV_NVM_NO_PAGES_AVAILABLE ( ECODE_EMDRV_NVM_BASE | 0x00000005) | 
| 
         Initialization didn't find any pages available to allocate.
          | 
       |
| #define | ECODE_EMDRV_NVM_OK ( ECODE_OK ) | 
| 
         Success return value.
          | 
       |
| #define | ECODE_EMDRV_NVM_PAGE_INVALID ( ECODE_EMDRV_NVM_BASE | 0x00000006) | 
| 
         Could not find the page specified.
          | 
       |
| #define | ECODE_EMDRV_NVM_WRITE_LOCK ( ECODE_EMDRV_NVM_BASE | 0x00000004) | 
| 
         A write is currently in progress.
          | 
       |
| #define | NVM_ERASE_RETAINCOUNT 0xffffffffUL | 
| #define | NVM_PAGE_TERMINATION { NULL, 0, (NVM_Object_Ids) 0 } | 
| #define | NVM_READ_ALL_CMD 0xff | 
| #define | NVM_WRITE_ALL_CMD 0xff | 
| #define | NVM_WRITE_NONE_CMD 0xfe | 
         Functions | 
       |
| 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_Read (uint16_t pageId, uint8_t objectId) | 
| 
         Read an object or an entire page.
          | 
       |
| Ecode_t | NVM_Write (uint16_t pageId, uint8_t objectId) | 
| 
         Write an object or a page.
          | 
       |