diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-10-23 01:32:20 -0700 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-05 18:19:19 -0800 |
commit | 111b7a6a9dbd68c906b8a8dff6e6c34d780297db (patch) | |
tree | 06d56d61720e0d4bbda552c4de87a89728f45786 | |
parent | aa9351ba46d0959555a4b293627ea14b5b42344f (diff) | |
download | openocd+libswd-111b7a6a9dbd68c906b8a8dff6e6c34d780297db.tar.gz openocd+libswd-111b7a6a9dbd68c906b8a8dff6e6c34d780297db.tar.bz2 openocd+libswd-111b7a6a9dbd68c906b8a8dff6e6c34d780297db.tar.xz openocd+libswd-111b7a6a9dbd68c906b8a8dff6e6c34d780297db.zip |
Improve str7x config command argument parsing.
-rw-r--r-- | src/flash/str7x.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/flash/str7x.c b/src/flash/str7x.c index 4d35748e..650c0bc3 100644 --- a/src/flash/str7x.c +++ b/src/flash/str7x.c @@ -640,12 +640,10 @@ static int str7x_info(struct flash_bank_s *bank, char *buf, int buf_size) static int str7x_handle_disable_jtag_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { - flash_bank_t *bank; target_t *target = NULL; str7x_flash_bank_t *str7x_info = NULL; uint32_t flash_cmd; - uint32_t retval; uint16_t ProtectionLevel = 0; uint16_t ProtectionRegs; @@ -655,12 +653,10 @@ static int str7x_handle_disable_jtag_command(struct command_context_s *cmd_ctx, return ERROR_OK; } - bank = get_flash_bank_by_num(strtoul(args[0], NULL, 0)); - if (!bank) - { - command_print(cmd_ctx, "str7x disable_jtag <bank> ok"); - return ERROR_OK; - } + flash_bank_t *bank; + int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank); + if (ERROR_OK != retval) + return retval; str7x_info = bank->driver_priv; @@ -673,15 +669,16 @@ static int str7x_handle_disable_jtag_command(struct command_context_s *cmd_ctx, } /* first we get protection status */ - target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVAPR0), &retval); + uint32_t reg; + target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVAPR0), ®); - if (!(retval & str7x_info->disable_bit)) + if (!(reg & str7x_info->disable_bit)) { ProtectionLevel = 1; } - target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVAPR1), &retval); - ProtectionRegs = ~(retval >> 16); + target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVAPR1), ®); + ProtectionRegs = ~(reg >> 16); while (((ProtectionRegs) != 0) && (ProtectionLevel < 16)) { |