OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | ambiqmicro_flash_bank |
Macros | |
#define | CHECK_STATUS(rc, msg) |
Check error, log error. More... | |
#define | FLASH_ERASE_LIST_MAIN_PAGES_FROM_SRAM 0x08000065 |
#define | FLASH_MASS_ERASE_MAIN_PAGES_FROM_SRAM 0x08000069 |
#define | FLASH_PROGRAM_MAIN_FROM_SRAM 0x0800005d |
#define | FLASH_PROGRAM_OTP_FROM_SRAM 0x08000061 |
#define | OTP_PROGRAM_KEY (0x87655678) |
#define | PROGRAM_KEY (0x12344321) |
Functions | |
static int | ambiqmicro_erase (struct flash_bank *bank, unsigned int first, unsigned int last) |
static int | ambiqmicro_exec_command (struct target *target, uint32_t command, uint32_t flash_return_address) |
static int | ambiqmicro_mass_erase (struct flash_bank *bank) |
static int | ambiqmicro_otp_program (struct flash_bank *bank, uint32_t offset, uint32_t count) |
static int | ambiqmicro_probe (struct flash_bank *bank) |
static int | ambiqmicro_protect (struct flash_bank *bank, int set, unsigned int first, unsigned int last) |
static int | ambiqmicro_protect_check (struct flash_bank *bank) |
static int | ambiqmicro_read_part_info (struct flash_bank *bank) |
static int | ambiqmicro_write (struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count) |
static int | ambiqmicro_write_block (struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count) |
static int | check_flash_status (struct target *target, uint32_t address) |
Read flash status from bootloader. More... | |
COMMAND_HANDLER (ambiqmicro_handle_mass_erase_command) | |
COMMAND_HANDLER (ambiqmicro_handle_page_erase_command) | |
COMMAND_HANDLER (ambiqmicro_handle_program_otp_command) | |
Program the otp block. More... | |
FLASH_BANK_COMMAND_HANDLER (ambiqmicro_flash_bank_command) | |
static int | get_ambiqmicro_info (struct flash_bank *bank, struct command_invocation *cmd) |
Variables | |
static char * | ambiqmicro_classname [6] |
static const struct command_registration | ambiqmicro_command_handlers [] |
static const struct command_registration | ambiqmicro_exec_command_handlers [] |
const struct flash_driver | ambiqmicro_flash |
struct { | |
uint8_t class | |
const char * partname | |
uint8_t partno | |
} | ambiqmicro_parts [6] |
static const uint32_t | apollo_flash_size [] |
static const uint32_t | apollo_sram_size [] |
#define CHECK_STATUS | ( | rc, | |
msg | |||
) |
Check error, log error.
Definition at line 31 of file ambiqmicro.c.
#define FLASH_ERASE_LIST_MAIN_PAGES_FROM_SRAM 0x08000065 |
Definition at line 43 of file ambiqmicro.c.
#define FLASH_MASS_ERASE_MAIN_PAGES_FROM_SRAM 0x08000069 |
Definition at line 44 of file ambiqmicro.c.
#define FLASH_PROGRAM_MAIN_FROM_SRAM 0x0800005d |
Definition at line 41 of file ambiqmicro.c.
#define FLASH_PROGRAM_OTP_FROM_SRAM 0x08000061 |
Definition at line 42 of file ambiqmicro.c.
#define OTP_PROGRAM_KEY (0x87655678) |
Definition at line 39 of file ambiqmicro.c.
#define PROGRAM_KEY (0x12344321) |
Definition at line 38 of file ambiqmicro.c.
|
static |
Definition at line 400 of file ambiqmicro.c.
References ambiqmicro_exec_command(), ambiqmicro_mass_erase(), bank, CHECK_STATUS, ERROR_FLASH_BANK_NOT_PROBED, ERROR_FLASH_SECTOR_INVALID, ERROR_OK, ERROR_TARGET_NOT_HALTED, FLASH_ERASE_LIST_MAIN_PAGES_FROM_SRAM, LOG_ERROR, LOG_INFO, ambiqmicro_flash_bank::num_pages, ambiqmicro_flash_bank::probed, PROGRAM_KEY, TARGET_HALTED, and target_write_u32().
Referenced by COMMAND_HANDLER().
|
static |
Definition at line 283 of file ambiqmicro.c.
References alive_sleep(), check_flash_status(), CHECK_STATUS, ERROR_OK, LOG_DEBUG, LOG_ERROR, target::state, TARGET_DEBUG_RUNNING, TARGET_HALTED, target_poll(), target_resume(), and TARGET_RUNNING.
Referenced by ambiqmicro_erase(), ambiqmicro_mass_erase(), ambiqmicro_otp_program(), and ambiqmicro_write_block().
|
static |
Definition at line 330 of file ambiqmicro.c.
References ambiqmicro_exec_command(), bank, CHECK_STATUS, ERROR_FLASH_BANK_NOT_PROBED, ERROR_OK, ERROR_TARGET_NOT_HALTED, FLASH_MASS_ERASE_MAIN_PAGES_FROM_SRAM, LOG_ERROR, LOG_INFO, NULL, ambiqmicro_flash_bank::probed, PROGRAM_KEY, target::state, TARGET_HALTED, and target_write_u32().
Referenced by ambiqmicro_erase(), and COMMAND_HANDLER().
|
static |
Definition at line 666 of file ambiqmicro.c.
References ambiqmicro_exec_command(), bank, CHECK_STATUS, count, ERROR_FLASH_BANK_NOT_PROBED, ERROR_FLASH_DST_BREAKS_ALIGNMENT, ERROR_OK, ERROR_TARGET_NOT_HALTED, FLASH_PROGRAM_OTP_FROM_SRAM, LOG_ERROR, LOG_INFO, NULL, offset, OTP_PROGRAM_KEY, ambiqmicro_flash_bank::probed, target::state, TARGET_HALTED, and target_write_u32().
|
static |
Definition at line 624 of file ambiqmicro.c.
References ambiqmicro_read_part_info(), bank, ERROR_OK, LOG_INFO, ambiqmicro_flash_bank::num_pages, ambiqmicro_flash_bank::pagesize, and ambiqmicro_flash_bank::probed.
|
static |
Definition at line 501 of file ambiqmicro.c.
References bank, ERROR_OK, ERROR_TARGET_NOT_HALTED, LOG_ERROR, LOG_INFO, and TARGET_HALTED.
|
static |
Definition at line 246 of file ambiqmicro.c.
References bank, ERROR_FLASH_BANK_NOT_PROBED, ERROR_OK, LOG_ERROR, ambiqmicro_flash_bank::probed, and status.
|
static |
Definition at line 169 of file ambiqmicro.c.
References ambiqmicro_parts, apollo_flash_size, apollo_sram_size, ARRAY_SIZE, bank, ERROR_OK, ambiqmicro_flash_bank::flshsiz, LOG_DEBUG, LOG_ERROR, LOG_INFO, ambiqmicro_flash_bank::num_pages, ambiqmicro_flash_bank::pagesize, ambiqmicro_flash_bank::sramsiz, ambiqmicro_flash_bank::target_class, ambiqmicro_flash_bank::target_name, and target_read_u32().
Referenced by ambiqmicro_probe().
|
static |
Definition at line 611 of file ambiqmicro.c.
References ambiqmicro_write_block(), bank, buffer, count, ERROR_OK, LOG_ERROR, and offset.
|
static |
Definition at line 520 of file ambiqmicro.c.
References ambiqmicro_exec_command(), bank, buffer, CHECK_STATUS, count, ERROR_FAIL, ERROR_OK, FLASH_PROGRAM_MAIN_FROM_SRAM, LOG_DEBUG, LOG_ERROR, LOG_INFO, offset, PROGRAM_KEY, target_write_buffer(), and target_write_u32().
Referenced by ambiqmicro_write().
|
static |
Read flash status from bootloader.
Definition at line 264 of file ambiqmicro.c.
References ERROR_FLASH_OPERATION_FAILED, ERROR_OK, LOG_DEBUG, LOG_ERROR, and target_read_u32().
Referenced by ambiqmicro_exec_command().
COMMAND_HANDLER | ( | ambiqmicro_handle_mass_erase_command | ) |
Definition at line 745 of file ambiqmicro.c.
References ambiqmicro_mass_erase(), bank, CALL_COMMAND_HANDLER, CMD, CMD_ARGC, command_print(), ERROR_COMMAND_SYNTAX_ERROR, and ERROR_OK.
COMMAND_HANDLER | ( | ambiqmicro_handle_page_erase_command | ) |
Definition at line 763 of file ambiqmicro.c.
References ambiqmicro_erase(), bank, CALL_COMMAND_HANDLER, CMD, CMD_ARGC, CMD_ARGV, COMMAND_PARSE_NUMBER, command_print(), ERROR_COMMAND_SYNTAX_ERROR, and ERROR_OK.
COMMAND_HANDLER | ( | ambiqmicro_handle_program_otp_command | ) |
Program the otp block.
Definition at line 791 of file ambiqmicro.c.
FLASH_BANK_COMMAND_HANDLER | ( | ambiqmicro_flash_bank_command | ) |
Definition at line 120 of file ambiqmicro.c.
References bank, CMD_ARGC, ERROR_COMMAND_SYNTAX_ERROR, ERROR_OK, ambiqmicro_flash_bank::probed, and ambiqmicro_flash_bank::target_name.
|
static |
Definition at line 139 of file ambiqmicro.c.
References ambiqmicro_classname, bank, cmd, command_print_sameline(), ERROR_FLASH_BANK_NOT_PROBED, ERROR_OK, LOG_ERROR, ambiqmicro_flash_bank::probed, ambiqmicro_flash_bank::target_class, and ambiqmicro_flash_bank::target_name.
|
static |
Definition at line 110 of file ambiqmicro.c.
Referenced by get_ambiqmicro_info().
|
static |
Definition at line 791 of file ambiqmicro.c.
|
static |
Definition at line 791 of file ambiqmicro.c.
const struct flash_driver ambiqmicro_flash |
Definition at line 791 of file ambiqmicro.c.
struct { ... } ambiqmicro_parts[6] |
Referenced by ambiqmicro_read_part_info().
|
static |
Definition at line 47 of file ambiqmicro.c.
Referenced by ambiqmicro_read_part_info().
|
static |
Definition at line 57 of file ambiqmicro.c.
Referenced by ambiqmicro_read_part_info().
uint8_t class |
Definition at line 98 of file ambiqmicro.c.
const char* partname |
Definition at line 100 of file ambiqmicro.c.
uint8_t partno |
Definition at line 99 of file ambiqmicro.c.