Embedded Flash service for SAM.
Copyright (c) 2011-2019 Microchip Technology Inc. and its subsidiaries.
Macros | |
Flash access mode | |
#define | FLASH_ACCESS_MODE_128 EFC_ACCESS_MODE_128 |
#define | FLASH_ACCESS_MODE_64 EFC_ACCESS_MODE_64 |
Functions | |
uint32_t | flash_clear_gpnvm (uint32_t ul_gpnvm) |
Clear the given GPNVM bit. More... | |
uint32_t | flash_enable_security_bit (void) |
Set security bit. More... | |
uint32_t | flash_erase_all (uint32_t ul_address) |
Erase the entire flash. More... | |
uint32_t | flash_erase_page (uint32_t ul_address, uint8_t uc_page_num) |
uint32_t | flash_erase_plane (uint32_t ul_address) |
uint32_t | flash_erase_sector (uint32_t ul_address) |
uint32_t | flash_erase_user_signature (void) |
uint32_t | flash_get_descriptor (uint32_t ul_address, uint32_t *pul_flash_descriptor, uint32_t ul_size) |
Get flash descriptor. More... | |
uint32_t | flash_get_page_count (const uint32_t *pul_flash_descriptor) |
Get flash total page count for the specified bank. More... | |
uint32_t | flash_get_page_count_per_region (const uint32_t *pul_flash_descriptor) |
Get flash page count per region (plane) for the specified bank. More... | |
uint32_t | flash_get_region_count (const uint32_t *pul_flash_descriptor) |
Get flash region (plane) count for the specified bank. More... | |
uint32_t | flash_get_wait_state (uint32_t ul_address) |
Get flash wait state. More... | |
uint32_t | flash_init (uint32_t ul_mode, uint32_t ul_fws) |
Initialize the flash service. More... | |
uint32_t | flash_is_gpnvm_set (uint32_t ul_gpnvm) |
Check if the given GPNVM bit is set or not. More... | |
uint32_t | flash_is_locked (uint32_t ul_start, uint32_t ul_end) |
Get the number of locked regions inside the given address range. More... | |
uint32_t | flash_is_security_bit_enabled (void) |
Check if the security bit is set or not. More... | |
uint32_t | flash_lock (uint32_t ul_start, uint32_t ul_end, uint32_t *pul_actual_start, uint32_t *pul_actual_end) |
Lock all the regions in the given address range. More... | |
uint32_t | flash_read_unique_id (uint32_t *pul_data, uint32_t ul_size) |
Read the flash unique ID. More... | |
uint32_t | flash_read_user_signature (uint32_t *p_data, uint32_t ul_size) |
uint32_t | flash_set_gpnvm (uint32_t ul_gpnvm) |
Set the given GPNVM bit. More... | |
uint32_t | flash_set_wait_state (uint32_t ul_address, uint32_t ul_fws) |
Set flash wait state. More... | |
uint32_t | flash_set_wait_state_adaptively (uint32_t ul_address) |
Set flash wait state. More... | |
uint32_t | flash_unlock (uint32_t ul_start, uint32_t ul_end, uint32_t *pul_actual_start, uint32_t *pul_actual_end) |
Unlock all the regions in the given address range. More... | |
uint32_t | flash_write (uint32_t ul_address, const void *p_buffer, uint32_t ul_size, uint32_t ul_erase_flag) |
Write a data buffer on flash. More... | |
uint32_t | flash_write_user_signature (const void *p_buffer, uint32_t ul_size) |
Flash driver return codes | |
enum | flash_rc { FLASH_RC_OK = 0, FLASH_RC_YES = 1, FLASH_RC_NO = 0, FLASH_RC_ERROR = 0x10, FLASH_RC_INVALID, FLASH_RC_NOT_SUPPORT = 0xFFFFFFFF } |
typedef enum flash_rc | flash_rc_t |
Flash erase page num in FARG[1:0] | |
| |
enum | flash_farg_page_num { IFLASH_ERASE_PAGES_4 =0, IFLASH_ERASE_PAGES_8, IFLASH_ERASE_PAGES_16, IFLASH_ERASE_PAGES_32, IFLASH_ERASE_PAGES_INVALID } |
typedef enum flash_farg_page_num | flash_farg_page_num_t |
#define FLASH_ACCESS_MODE_128 EFC_ACCESS_MODE_128 |
#define FLASH_ACCESS_MODE_64 EFC_ACCESS_MODE_64 |
typedef enum flash_farg_page_num flash_farg_page_num_t |
typedef enum flash_rc flash_rc_t |
enum flash_farg_page_num |
enum flash_rc |
uint32_t flash_erase_page | ( | uint32_t | ul_address, |
uint8_t | uc_page_num | ||
) |
uint32_t flash_erase_plane | ( | uint32_t | ul_address | ) |
uint32_t flash_erase_sector | ( | uint32_t | ul_address | ) |
uint32_t flash_erase_user_signature | ( | void | ) |
uint32_t flash_read_user_signature | ( | uint32_t * | p_data, |
uint32_t | ul_size | ||
) |
uint32_t flash_write_user_signature | ( | const void * | p_buffer, |
uint32_t | ul_size | ||
) |