Improve arm_adi_v5 command argument parsing.
This commit is contained in:
parent
9b3781e5a4
commit
a8886cdfee
|
@ -1370,10 +1370,18 @@ int 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) {
|
||||||
apsel = strtoul(args[0], NULL, 0);
|
case 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);
|
||||||
|
|
||||||
|
@ -1392,11 +1400,18 @@ int dap_memaccess_command(struct command_context_s *cmd_ctx,
|
||||||
{
|
{
|
||||||
uint32_t memaccess_tck;
|
uint32_t memaccess_tck;
|
||||||
|
|
||||||
|
switch (argc) {
|
||||||
|
case 0:
|
||||||
memaccess_tck = swjdp->memaccess_tck;
|
memaccess_tck = swjdp->memaccess_tck;
|
||||||
if (argc > 0)
|
break;
|
||||||
memaccess_tck = strtoul(args[0], NULL, 0);
|
case 1:
|
||||||
|
COMMAND_PARSE_NUMBER(u32, args[0], memaccess_tck);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||||
|
}
|
||||||
swjdp->memaccess_tck = memaccess_tck;
|
swjdp->memaccess_tck = memaccess_tck;
|
||||||
|
|
||||||
command_print(cmd_ctx, "memory bus access delay set to %" PRIi32 " tck",
|
command_print(cmd_ctx, "memory bus access delay set to %" PRIi32 " tck",
|
||||||
swjdp->memaccess_tck);
|
swjdp->memaccess_tck);
|
||||||
|
|
||||||
|
@ -1409,9 +1424,16 @@ int dap_apsel_command(struct command_context_s *cmd_ctx,
|
||||||
uint32_t apsel, apid;
|
uint32_t apsel, apid;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
|
switch (argc) {
|
||||||
|
case 0:
|
||||||
apsel = 0;
|
apsel = 0;
|
||||||
if (argc > 0)
|
break;
|
||||||
apsel = strtoul(args[0], NULL, 0);
|
case 1:
|
||||||
|
COMMAND_PARSE_NUMBER(u32, args[0], apsel);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
dap_ap_select(swjdp, apsel);
|
dap_ap_select(swjdp, apsel);
|
||||||
dap_ap_read_reg_u32(swjdp, 0xFC, &apid);
|
dap_ap_read_reg_u32(swjdp, 0xFC, &apid);
|
||||||
|
@ -1428,10 +1450,17 @@ int dap_apid_command(struct command_context_s *cmd_ctx,
|
||||||
uint32_t apsel, apselsave, apid;
|
uint32_t apsel, apselsave, apid;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
apsel = swjdp->apsel;
|
|
||||||
apselsave = swjdp->apsel;
|
apselsave = swjdp->apsel;
|
||||||
if (argc > 0)
|
switch (argc) {
|
||||||
apsel = strtoul(args[0], NULL, 0);
|
case 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);
|
||||||
|
@ -1444,5 +1473,3 @@ int dap_apid_command(struct command_context_s *cmd_ctx,
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue