Improve armv7m command argument parsing.
parent
3dd5c59d7d
commit
3541ed3aa3
|
@ -756,25 +756,27 @@ static int handle_dap_baseaddr_command(struct command_context_s *cmd_ctx,
|
||||||
uint32_t apsel, apselsave, baseaddr;
|
uint32_t apsel, apselsave, baseaddr;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
apsel = swjdp->apsel;
|
|
||||||
apselsave = swjdp->apsel;
|
apselsave = swjdp->apsel;
|
||||||
if (argc > 0)
|
switch (argc) {
|
||||||
{
|
case 0:
|
||||||
apsel = strtoul(args[0], NULL, 0);
|
apsel = swjdp->apsel;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
COMMAND_PARSE_NUMBER(u32, args[0], apsel);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (apselsave != apsel)
|
if (apselsave != apsel)
|
||||||
{
|
|
||||||
dap_ap_select(swjdp, apsel);
|
dap_ap_select(swjdp, apsel);
|
||||||
}
|
|
||||||
|
|
||||||
dap_ap_read_reg_u32(swjdp, 0xF8, &baseaddr);
|
dap_ap_read_reg_u32(swjdp, 0xF8, &baseaddr);
|
||||||
retval = swjdp_transaction_endcheck(swjdp);
|
retval = swjdp_transaction_endcheck(swjdp);
|
||||||
command_print(cmd_ctx, "0x%8.8" PRIx32 "", baseaddr);
|
command_print(cmd_ctx, "0x%8.8" PRIx32 "", baseaddr);
|
||||||
|
|
||||||
if (apselsave != apsel)
|
if (apselsave != apsel)
|
||||||
{
|
|
||||||
dap_ap_select(swjdp, apselsave);
|
dap_ap_select(swjdp, apselsave);
|
||||||
}
|
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -822,9 +824,16 @@ static int handle_dap_info_command(struct command_context_s *cmd_ctx,
|
||||||
swjdp_common_t *swjdp = &armv7m->swjdp_info;
|
swjdp_common_t *swjdp = &armv7m->swjdp_info;
|
||||||
uint32_t apsel;
|
uint32_t apsel;
|
||||||
|
|
||||||
apsel = swjdp->apsel;
|
switch (argc) {
|
||||||
if (argc > 0)
|
case 0:
|
||||||
apsel = strtoul(args[0], NULL, 0);
|
apsel = swjdp->apsel;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
COMMAND_PARSE_NUMBER(u32, args[0], apsel);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
return dap_info_command(cmd_ctx, swjdp, apsel);
|
return dap_info_command(cmd_ctx, swjdp, apsel);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue