Microchip® Advanced Software Framework

example2_xmega.c File Reference

NVM example for AVR XMEGA.

Copyright (c) 2010-2018 Microchip Technology Inc. and its subsidiaries. Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include <conf_example.h>
#include <asf.h>

Macros

#define EEPROM_ERASED   0xff
 
#define TEST_ATOMIC_WRITE_PAGE   2
 
#define TEST_ERASE_BYTES_PAGE_1   4
 
#define TEST_ERASE_BYTES_PAGE_2   5
 
#define TEST_ERASE_PAGE   2
 
#define TEST_SPLIT_WRITE_PAGE   3
 
#define TEST_WRITE_PAGE   1
 

Functions

static bool is_eeprom_page_equal_to_buffer (uint8_t page_addr, uint8_t *buffer)
 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_atomic_write (void)
 Test nvm_eeprom_load_byte_to_buffer(), nvm_eeprom_flush_buffer() and nvm_eeprom_atomic_write_page() More...
 
static status_code_t test_erase (void)
 Test nvm_eeprom_erase_all(). More...
 
static status_code_t test_erase_bytes (void)
 Test nvm_eeprom_erase_bytes_in_page() and nvm_eeprom_erase_bytes_in_all_pages() More...
 
static status_code_t test_split_write (void)
 Test nvm_eeprom_split_write_page() More...
 
static status_code_t test_write (void)
 Test nvm_eeprom_erase_page() and nvm_eeprom_write_byte(). More...
 

Variables

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