Go to the source code of this file.
◆ FLASH_ERASE_TIMEOUT_MS
| #define FLASH_ERASE_TIMEOUT_MS 20 |
◆ FLASH_WRITE_TIMEOUT_MS
| #define FLASH_WRITE_TIMEOUT_MS 20 |
◆ PAC55XX_FLASH_BASE
| #define PAC55XX_FLASH_BASE 0x00000000UL |
◆ PAC55XX_MEMCTL_BASE
◆ PAC55XX_MEMCTL_FLASHERASE
◆ PAC55XX_MEMCTL_FLASHERASE_ERASE
| #define PAC55XX_MEMCTL_FLASHERASE_ERASE 0x8C799CA7 |
◆ PAC55XX_MEMCTL_FLASHLOCK
◆ PAC55XX_MEMCTL_FLASHLOCK_ALLOWWRITEERASE
| #define PAC55XX_MEMCTL_FLASHLOCK_ALLOWWRITEERASE 0x43DF140A |
◆ PAC55XX_MEMCTL_FLASHLOCK_LOCKED
| #define PAC55XX_MEMCTL_FLASHLOCK_LOCKED 0x0 |
◆ PAC55XX_MEMCTL_FLASHPAGE
◆ PAC55XX_MEMCTL_FLASHSTATUS
◆ PAC55XX_MEMCTL_FLASHSTATUS_ERASEBUSY
| #define PAC55XX_MEMCTL_FLASHSTATUS_ERASEBUSY BIT(1) |
◆ PAC55XX_MEMCTL_FLASHSTATUS_WRITEBUSY
| #define PAC55XX_MEMCTL_FLASHSTATUS_WRITEBUSY BIT(0) |
◆ PAC55XX_PERIPH_BASE
| #define PAC55XX_PERIPH_BASE 0x40000000UL |
◆ FLASH_BANK_COMMAND_HANDLER()
| FLASH_BANK_COMMAND_HANDLER |
( |
pac55xx_flash_bank_command |
| ) |
|
◆ pac55xx_erase()
| int pac55xx_erase |
( |
struct flash_bank * |
bank, |
|
|
unsigned int |
first, |
|
|
unsigned int |
last |
|
) |
| |
Definition at line 68 of file pac55xx.c.
References bank, ERROR_OK, ERROR_TARGET_NOT_HALTED, FLASH_ERASE_TIMEOUT_MS, LOG_ERROR, PAC55XX_MEMCTL_FLASHERASE, PAC55XX_MEMCTL_FLASHERASE_ERASE, PAC55XX_MEMCTL_FLASHLOCK, PAC55XX_MEMCTL_FLASHLOCK_ALLOWWRITEERASE, PAC55XX_MEMCTL_FLASHLOCK_LOCKED, PAC55XX_MEMCTL_FLASHPAGE, pac55xx_wait_for_operation_to_finish(), TARGET_HALTED, and target_write_u32().
◆ pac55xx_probe()
◆ pac55xx_wait_for_operation_to_finish()
| static int pac55xx_wait_for_operation_to_finish |
( |
struct flash_bank * |
bank, |
|
|
unsigned int |
timeout_ms |
|
) |
| |
|
static |
Wait until the flash controller is not busy anymore.
- Parameters
-
- Returns
- ERROR_OK in case of success, ERROR_XXX code otherwise
Definition at line 42 of file pac55xx.c.
References bank, ERROR_OK, ERROR_TIMEOUT_REACHED, keep_alive(), LOG_ERROR, PAC55XX_MEMCTL_FLASHSTATUS, PAC55XX_MEMCTL_FLASHSTATUS_ERASEBUSY, PAC55XX_MEMCTL_FLASHSTATUS_WRITEBUSY, status, target_read_u32(), and timeval_ms().
Referenced by pac55xx_erase(), and pac55xx_write().
◆ pac55xx_write()
| int pac55xx_write |
( |
struct flash_bank * |
bank, |
|
|
const uint8_t * |
buffer, |
|
|
uint32_t |
offset, |
|
|
uint32_t |
count |
|
) |
| |
Definition at line 110 of file pac55xx.c.
References bank, buffer, count, ERROR_OK, ERROR_TARGET_NOT_HALTED, FLASH_WRITE_TIMEOUT_MS, LOG_ERROR, offset, PAC55XX_FLASH_BASE, PAC55XX_MEMCTL_FLASHLOCK, PAC55XX_MEMCTL_FLASHLOCK_ALLOWWRITEERASE, PAC55XX_MEMCTL_FLASHLOCK_LOCKED, pac55xx_wait_for_operation_to_finish(), TARGET_HALTED, target_write_memory(), and target_write_u32().
◆ pac55xx_flash
Initial value:= {
.name = "pac55xx",
.flash_bank_command = pac55xx_flash_bank_command,
}
int default_flash_blank_check(struct flash_bank *bank)
Provides default erased-bank check handling.
int default_flash_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
Provides default read implementation for flash memory.
void default_flash_free_driver_priv(struct flash_bank *bank)
Deallocates bank->driver_priv.
int pac55xx_erase(struct flash_bank *bank, unsigned int first, unsigned int last)
int pac55xx_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
int pac55xx_probe(struct flash_bank *bank)
Definition at line 166 of file pac55xx.c.