X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Flpc2900.c;h=3ae7bb4f046db187a5de66e057482c03f50c9bc1;hp=dc466f8e2b1625cc8b06303b9df86d2eea46548b;hb=bc8be110ff314cab0e09792a05b6871672c18302;hpb=2b2d5ec1e38efdd10ec64f8e880588350fb4edea diff --git a/src/flash/nor/lpc2900.c b/src/flash/nor/lpc2900.c index dc466f8e2b..3ae7bb4f04 100644 --- a/src/flash/nor/lpc2900.c +++ b/src/flash/nor/lpc2900.c @@ -23,11 +23,11 @@ #endif -#include -#include +#include "imp.h" #include -#include #include +#include +#include /* 1024 bytes */ @@ -951,45 +951,49 @@ COMMAND_HANDLER(lpc2900_handle_secure_jtag_command) static const struct command_registration lpc2900_exec_command_handlers[] = { { .name = "signature", - .handler = &lpc2900_handle_signature_command, + .handler = lpc2900_handle_signature_command, .mode = COMMAND_EXEC, - .usage = "", - .help = "print device signature of flash bank", + .usage = "bank_id", + .help = "Calculate and display signature of flash bank.", }, { .name = "read_custom", - .handler = &lpc2900_handle_read_custom_command, + .handler = lpc2900_handle_read_custom_command, .mode = COMMAND_EXEC, - .usage = " ", - .help = "read customer information from index sector to file", + .usage = "bank_id filename", + .help = "Copies 912 bytes of customer information " + "from index sector into file.", }, { .name = "password", - .handler = &lpc2900_handle_password_command, + .handler = lpc2900_handle_password_command, .mode = COMMAND_EXEC, - .usage = " ", - .help = "enter password to enable 'dangerous' options", + .usage = "bank_id password", + .help = "Enter fixed password to enable 'dangerous' options.", }, { .name = "write_custom", - .handler = &lpc2900_handle_write_custom_command, + .handler = lpc2900_handle_write_custom_command, .mode = COMMAND_EXEC, - .usage = " []", - .help = "write customer info from file to index sector", + .usage = "bank_id filename ('bin'|'ihex'|'elf'|'s19')", + .help = "Copies 912 bytes of customer info from file " + "to index sector.", }, { .name = "secure_sector", - .handler = &lpc2900_handle_secure_sector_command, + .handler = lpc2900_handle_secure_sector_command, .mode = COMMAND_EXEC, - .usage = " ", - .help = "activate sector security for a range of sectors", + .usage = "bank_id first_sector last_sector", + .help = "Activate sector security for a range of sectors. " + "It will be effective after a power cycle.", }, { .name = "secure_jtag", - .handler = &lpc2900_handle_secure_jtag_command, + .handler = lpc2900_handle_secure_jtag_command, .mode = COMMAND_EXEC, - .usage = " ", - .help = "activate JTAG security", + .usage = "bank_id", + .help = "Disable the JTAG port. " + "It will be effective after a power cycle.", }, COMMAND_REGISTRATION_DONE }; @@ -1284,7 +1288,7 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer, reduced size if that fails. */ struct working_area *warea; uint32_t buffer_size = lpc2900_info->max_ram_block - 1 * KiB; - while( (retval = target_alloc_working_area(target, + while( (retval = target_alloc_working_area_try(target, buffer_size + target_code_size, &warea)) != ERROR_OK ) { @@ -1302,7 +1306,7 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer, if( warea ) { struct reg_param reg_params[5]; - struct armv4_5_algorithm armv4_5_info; + struct arm_algorithm armv4_5_info; /* We can use target mode. Download the algorithm. */ retval = target_write_buffer( target, @@ -1423,9 +1427,9 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer, buf_set_u32(reg_params[4].value, 0, 32, FPTR_EN_T | prog_time); /* Execute algorithm, assume breakpoint for last instruction */ - armv4_5_info.common_magic = ARMV4_5_COMMON_MAGIC; - armv4_5_info.core_mode = ARMV4_5_MODE_SVC; - armv4_5_info.core_state = ARMV4_5_STATE_ARM; + armv4_5_info.common_magic = ARM_COMMON_MAGIC; + armv4_5_info.core_mode = ARM_MODE_SVC; + armv4_5_info.core_state = ARM_STATE_ARM; retval = target_run_algorithm(target, 0, NULL, 5, reg_params, (warea->address) + buffer_size, @@ -1826,6 +1830,7 @@ struct flash_driver lpc2900_flash = .erase = lpc2900_erase, .protect = lpc2900_protect, .write = lpc2900_write, + .read = default_flash_read, .probe = lpc2900_probe, .auto_probe = lpc2900_probe, .erase_check = lpc2900_erase_check,