Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NVM driver example functions

Macros

#define BUFFER_SIZE   16
 
#define FLASH_ERASED   0xff
 
#define TEST_ADDR   0
 

Functions

static bool is_user_sig_equal_to_buffer (flash_addr_t address, uint8_t *buffer, uint8_t len)
 Check if an EEPROM page is equal to a memory buffer. More...
 
int main (void)
 
static void set_buffer (uint8_t *buffer, uint8_t value)
 Set all values of a memory buffer to a given value. More...
 
static status_code_t test_read (void)
 Test nvm_user_sig_read_buffer(). More...
 
static status_code_t test_write_and_erase (void)
 Test nvm_user_sig_write_buffer(). More...
 
static status_code_t test_write_no_erase (void)
 Test nvm_user_sig_write_buffer(). More...
 

Variables

uint8_t buffer [BUFFER_SIZE]
 Memory buffer to use during testing. More...
 

#define BUFFER_SIZE   16
#define FLASH_ERASED   0xff
#define TEST_ADDR   0

static bool is_user_sig_equal_to_buffer ( flash_addr_t  address,
uint8_t *  buffer,
uint8_t  len 
)
static

Check if an EEPROM page is equal to a memory buffer.

References nvm_read_user_signature_row().

Referenced by test_write_and_erase(), and test_write_no_erase().

static void set_buffer ( uint8_t *  buffer,
uint8_t  value 
)
static

Set all values of a memory buffer to a given value.

References BUFFER_SIZE.

Referenced by test_read(), test_write_and_erase(), and test_write_no_erase().

static status_code_t test_read ( void  )
static

Test nvm_user_sig_read_buffer().

Test procedure:

Returns
STATUS_OK if test succeeded, otherwise ERR_BAD_DATA

References buffer, BUFFER_SIZE, ERR_BAD_DATA, FLASH_ERASED, nvm_user_sig_read_buffer(), nvm_user_sig_write_buffer(), set_buffer(), STATUS_OK, and TEST_ADDR.

Referenced by main().

static status_code_t test_write_and_erase ( void  )
static

Test nvm_user_sig_write_buffer().

Test procedure:

  • Write to user signature row with automatic erasing enabled
  • Verify contents is equal to buffer
Returns
STATUS_OK if test succeeded, otherwise ERR_BAD_DATA

References buffer, BUFFER_SIZE, ERR_BAD_DATA, FLASH_ERASED, is_user_sig_equal_to_buffer(), nvm_user_sig_write_buffer(), set_buffer(), STATUS_OK, and TEST_ADDR.

Referenced by main().

static status_code_t test_write_no_erase ( void  )
static

Test nvm_user_sig_write_buffer().

Test procedure:

  • Erase and write to user signature row with some known values
  • Write other values to user signature row with automatic erasing disabled
  • Verify contents is NOT equal to buffer
Returns
STATUS_OK if test succeeded, otherwise ERR_BAD_DATA

References buffer, BUFFER_SIZE, ERR_BAD_DATA, FLASH_ERASED, is_user_sig_equal_to_buffer(), nvm_user_sig_write_buffer(), set_buffer(), STATUS_OK, and TEST_ADDR.

Referenced by main().

uint8_t buffer[BUFFER_SIZE]

Memory buffer to use during testing.

Referenced by test_read(), test_write_and_erase(), and test_write_no_erase().