if ((args[0][0] >= '0') && (args[0][0] <= '9'))
{
unsigned num;
- int retval = parse_uint(args[0], &num);
- if (ERROR_OK != retval)
- return ERROR_COMMAND_SYNTAX_ERROR;
+ COMMAND_PARSE_NUMBER(uint, args[0], num);
reg_cache_t *cache = target->reg_cache;
count = 0;
uint32_t addr = 0;
if (argc == 1)
{
- int retval = parse_u32(args[0], &addr);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], addr);
current = 0;
}
int current_pc = 1;
if (argc == 1)
{
- int retval = parse_u32(args[0], &addr);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], addr);
current_pc = 0;
}
{
return ERROR_COMMAND_SYNTAX_ERROR;
}
+
uint32_t address;
- int retval = parse_u32(args[0], &address);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], address);
unsigned count = 1;
if (argc == 2)
- {
- retval = parse_uint(args[1], &count);
- if (ERROR_OK != retval)
- return retval;
- }
+ COMMAND_PARSE_NUMBER(uint, args[1], count);
uint8_t *buffer = calloc(count, size);
target_t *target = get_current_target(cmd_ctx);
- retval = fn(target, address, size, count, buffer);
+ int retval = fn(target, address, size, count, buffer);
if (ERROR_OK == retval)
handle_md_output(cmd_ctx, target, address, size, count, buffer);
return ERROR_COMMAND_SYNTAX_ERROR;
uint32_t address;
- int retval = parse_u32(args[0], &address);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], address);
uint32_t value;
- retval = parse_u32(args[1], &value);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[1], value);
unsigned count = 1;
if (argc == 3)
- {
- retval = parse_uint(args[2], &count);
- if (ERROR_OK != retval)
- return retval;
- }
+ COMMAND_PARSE_NUMBER(uint, args[2], count);
target_t *target = get_current_target(cmd_ctx);
unsigned wordsize;
}
for (unsigned i = 0; i < count; i++)
{
- retval = fn(target,
+ int retval = fn(target,
address + i * wordsize, wordsize, 1, value_buf);
if (ERROR_OK != retval)
return retval;
}
-static int parse_load_image_command_args(char **args, int argc,
- image_t *image, uint32_t *min_address, uint32_t *max_address)
+static int parse_load_image_command_args(struct command_context_s *cmd_ctx,
+ char **args, int argc, image_t *image,
+ uint32_t *min_address, uint32_t *max_address)
{
if (argc < 1 || argc > 5)
return ERROR_COMMAND_SYNTAX_ERROR;
if (argc >= 2)
{
uint32_t addr;
- int retval = parse_u32(args[1], &addr);
- if (ERROR_OK != retval)
- return ERROR_COMMAND_SYNTAX_ERROR;
+ COMMAND_PARSE_NUMBER(u32, args[1], addr);
image->base_address = addr;
image->base_address_set = 1;
}
if (argc >= 4)
{
- int retval = parse_u32(args[3], min_address);
- if (ERROR_OK != retval)
- return ERROR_COMMAND_SYNTAX_ERROR;
+ COMMAND_PARSE_NUMBER(u32, args[3], *min_address);
}
if (argc == 5)
{
- int retval = parse_u32(args[4], max_address);
- if (ERROR_OK != retval)
- return ERROR_COMMAND_SYNTAX_ERROR;
+ COMMAND_PARSE_NUMBER(u32, args[4], *max_address);
// use size (given) to find max (required)
*max_address += *min_address;
}
duration_t duration;
char *duration_text;
- int retval = parse_load_image_command_args(args, argc,
+ int retval = parse_load_image_command_args(cmd_ctx, args, argc,
&image, &min_address, &max_address);
if (ERROR_OK != retval)
return retval;
}
uint32_t address;
- int retval = parse_u32(args[1], &address);
- if (ERROR_OK != retval)
- return retval;
-
+ COMMAND_PARSE_NUMBER(u32, args[1], address);
uint32_t size;
- retval = parse_u32(args[2], &size);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[2], size);
if (fileio_open(&fileio, args[0], FILEIO_WRITE, FILEIO_BINARY) != ERROR_OK)
{
duration_start_measure(&duration);
+ int retval = ERROR_OK;
while (size > 0)
{
uint32_t size_written;
uint32_t this_run_size = (size > 560) ? 560 : size;
-
retval = target_read_buffer(target, address, this_run_size, buffer);
if (retval != ERROR_OK)
{
if (argc >= 2)
{
uint32_t addr;
- retval = parse_u32(args[1], &addr);
- if (ERROR_OK != retval)
- return ERROR_COMMAND_SYNTAX_ERROR;
+ COMMAND_PARSE_NUMBER(u32, args[1], addr);
image.base_address = addr;
image.base_address_set = 1;
}
}
uint32_t addr;
- int retval = parse_u32(args[0], &addr);
- if (ERROR_OK != retval)
- return retval;
-
+ COMMAND_PARSE_NUMBER(u32, args[0], addr);
uint32_t length;
- retval = parse_u32(args[1], &length);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[1], length);
int hw = BKPT_SOFT;
if (argc == 3)
return ERROR_COMMAND_SYNTAX_ERROR;
uint32_t addr;
- int retval = parse_u32(args[0], &addr);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], addr);
target_t *target = get_current_target(cmd_ctx);
breakpoint_remove(target, addr);
uint32_t length = 0;
uint32_t data_value = 0x0;
uint32_t data_mask = 0xffffffff;
- int retval;
switch (argc)
{
case 5:
- retval = parse_u32(args[4], &data_mask);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[4], data_mask);
// fall through
case 4:
- retval = parse_u32(args[3], &data_value);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[3], data_value);
// fall through
case 3:
switch (args[2][0])
}
// fall through
case 2:
- retval = parse_u32(args[1], &length);
- if (ERROR_OK != retval)
- return retval;
- retval = parse_u32(args[0], &addr);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[1], length);
+ COMMAND_PARSE_NUMBER(u32, args[0], addr);
break;
default:
return ERROR_COMMAND_SYNTAX_ERROR;
}
- retval = watchpoint_add(target, addr, length, type,
+ int retval = watchpoint_add(target, addr, length, type,
data_value, data_mask);
if (ERROR_OK != retval)
LOG_ERROR("Failure setting watchpoints");
return ERROR_COMMAND_SYNTAX_ERROR;
uint32_t addr;
- int retval = parse_u32(args[0], &addr);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], addr);
target_t *target = get_current_target(cmd_ctx);
watchpoint_remove(target, addr);
return ERROR_COMMAND_SYNTAX_ERROR;
uint32_t va;
- int retval = parse_u32(args[0], &va);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(u32, args[0], va);
uint32_t pa;
target_t *target = get_current_target(cmd_ctx);
- retval = target->type->virt2phys(target, va, &pa);
+ int retval = target->type->virt2phys(target, va, &pa);
if (retval == ERROR_OK)
command_print(cmd_ctx, "Physical address 0x%08" PRIx32 "", pa);
return ERROR_COMMAND_SYNTAX_ERROR;
}
unsigned offset;
- int retval = parse_uint(args[0], &offset);
- if (ERROR_OK != retval)
- return retval;
+ COMMAND_PARSE_NUMBER(uint, args[0], offset);
timeval_add_time(&timeout, offset, 0);
for (;;)
{
+ int retval;
target_poll(target);
if (target->state == TARGET_HALTED)
{
duration_t duration;
char *duration_text;
- int retval = parse_load_image_command_args(args, argc,
+ int retval = parse_load_image_command_args(cmd_ctx, args, argc,
&image, &min_address, &max_address);
if (ERROR_OK != retval)
return retval;