Microchip® Advanced Software Framework

nvm.c File Reference

Non Volatile Memory controller driver.

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

#include "compiler.h"
#include "ccp.h"
#include "nvm.h"
#include <string.h>

Functions

void nvm_eeprom_atomic_write_page (uint8_t page_addr)
 Erase and write bytes from page buffer into EEPROM. More...
 
void nvm_eeprom_erase_all (void)
 Erase entire EEPROM memory. More...
 
void nvm_eeprom_erase_and_write_buffer (eeprom_addr_t address, const void *buf, uint16_t len)
 Write buffer within the eeprom. More...
 
void nvm_eeprom_erase_bytes_in_all_pages (void)
 Erase bytes from all EEPROM pages. More...
 
void nvm_eeprom_erase_bytes_in_page (uint8_t page_addr)
 Erase bytes from EEPROM page. More...
 
void nvm_eeprom_erase_page (uint8_t page_addr)
 Erase EEPROM page. More...
 
void nvm_eeprom_fill_buffer_with_value (uint8_t value)
 Fill temporary EEPROM page buffer with value. More...
 
void nvm_eeprom_flush_buffer (void)
 Flush temporary EEPROM page buffer. More...
 
void nvm_eeprom_load_byte_to_buffer (uint8_t byte_addr, uint8_t value)
 Load single byte into temporary page buffer. More...
 
void nvm_eeprom_load_page_to_buffer (const uint8_t *values)
 Load entire page into temporary EEPROM page buffer. More...
 
void nvm_eeprom_read_buffer (eeprom_addr_t address, void *buf, uint16_t len)
 Read buffer within the eeprom. More...
 
uint8_t nvm_eeprom_read_byte (eeprom_addr_t addr)
 Read one byte from EEPROM using mapped access. More...
 
void nvm_eeprom_split_write_page (uint8_t page_addr)
 Write (without erasing) EEPROM page. More...
 
void nvm_eeprom_write_byte (eeprom_addr_t address, uint8_t value)
 Write one byte to EEPROM using IO mapping. More...
 
void nvm_flash_erase_and_write_buffer (flash_addr_t address, const void *buf, uint16_t len, bool b_blank_check)
 Erase and write specific parts of application flash section. More...
 
void nvm_flash_read_buffer (flash_addr_t address, void *buf, uint16_t len)
 Read buffer within the application section. More...
 
uint8_t nvm_fuses_read (enum fuse_byte_t fuse)
 Read a fuse byte. More...
 
void nvm_issue_flash_range_crc (flash_addr_t start_addr, flash_addr_t end_addr)
 Issue flash range CRC command. More...
 
void nvm_read_device_serial (struct nvm_device_serial *storage)
 Read the device serial. More...
 
void nvm_user_sig_read_buffer (flash_addr_t address, void *buf, uint16_t len)
 Read buffer within the user section. More...
 
void nvm_user_sig_write_buffer (flash_addr_t address, const void *buf, uint16_t len, bool b_blank_check)
 Write specific parts of user flash section. More...