Driver API for NVMCTRL (plib_nvmctrl.h) More...
Data Structures | |
| struct | NVMCTRL_OBJECT |
| NVMCTRL object structure. More... | |
Macros | |
| #define | NVMCTRL_PAGE_WRITE true |
| Page write supported. | |
| #define | MAX_WAIT_STATES 15U |
| Maximum number of wait states. | |
| #define | NVMCTRL_CTRLB_CACHEDIS_DF_Pos (19U) |
| Data Flash cache disable bit position. | |
| #define | NVMCTRL_CTRLB_CACHEDIS_MAIN_Pos (18U) |
| Main array cache disable bit position. | |
| #define | NVMCTRL_CTRLB_CACHEDIS_DF_Msk ((uint32_t)1U << NVMCTRL_CTRLB_CACHEDIS_DF_Pos) |
| Data Flash cache disable bit mask. | |
| #define | NVMCTRL_CTRLB_CACHEDIS_MAIN_Msk ((uint32_t)1U << NVMCTRL_CTRLB_CACHEDIS_MAIN_Pos) |
| Main array cache disable bit mask. | |
| #define | NVMCTRL_FLASH_START_ADDRESS (0U) |
| Start address of main flash. | |
Typedefs | |
| typedef void(* | NVMCTRL_CALLBACK_HANDLER) (NVMCTRL_INTERRUPT int_cause) |
| Callback handler type for NVMCTRL interrupts. | |
Enumerations | |
| enum | NVMCTRL_INTERRUPT { NVMCTRL_INTERRUPT_READY = NVMCTRL_INTFLAG_READY_Msk , NVMCTRL_INTERRUPT_ERROR = NVMCTRL_INTFLAG_ERROR_Msk } |
| NVMCTRL interrupt source mask. More... | |
Functions | |
| bool | NVMCTRL_IsBusy (void) |
| Check if NVMCTRL is busy. | |
| void | NVMCTRL_Initialize (void) |
| Initialize the NVMCTRL peripheral. | |
| bool | NVMCTRL_SetReadWaitStates (uint8_t wait_states) |
| Set the number of NVMCTRL read wait states. | |
| void | NVMCTRL_EnableCache (void) |
| Enable cache for main flash array. | |
| void | NVMCTRL_DisableCache (void) |
| Disable cache for main flash array. | |
| void | NVMCTRL_SetCacheReadMode (uint32_t mode) |
| Set the cache read mode. | |
| void | NVMCTRL_SetSleepPowerMode (uint32_t mode) |
| Set the sleep power reduction mode. | |
| void | NVMCTRL_EnableManualWrite (void) |
| Enable manual write mode. | |
| void | NVMCTRL_DisableManualWrite (void) |
| Disable manual write mode. | |
| bool | NVMCTRL_Read (const uint32_t address, uint32_t *data, uint32_t length) |
| Read from NVM memory. | |
| uint32_t | NVMCTRL_GetPageSize (void) |
| Get the NVM page size. | |
| bool | NVMCTRL_WritePage (uint32_t address, const uint32_t *data) |
| Write a page to NVM memory. | |
| bool | NVMCTRL_WriteRWWEEPage (uint32_t address, const uint32_t *data) |
| Write a page to RWW EEPROM. | |
| bool | NVMCTRL_EraseRWWEERow (uint32_t address) |
| Erase a row in RWW EEPROM. | |
| bool | NVMCTRL_EraseRow (uint32_t address) |
| Erase a row in NVM memory. | |
| bool | NVMCTRL_WriteUserRow (const uint32_t page_address, const uint32_t *data) |
| Write a page in the User Row. | |
| bool | NVMCTRL_EraseUserRow (uint32_t row_address) |
| Erase a page in the User Row. | |
| void | NVMCTRL_ClearPageBuffer (void) |
| Clear the NVM page buffer. | |
| void | NVMCTRL_LockRegion (uint32_t address) |
| Lock a region in NVM memory. | |
| void | NVMCTRL_UnlockRegion (uint32_t address) |
| Unlock a region in NVM memory. | |
| void | NVMCTRL_EnablePowerReduction (void) |
| Enable power reduction mode. | |
| void | NVMCTRL_DisablePowerReduction (void) |
| Disable power reduction mode. | |
| void | NVMCTRL_InvalidateCache (void) |
| Invalidate all cache lines. | |
| void | NVMCTRL_SetSecurityBit (void) |
| Set the Security Bit. | |
| void | NVMCTRL_EnableInterrupt (uint8_t source) |
| Enable NVMCTRL interrupts. | |
| void | NVMCTRL_DisableInterrupt (uint8_t source) |
| Disable NVMCTRL interrupts. | |
| void | NVMCTRL_ClearInterruptFlag (uint8_t source) |
| Clear NVMCTRL interrupt flags. | |
| void | NVMCTRL_SetCallbackHandler (NVMCTRL_CALLBACK_HANDLER callback) |
| Register a callback handler for NVMCTRL interrupts. | |
| uint32_t | NVMCTRL_GetInterruptFlag (void) |
| Get the current NVMCTRL interrupt flag value. | |
| uint32_t | NVMCTRL_ErrorGet (void) |
| Check NVMCTRL error status. | |
| void | NVMCTRL_ClearErrorStatus (void) |
| Clear NVMCTRL error status bits. | |
| bool | NVMCTRL_CheckSecurityBit (void) |
| Check if the Security Bit is set. | |
| bool | NVMCTRL_CheckPageBufferLoad (void) |
| Check if the page buffer is loaded. | |
| bool | NVMCTRL_CheckPowerReductionMode (void) |
| Check if NVMCTRL is in power reduction mode. | |
Driver API for NVMCTRL (plib_nvmctrl.h)
| #define MAX_WAIT_STATES 15U |
Maximum number of wait states.
| #define NVMCTRL_CTRLB_CACHEDIS_DF_Msk ((uint32_t)1U << NVMCTRL_CTRLB_CACHEDIS_DF_Pos) |
Data Flash cache disable bit mask.
| #define NVMCTRL_CTRLB_CACHEDIS_DF_Pos (19U) |
Data Flash cache disable bit position.
| #define NVMCTRL_CTRLB_CACHEDIS_MAIN_Msk ((uint32_t)1U << NVMCTRL_CTRLB_CACHEDIS_MAIN_Pos) |
Main array cache disable bit mask.
| #define NVMCTRL_CTRLB_CACHEDIS_MAIN_Pos (18U) |
Main array cache disable bit position.
| #define NVMCTRL_FLASH_START_ADDRESS (0U) |
Start address of main flash.
| #define NVMCTRL_PAGE_WRITE true |
Page write supported.
| typedef void(* NVMCTRL_CALLBACK_HANDLER) (NVMCTRL_INTERRUPT int_cause) |
Callback handler type for NVMCTRL interrupts.
| enum NVMCTRL_INTERRUPT |
| bool NVMCTRL_CheckPageBufferLoad | ( | void | ) |
Check if the page buffer is loaded.
| void | No parameters |
| bool NVMCTRL_CheckPowerReductionMode | ( | void | ) |
Check if NVMCTRL is in power reduction mode.
| void | No parameters |
| bool NVMCTRL_CheckSecurityBit | ( | void | ) |
Check if the Security Bit is set.
| void | No parameters |
| void NVMCTRL_ClearErrorStatus | ( | void | ) |
Clear NVMCTRL error status bits.
| void | No parameters |
| void NVMCTRL_ClearInterruptFlag | ( | uint8_t | source | ) |
Clear NVMCTRL interrupt flags.
| source | Interrupt flag mask to clear |
| void NVMCTRL_ClearPageBuffer | ( | void | ) |
Clear the NVM page buffer.
| void | No parameters |
| void NVMCTRL_DisableCache | ( | void | ) |
Disable cache for main flash array.
| void | No parameters |
| void NVMCTRL_DisableInterrupt | ( | uint8_t | source | ) |
Disable NVMCTRL interrupts.
| source | Interrupt source mask to disable |
| void NVMCTRL_DisableManualWrite | ( | void | ) |
Disable manual write mode.
| void | No parameters |
| void NVMCTRL_DisablePowerReduction | ( | void | ) |
Disable power reduction mode.
| void | No parameters |
| void NVMCTRL_EnableCache | ( | void | ) |
Enable cache for main flash array.
| void | No parameters |
| void NVMCTRL_EnableInterrupt | ( | uint8_t | source | ) |
Enable NVMCTRL interrupts.
| source | Interrupt source mask to enable |
| void NVMCTRL_EnableManualWrite | ( | void | ) |
Enable manual write mode.
| void | No parameters |
| void NVMCTRL_EnablePowerReduction | ( | void | ) |
Enable power reduction mode.
| void | No parameters |
| bool NVMCTRL_EraseRow | ( | uint32_t | address | ) |
Erase a row in NVM memory.
| address | Start address of row in NVM memory (must be row-aligned) |
| bool NVMCTRL_EraseRWWEERow | ( | uint32_t | address | ) |
Erase a row in RWW EEPROM.
| address | Start address of row in RWW EEPROM (must be row-aligned) |
| bool NVMCTRL_EraseUserRow | ( | uint32_t | row_address | ) |
Erase a page in the User Row.
| row_address | User Row address to erase |
| uint32_t NVMCTRL_ErrorGet | ( | void | ) |
Check NVMCTRL error status.
| void | No parameters |
| uint32_t NVMCTRL_GetInterruptFlag | ( | void | ) |
Get the current NVMCTRL interrupt flag value.
| void | No parameters |
| uint32_t NVMCTRL_GetPageSize | ( | void | ) |
Get the NVM page size.
| void | No parameters |
| void NVMCTRL_Initialize | ( | void | ) |
Initialize the NVMCTRL peripheral.
| void | No parameters |
| void NVMCTRL_InvalidateCache | ( | void | ) |
Invalidate all cache lines.
| void | No parameters |
| bool NVMCTRL_IsBusy | ( | void | ) |
Check if NVMCTRL is busy.
| void | No parameters |
| void NVMCTRL_LockRegion | ( | uint32_t | address | ) |
Lock a region in NVM memory.
| address | Region address to lock |
| bool NVMCTRL_Read | ( | const uint32_t | address, |
| uint32_t * | data, | ||
| uint32_t | length ) |
Read from NVM memory.
| address | Start address in NVM memory |
| data | Pointer to destination buffer for read data |
| length | Number of bytes to read |
| void NVMCTRL_SetCacheReadMode | ( | uint32_t | mode | ) |
Set the cache read mode.
| mode | Cache read mode (NO_MISS_PENALTY, LOW_POWER, or DETERMINISTIC) |
| void NVMCTRL_SetCallbackHandler | ( | NVMCTRL_CALLBACK_HANDLER | callback | ) |
Register a callback handler for NVMCTRL interrupts.
| callback | Callback function pointer to be called on interrupt |
| bool NVMCTRL_SetReadWaitStates | ( | uint8_t | wait_states | ) |
Set the number of NVMCTRL read wait states.
| wait_states | Number of wait states (0..15) |
| void NVMCTRL_SetSecurityBit | ( | void | ) |
Set the Security Bit.
| void | No parameters |
| void NVMCTRL_SetSleepPowerMode | ( | uint32_t | mode | ) |
Set the sleep power reduction mode.
| mode | Sleep power mode (WAKEONACCESS, WAKEUPINSTANT, or DISABLED) |
| void NVMCTRL_UnlockRegion | ( | uint32_t | address | ) |
Unlock a region in NVM memory.
| address | Region address to unlock |
| bool NVMCTRL_WritePage | ( | uint32_t | address, |
| const uint32_t * | data ) |
Write a page to NVM memory.
| address | Start address in NVM memory (must be page-aligned) |
| data | Pointer to source data buffer containing page data |
| bool NVMCTRL_WriteRWWEEPage | ( | uint32_t | address, |
| const uint32_t * | data ) |
Write a page to RWW EEPROM.
| address | Start address in RWW EEPROM (must be page-aligned) |
| data | Pointer to source data buffer containing page data |
| bool NVMCTRL_WriteUserRow | ( | const uint32_t | page_address, |
| const uint32_t * | data ) |
Write a page in the User Row.
| page_address | UserRow page start address, Write granularity is Page |
| data | Pointer to the data buffer to be written |