Jump to main content

##

# 2.72 Non-Volatile Memory (NVM)

This Plib implements software abstraction for NVM Peripheral.

Note: Not all APIs maybe implemented. See the specific device family section for available APIs.

## Library Interface

Non-Volatile Memory peripheral library provides the following interfaces:

Functions

Name | Description
--- | ---
NVM_Initialize | Initializes given instance of the NVM peripheral
NVM_Read | Reads length number of bytes from a given address in FLASH memory
NVM_RowWrite | Writes one row of data to given NVM address
NVM_SingleDoubleWordWrite | Writes Two Words into the Flash
NVM_QuadDoubleWordWrite | Writes Eight Words into the Flash
NVM_DoubleWordWrite | Writes two words into the Flash
NVM_WordWrite | Writes One word into the Flash
NVM_QuadWordWrite | Writes four words into the Flash
NVM_PageErase | Erases a Page in the NVM
NVM_ErrorGet | Returns the error state of NVM controller
NVM_IsBusy | Returns the current status of NVM controller
NVM_CallbackRegister | Sets the pointer to the function (and it's context) to be called when the operation is complete
NVM_ProgramFlashSwapBank | Swaps the Program Flash Bank 2
NVM_ProgramFlashWriteProtect | Protect Program Flash Memory from Writes
NVM_ProgramFlashWriteProtectLock | Disable Writes to Program Flash Write Protect Lock register
NVM_BootFlashWriteProtectEnable | Protect Boot Flash Memory Page from Writes
NVM_BootFlashWriteProtectDisable | Un-Protect Boot Flash Memory Page to perform Writes
NVM_BootFlashWriteProtectLock | Disable Writes to Boot flash Write Protect Lock register

Data types and constants

Name | Type | Description
--- | --- | ---
NVM_ERROR | Enum | Defines the NVM Error Type
NVM_BOOT_FLASH_WRITE_PROTECT | Enum | Defines the Boot flash write protect pages
NVM_BOOT_FLASH_WRITE_PROTECT_LOCK | Enum | Defines the Write protect lock pages
NVM_CALLBACK | Typedef | Defines the data type and function signature for the NVM peripheral callback function