Defines | |
| #define | EFC EFC0 |
| #define | GPNVM_NUM_MAX 3 |
| #define | IFLASH_ADDR IFLASH0_ADDR |
| #define | IFLASH_LOCK_REGION_SIZE IFLASH0_LOCK_REGION_SIZE |
| #define | IFLASH_PAGE_SIZE IFLASH0_PAGE_SIZE |
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. | |
| 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. | |
| uint32_t | flash_clear_gpnvm (uint32_t ul_gpnvm) |
| Clear the given GPNVM bit. | |
| uint32_t | flash_enable_security_bit (void) |
| Set security bit. | |
| uint32_t | flash_erase_all (uint32_t ul_address) |
| Erase the entire flash. | |
| uint32_t | flash_get_descriptor (uint32_t ul_address, uint32_t *pul_flash_descriptor, uint32_t ul_size) |
| Get flash descriptor. | |
| uint32_t | flash_get_page_count (const uint32_t *pul_flash_descriptor) |
| Get flash total page count for the specified bank. | |
| 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. | |
| uint32_t | flash_get_region_count (const uint32_t *pul_flash_descriptor) |
| Get flash region (plane) count for the specified bank. | |
| uint32_t | flash_get_wait_state (uint32_t ul_address) |
| Get flash wait state. | |
| uint32_t | flash_init (uint32_t ul_mode, uint32_t ul_fws) |
| Initialize the flash service. | |
| uint32_t | flash_is_gpnvm_set (uint32_t ul_gpnvm) |
| Check if the given GPNVM bit is set or not. | |
| uint32_t | flash_is_locked (uint32_t ul_start, uint32_t ul_end) |
| Get the number of locked regions inside the given address range. | |
| uint32_t | flash_is_security_bit_enabled (void) |
| Check if the security bit is set or not. | |
| 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. | |
| uint32_t | flash_read_unique_id (uint32_t *pul_data, uint32_t ul_size) |
| Read the flash unique ID. | |
| uint32_t | flash_set_gpnvm (uint32_t ul_gpnvm) |
| Set the given GPNVM bit. | |
| uint32_t | flash_set_wait_state (uint32_t ul_address, uint32_t ul_fws) |
| Set flash wait state. | |
| uint32_t | flash_set_wait_state_adaptively (uint32_t ul_address) |
| Set flash wait state. | |
| 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. | |
| 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. | |
| 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. | |
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 EFC EFC0 |
Definition at line 83 of file flash_efc.cpp.
| #define GPNVM_NUM_MAX 3 |
Definition at line 85 of file flash_efc.cpp.
| #define IFLASH_ADDR IFLASH0_ADDR |
Definition at line 87 of file flash_efc.cpp.
| #define IFLASH_LOCK_REGION_SIZE IFLASH0_LOCK_REGION_SIZE |
Definition at line 91 of file flash_efc.cpp.
| #define IFLASH_PAGE_SIZE IFLASH0_PAGE_SIZE |
Definition at line 89 of file flash_efc.cpp.
| static void compute_address | ( | Efc * | p_efc, |
| uint16_t | us_page, | ||
| uint16_t | us_offset, | ||
| uint32_t * | pul_addr | ||
| ) | [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 145 of file flash_efc.cpp.
| static void compute_lock_range | ( | uint32_t | ul_start, |
| uint32_t | ul_end, | ||
| uint32_t * | pul_actual_start, | ||
| uint32_t * | pul_actual_end | ||
| ) | [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 179 of file flash_efc.cpp.
| uint32_t flash_clear_gpnvm | ( | uint32_t | ul_gpnvm | ) |
Clear the given GPNVM bit.
| ul_gpnvm | GPNVM bit index. |
Definition at line 747 of file flash_efc.cpp.
| uint32_t flash_enable_security_bit | ( | void | ) |
Set security bit.
Definition at line 797 of file flash_efc.cpp.
| uint32_t flash_erase_all | ( | uint32_t | ul_address | ) |
Erase the entire flash.
| ul_address | Flash bank start address. |
Definition at line 371 of file flash_efc.cpp.
| 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 288 of file flash_efc.cpp.
| 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 325 of file flash_efc.cpp.
| 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 340 of file flash_efc.cpp.
| 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 355 of file flash_efc.cpp.
| uint32_t flash_get_wait_state | ( | uint32_t | ul_address | ) |
Get flash wait state.
| ul_address | Flash bank start address. |
Definition at line 271 of file flash_efc.cpp.
| 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 205 of file flash_efc.cpp.
| 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. |
Definition at line 772 of file flash_efc.cpp.
| 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 662 of file flash_efc.cpp.
| 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. |
Definition at line 808 of file flash_efc.cpp.
| 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 569 of file flash_efc.cpp.
| 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 821 of file flash_efc.cpp.
| uint32_t flash_set_gpnvm | ( | uint32_t | ul_gpnvm | ) |
Set the given GPNVM bit.
| ul_gpnvm | GPNVM bit index. |
Definition at line 723 of file flash_efc.cpp.
| 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 224 of file flash_efc.cpp.
| 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 242 of file flash_efc.cpp.
| 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 618 of file flash_efc.cpp.
| 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 482 of file flash_efc.cpp.
| static void translate_address | ( | Efc ** | pp_efc, |
| uint32_t | ul_addr, | ||
| uint16_t * | pus_page, | ||
| uint16_t * | pus_offset | ||
| ) | [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 106 of file flash_efc.cpp.
uint32_t gs_ul_page_buffer[IFLASH_PAGE_SIZE/sizeof(uint32_t)] [static] |
Definition at line 94 of file flash_efc.cpp.