Macros | |
#define | GPNVM_NUM_MAX 2 |
Functions | |
static void | compute_address (Efc *p_efc, uint16_t us_page, uint16_t us_offset, uint32_t *pul_addr) |
Compute the address of a flash by the given page and offset. More... | |
static void | compute_lock_range (uint32_t ul_start, uint32_t ul_end, uint32_t *pul_actual_start, uint32_t *pul_actual_end) |
Compute the lock range associated with the given address range. More... | |
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_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. The actual lock range is reported through two output parameters. More... | |
uint32_t | flash_read_unique_id (uint32_t *pul_data, uint32_t ul_size) |
Read the flash unique ID. More... | |
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. The actual unlock range is reported through two output parameters. 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... | |
static void | translate_address (Efc **pp_efc, uint32_t ul_addr, uint16_t *pus_page, uint16_t *pus_offset) |
Translate the given flash address to page and offset values. More... | |
Variables | |
static uint32_t | gs_ul_page_buffer [IFLASH_PAGE_SIZE/sizeof(uint32_t)] |
The Embedded Flash service provides functions for internal flash operations.
#define GPNVM_NUM_MAX 2 |
Definition at line 132 of file flash_efc.c.
|
static |
Compute the address of a flash by the given page and offset.
p_efc | Pointer to an EFC instance. |
us_page | Page number. |
us_offset | Byte offset inside page. |
pul_addr | Computed address (optional). |
Definition at line 236 of file flash_efc.c.
|
static |
Compute the lock range associated with the given address range.
ul_start | Start address of lock range. |
ul_end | End address of lock range. |
pul_actual_start | Actual start address of lock range. |
pul_actual_end | Actual end address of lock range. |
Definition at line 287 of file flash_efc.c.
uint32_t flash_clear_gpnvm | ( | uint32_t | ul_gpnvm | ) |
Clear the given GPNVM bit.
ul_gpnvm | GPNVM bit index. |
Definition at line 897 of file flash_efc.c.
uint32_t flash_enable_security_bit | ( | void | ) |
Set security bit.
Definition at line 948 of file flash_efc.c.
uint32_t flash_erase_all | ( | uint32_t | ul_address | ) |
Erase the entire flash.
ul_address | Flash bank start address. |
Definition at line 495 of file flash_efc.c.
uint32_t flash_get_descriptor | ( | uint32_t | ul_address, |
uint32_t * | pul_flash_descriptor, | ||
uint32_t | ul_size | ||
) |
Get flash descriptor.
ul_address | Flash bank start address. |
pul_flash_descriptor | Pointer to a data buffer to store flash descriptor. |
ul_size | Data buffer size in DWORD. |
Definition at line 412 of file flash_efc.c.
uint32_t flash_get_page_count | ( | const uint32_t * | pul_flash_descriptor | ) |
Get flash total page count for the specified bank.
pul_flash_descriptor | Pointer to a flash descriptor. |
Definition at line 449 of file flash_efc.c.
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.
pul_flash_descriptor | Pointer to a flash descriptor. |
Definition at line 464 of file flash_efc.c.
uint32_t flash_get_region_count | ( | const uint32_t * | pul_flash_descriptor | ) |
Get flash region (plane) count for the specified bank.
pul_flash_descriptor | Pointer to a flash descriptor. |
Definition at line 479 of file flash_efc.c.
uint32_t flash_get_wait_state | ( | uint32_t | ul_address | ) |
Get flash wait state.
ul_address | Flash bank start address. |
Definition at line 395 of file flash_efc.c.
uint32_t flash_init | ( | uint32_t | ul_mode, |
uint32_t | ul_fws | ||
) |
Initialize the flash service.
ul_mode | FLASH_ACCESS_MODE_128 or FLASH_ACCESS_MODE_64. |
ul_fws | The number of wait states in cycle (no shift). |
Definition at line 313 of file flash_efc.c.
uint32_t flash_is_gpnvm_set | ( | uint32_t | ul_gpnvm | ) |
Check if the given GPNVM bit is set or not.
ul_gpnvm | GPNVM bit index. |
1 | If the given GPNVM bit is currently set. |
0 | If the given GPNVM bit is currently cleared. otherwise returns an error code. |
Definition at line 923 of file flash_efc.c.
uint32_t flash_is_locked | ( | uint32_t | ul_start, |
uint32_t | ul_end | ||
) |
Get the number of locked regions inside the given address range.
ul_start | Start address of range |
ul_end | End address of range. |
Definition at line 796 of file flash_efc.c.
uint32_t flash_is_security_bit_enabled | ( | void | ) |
Check if the security bit is set or not.
1 | If the security bit is currently set. |
0 | If the security bit is currently cleared. otherwise returns an error code. |
Definition at line 960 of file flash_efc.c.
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. The actual lock range is reported through two output parameters.
ul_start | Start address of lock range. |
ul_end | End address of lock range. |
pul_actual_start | Start address of the actual lock range (optional). |
pul_actual_end | End address of the actual lock range (optional). |
Definition at line 703 of file flash_efc.c.
uint32_t flash_read_unique_id | ( | uint32_t * | pul_data, |
uint32_t | ul_size | ||
) |
Read the flash unique ID.
pul_data | Pointer to a data buffer to store 128-bit unique ID. |
ul_size | Data buffer size in DWORD. |
Definition at line 973 of file flash_efc.c.
uint32_t flash_set_gpnvm | ( | uint32_t | ul_gpnvm | ) |
Set the given GPNVM bit.
ul_gpnvm | GPNVM bit index. |
Definition at line 873 of file flash_efc.c.
uint32_t flash_set_wait_state | ( | uint32_t | ul_address, |
uint32_t | ul_fws | ||
) |
Set flash wait state.
ul_address | Flash bank start address. |
ul_fws | The number of wait states in cycle (no shift). |
Definition at line 332 of file flash_efc.c.
uint32_t flash_set_wait_state_adaptively | ( | uint32_t | ul_address | ) |
Set flash wait state.
ul_address | Flash bank start address. |
ul_fws | The number of wait states in cycle (no shift). |
Definition at line 350 of file flash_efc.c.
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. The actual unlock range is reported through two output parameters.
ul_start | Start address of unlock range. |
ul_end | End address of unlock range. |
pul_actual_start | Start address of the actual unlock range (optional). |
pul_actual_end | End address of the actual unlock range (optional). |
Definition at line 752 of file flash_efc.c.
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.
ul_address | Write address. |
p_buffer | Data buffer. |
ul_size | Size of data buffer in bytes. |
ul_erase_flag | Flag to set if erase first. |
Definition at line 607 of file flash_efc.c.
|
static |
Translate the given flash address to page and offset values.
pp_efc | Pointer to an EFC pointer. |
ul_addr | Address to translate. |
pus_page | The first page accessed. |
pus_offset | Byte offset in the first page. |
Definition at line 164 of file flash_efc.c.
|
static |
Definition at line 152 of file flash_efc.c.