Xmega Application Note


nvm.h File Reference

Non Volatile Memory controller driver. More...

#include <compiler.h>
#include <ccp.h>
Include dependency graph for nvm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nvm_device_id
 Structure containing the device ID. More...
struct  nvm_device_serial
 Structure containing the device serial. More...

Defines

#define IAR_FLASH_PTR   __farflash

Typedefs

typedef uint32_t flash_addr_t
 Size of a flash page in bytes.

Functions

void nvm_common_spm (uint32_t addr, uint8_t nvm_cmd)
 Perform SPM write.
void nvm_eeprom_atomic_write_page (uint8_t page_addr)
 Erase and write bytes from page buffer into EEPROM.
void nvm_eeprom_erase_all (void)
 Erase entire EEPROM memory.
void nvm_eeprom_erase_bytes_in_all_pages (void)
 Erase bytes from all EEPROM pages.
void nvm_eeprom_erase_bytes_in_page (uint8_t page_addr)
 Erase bytes from EEPROM page.
void nvm_eeprom_erase_page (uint8_t page_addr)
 Erase EEPROM page.
void nvm_eeprom_fill_buffer_with_value (uint8_t value)
 Fill temporary EEPROM page buffer with value.
void nvm_eeprom_flush_buffer (void)
 Flush temporary EEPROM page buffer.
void nvm_eeprom_load_byte_to_buffer (uint8_t byte_addr, uint8_t value)
 Load single byte into temporary page buffer.
void nvm_eeprom_load_page_to_buffer (const uint8_t *values)
 Load entire page into temporary EEPROM page buffer.
uint8_t nvm_eeprom_read_byte (uint8_t page_addr, uint8_t byte_addr)
 Read one byte from EEPROM using IO mapping.
void nvm_eeprom_split_write_page (uint8_t page_addr)
 Write (without erasing) EEPROM page.
void nvm_eeprom_write_byte (uint8_t page_addr, uint8_t byte_addr, uint8_t value)
 Write one byte to EEPROM using IO mapping.
static void nvm_exec (void)
 Non-Volatile Memory Execute Command.
static void nvm_flash_atomic_write_app_page (flash_addr_t page_addr)
 Erase and write a page within the application section.
static void nvm_flash_atomic_write_boot_page (flash_addr_t page_addr)
 Erase and write a page within the boot section.
static void nvm_flash_erase_app (flash_addr_t page_addr)
 Erase entire application section.
static void nvm_flash_erase_app_page (flash_addr_t page_addr)
 Erase a page within the application section.
static void nvm_flash_erase_boot_page (flash_addr_t page_addr)
 Erase a page within the boot section.
static void nvm_flash_erase_user_section (void)
 Erase the user calibration section page.
void nvm_flash_flush_buffer (void)
 Flush flash page buffer.
void nvm_flash_load_word_to_buffer (uint32_t word_addr, uint16_t data)
 Load word into flash page buffer.
static uint8_t nvm_flash_read_byte (flash_addr_t addr)
 Load byte from flash memory.
static uint16_t nvm_flash_read_word (flash_addr_t addr)
 Load word from flash memory.
static void nvm_flash_split_write_app_page (flash_addr_t page_addr)
 Write a page within the application section.
static void nvm_flash_split_write_boot_page (flash_addr_t page_addr)
 Write a page within the boot section.
static void nvm_flash_write_user_page (void)
 Write the user calibration section page.
static void nvm_issue_command (NVM_CMD_t nvm_command)
 Non-Volatile Memory Execute Specific Command.
uint8_t nvm_read_byte_near (uint8_t nvm_cmd, uint8_t address)
 Read one byte using the LDI instruction.
static void nvm_read_device_id (struct nvm_device_id *storage)
 Read the device id.
static uint8_t nvm_read_device_rev (void)
 Read the device revision.
void nvm_read_device_serial (struct nvm_device_serial *storage)
 Read the device serial.
static uint8_t nvm_read_production_signature_row (uint8_t address)
 Get offset of calibration bytes in the production signature row.
static uint8_t nvm_read_user_signature_row (uint8_t address)
 Read one byte from the user signature row.
static void nvm_wait_until_ready (void)
 Wait for any NVM access to finish.

Detailed Description

Non Volatile Memory controller driver.

Copyright (C) 2010 Atmel Corporation. All rights reserved.

Definition in file nvm.h.

@DOC_TITLE@
Generated on Fri Oct 22 12:15:25 2010 for AVR1300 Using the Xmega ADC by doxygen 1.6.3