- Fixes '=' whitespace

- Replace ')\(=\)\(\w\)' with ') \1 \2'.
- Replace '\(\w\)\(=\)(' with '\1 \2 ('.
- Replace '\(\w\)\(=\)\(\w\)' with '\1 \2 \3'.


git-svn-id: svn://svn.berlios.de/openocd/trunk@2372 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
zwelch 2009-06-23 22:42:54 +00:00
parent 3813fda44a
commit 84df52f9ea
73 changed files with 660 additions and 660 deletions

View File

@ -975,13 +975,13 @@ int main(int argc, char *argv[])
} }
mkdir(zylin_config_dir, 0777); mkdir(zylin_config_dir, 0777);
char *dirname=alloc_printf("%s/target", zylin_config_dir); char *dirname = alloc_printf("%s/target", zylin_config_dir);
mkdir(dirname, 0777); mkdir(dirname, 0777);
free(dirname); free(dirname);
dirname=alloc_printf("%s/board", zylin_config_dir); dirname = alloc_printf("%s/board", zylin_config_dir);
mkdir(dirname, 0777); mkdir(dirname, 0777);
free(dirname); free(dirname);
dirname=alloc_printf("%s/event", zylin_config_dir); dirname = alloc_printf("%s/event", zylin_config_dir);
mkdir(dirname, 0777); mkdir(dirname, 0777);
free(dirname); free(dirname);
@ -1036,7 +1036,7 @@ int main(int argc, char *argv[])
if (logAllToSerial) if (logAllToSerial)
{ {
diag_printf( diag_printf(
"%s/logserial=1 => sending log output to serial port using \"debug_level 3\" as default.\n", zylin_config_dir); "%s/logserial = 1 => sending log output to serial port using \"debug_level 3\" as default.\n", zylin_config_dir);
command_run_line(cmd_ctx, "debug_level 3"); command_run_line(cmd_ctx, "debug_level 3");
} }

View File

@ -232,10 +232,10 @@ static void at91sam7_set_flash_mode(flash_bank_t *bank, int mode)
if (fmcn > 0xFF) if (fmcn > 0xFF)
fmcn = 0xFF; fmcn = 0xFF;
/* Only allow fmcn=0 if clock period is > 30 us = 33kHz. */ /* Only allow fmcn = 0 if clock period is > 30 us = 33kHz. */
if (at91sam7_info->mck_freq <= 33333ul) if (at91sam7_info->mck_freq <= 33333ul)
fmcn = 0; fmcn = 0;
/* Only allow fws=0 if clock frequency is < 30 MHz. */ /* Only allow fws = 0 if clock frequency is < 30 MHz. */
if (at91sam7_info->mck_freq > 30000000ul) if (at91sam7_info->mck_freq > 30000000ul)
fws = 1; fws = 1;
@ -550,7 +550,7 @@ static int at91sam7_read_part_info(struct flash_bank_s *bank)
/* calculate bank size */ /* calculate bank size */
bank_size = sectors_num * pages_per_sector * page_size; bank_size = sectors_num * pages_per_sector * page_size;
for (bnk=0; bnk<banks_num; bnk++) for (bnk = 0; bnk<banks_num; bnk++)
{ {
if (bnk > 0) if (bnk > 0)
{ {
@ -575,7 +575,7 @@ static int at91sam7_read_part_info(struct flash_bank_s *bank)
/* allocate sectors */ /* allocate sectors */
t_bank->sectors = malloc(sectors_num * sizeof(flash_sector_t)); t_bank->sectors = malloc(sectors_num * sizeof(flash_sector_t));
for (sec=0; sec<sectors_num; sec++) for (sec = 0; sec<sectors_num; sec++)
{ {
t_bank->sectors[sec].offset = sec * pages_per_sector * page_size; t_bank->sectors[sec].offset = sec * pages_per_sector * page_size;
t_bank->sectors[sec].size = pages_per_sector * page_size; t_bank->sectors[sec].size = pages_per_sector * page_size;
@ -639,7 +639,7 @@ static int at91sam7_erase_check(struct flash_bank_s *bank)
at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH); at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH);
fast_check = 1; fast_check = 1;
for (nSector=0; nSector<bank->num_sectors; nSector++) for (nSector = 0; nSector<bank->num_sectors; nSector++)
{ {
retval = target_blank_check_memory(target, bank->base+bank->sectors[nSector].offset, retval = target_blank_check_memory(target, bank->base+bank->sectors[nSector].offset,
bank->sectors[nSector].size, &blank); bank->sectors[nSector].size, &blank);
@ -662,7 +662,7 @@ static int at91sam7_erase_check(struct flash_bank_s *bank)
LOG_USER("Running slow fallback erase check - add working memory"); LOG_USER("Running slow fallback erase check - add working memory");
buffer = malloc(bank->sectors[0].size); buffer = malloc(bank->sectors[0].size);
for (nSector=0; nSector<bank->num_sectors; nSector++) for (nSector = 0; nSector<bank->num_sectors; nSector++)
{ {
bank->sectors[nSector].is_erased = 1; bank->sectors[nSector].is_erased = 1;
retval = target_read_memory(target, bank->base+bank->sectors[nSector].offset, 4, retval = target_read_memory(target, bank->base+bank->sectors[nSector].offset, 4,
@ -670,7 +670,7 @@ static int at91sam7_erase_check(struct flash_bank_s *bank)
if (retval != ERROR_OK) if (retval != ERROR_OK)
return retval; return retval;
for (nByte=0; nByte<bank->sectors[nSector].size; nByte++) for (nByte = 0; nByte<bank->sectors[nSector].size; nByte++)
{ {
if (buffer[nByte] != 0xFF) if (buffer[nByte] != 0xFF)
{ {
@ -705,7 +705,7 @@ static int at91sam7_protect_check(struct flash_bank_s *bank)
at91sam7_info->lockbits = (status >> 16); at91sam7_info->lockbits = (status >> 16);
at91sam7_info->num_lockbits_on = 0; at91sam7_info->num_lockbits_on = 0;
for (lock_pos=0; lock_pos<bank->num_sectors; lock_pos++) for (lock_pos = 0; lock_pos<bank->num_sectors; lock_pos++)
{ {
if ( ((status >> (16+lock_pos))&(0x0001)) == 1) if ( ((status >> (16+lock_pos))&(0x0001)) == 1)
{ {
@ -723,7 +723,7 @@ static int at91sam7_protect_check(struct flash_bank_s *bank)
at91sam7_info->nvmbits = (status >> 8)&0xFF; at91sam7_info->nvmbits = (status >> 8)&0xFF;
at91sam7_info->num_nvmbits_on = 0; at91sam7_info->num_nvmbits_on = 0;
for (gpnvm_pos=0; gpnvm_pos<at91sam7_info->num_nvmbits; gpnvm_pos++) for (gpnvm_pos = 0; gpnvm_pos<at91sam7_info->num_nvmbits; gpnvm_pos++)
{ {
if ( ((status >> (8+gpnvm_pos))&(0x01)) == 1) if ( ((status >> (8+gpnvm_pos))&(0x01)) == 1)
{ {
@ -809,7 +809,7 @@ static int at91sam7_flash_bank_command(struct command_context_s *cmd_ctx, char *
/* calculate bank size */ /* calculate bank size */
bank_size = num_sectors * pages_per_sector * page_size; bank_size = num_sectors * pages_per_sector * page_size;
for (bnk=0; bnk<banks_num; bnk++) for (bnk = 0; bnk<banks_num; bnk++)
{ {
if (bnk > 0) if (bnk > 0)
{ {
@ -834,7 +834,7 @@ static int at91sam7_flash_bank_command(struct command_context_s *cmd_ctx, char *
/* allocate sectors */ /* allocate sectors */
t_bank->sectors = malloc(num_sectors * sizeof(flash_sector_t)); t_bank->sectors = malloc(num_sectors * sizeof(flash_sector_t));
for (sec=0; sec<num_sectors; sec++) for (sec = 0; sec<num_sectors; sec++)
{ {
t_bank->sectors[sec].offset = sec * pages_per_sector * page_size; t_bank->sectors[sec].offset = sec * pages_per_sector * page_size;
t_bank->sectors[sec].size = pages_per_sector * page_size; t_bank->sectors[sec].size = pages_per_sector * page_size;
@ -902,7 +902,7 @@ static int at91sam7_erase(struct flash_bank_s *bank, int first, int last)
/* allocate and clean buffer */ /* allocate and clean buffer */
nbytes = (last - first + 1) * bank->sectors[first].size; nbytes = (last - first + 1) * bank->sectors[first].size;
buffer = malloc(nbytes * sizeof(uint8_t)); buffer = malloc(nbytes * sizeof(uint8_t));
for (pos=0; pos<nbytes; pos++) for (pos = 0; pos<nbytes; pos++)
{ {
buffer[pos] = 0xFF; buffer[pos] = 0xFF;
} }
@ -916,7 +916,7 @@ static int at91sam7_erase(struct flash_bank_s *bank, int first, int last)
} }
/* mark erased sectors */ /* mark erased sectors */
for (sec=first; sec <= last; sec++) for (sec = first; sec <= last; sec++)
{ {
bank->sectors[sec].is_erased = 1; bank->sectors[sec].is_erased = 1;
} }
@ -952,7 +952,7 @@ static int at91sam7_protect(struct flash_bank_s *bank, int set, int first, int l
at91sam7_read_clock_info(bank); at91sam7_read_clock_info(bank);
at91sam7_set_flash_mode(bank, FMR_TIMING_NVBITS); at91sam7_set_flash_mode(bank, FMR_TIMING_NVBITS);
for (sector=first; sector <= last; sector++) for (sector = first; sector <= last; sector++)
{ {
if (set) if (set)
cmd = SLB; cmd = SLB;
@ -1016,7 +1016,7 @@ static int at91sam7_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t o
at91sam7_read_clock_info(bank); at91sam7_read_clock_info(bank);
at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH); at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH);
for (pagen=first_page; pagen<last_page; pagen++) for (pagen = first_page; pagen<last_page; pagen++)
{ {
if (bytes_remaining<dst_min_alignment) if (bytes_remaining<dst_min_alignment)
count = bytes_remaining; count = bytes_remaining;

View File

@ -212,7 +212,7 @@ static uint16_t cfi_query_u16(flash_bank_t *bank, int sector, uint32_t offset)
if (cfi_info->x16_as_x8) if (cfi_info->x16_as_x8)
{ {
uint8_t i; uint8_t i;
for (i=0;i<2;i++) for (i = 0;i<2;i++)
target_read_memory(target, flash_address(bank, sector, offset+i), bank->bus_width, 1, target_read_memory(target, flash_address(bank, sector, offset+i), bank->bus_width, 1,
&data[i*bank->bus_width] ); &data[i*bank->bus_width] );
} }
@ -234,7 +234,7 @@ static uint32_t cfi_query_u32(flash_bank_t *bank, int sector, uint32_t offset)
if (cfi_info->x16_as_x8) if (cfi_info->x16_as_x8)
{ {
uint8_t i; uint8_t i;
for (i=0;i<4;i++) for (i = 0;i<4;i++)
target_read_memory(target, flash_address(bank, sector, offset+i), bank->bus_width, 1, target_read_memory(target, flash_address(bank, sector, offset+i), bank->bus_width, 1,
&data[i*bank->bus_width] ); &data[i*bank->bus_width] );
} }
@ -1011,7 +1011,7 @@ static void cfi_add_byte(struct flash_bank_s *bank, uint8_t *word, uint8_t byte)
static void cfi_fix_code_endian(target_t *target, uint8_t *dest, const uint32_t *src, uint32_t count) static void cfi_fix_code_endian(target_t *target, uint8_t *dest, const uint32_t *src, uint32_t count)
{ {
uint32_t i; uint32_t i;
for (i=0; i< count; i++) for (i = 0; i< count; i++)
{ {
target_buffer_set_u32(target, dest, *src); target_buffer_set_u32(target, dest, *src);
dest += 4; dest += 4;
@ -1452,7 +1452,7 @@ static int cfi_spansion_write_block(struct flash_bank_s *bank, uint8_t *buffer,
cfi_fix_code_endian(target, target_code, src, target_code_size / 4); cfi_fix_code_endian(target, target_code, src, target_code_size / 4);
/* allocate working area */ /* allocate working area */
retval=target_alloc_working_area(target, target_code_size, retval = target_alloc_working_area(target, target_code_size,
&cfi_info->write_algorithm); &cfi_info->write_algorithm);
if (retval != ERROR_OK) if (retval != ERROR_OK)
{ {
@ -1987,7 +1987,7 @@ int cfi_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint3
buffer += buffersize; buffer += buffersize;
write_p += buffersize; write_p += buffersize;
count -= buffersize; count -= buffersize;
fallback=0; fallback = 0;
} }
} }
/* try the slow way? */ /* try the slow way? */

View File

@ -66,7 +66,7 @@ typedef struct ecosflash_flash_bank_s
uint32_t start_address; uint32_t start_address;
} ecosflash_flash_bank_t; } ecosflash_flash_bank_t;
static const int sectorSize=0x10000; static const int sectorSize = 0x10000;
char * char *
flash_errmsg(int err); flash_errmsg(int err);
@ -145,7 +145,7 @@ static int ecosflash_flash_bank_command(struct command_context_s *cmd_ctx, char
exit(-1); exit(-1);
} }
bank->driver_priv = info; bank->driver_priv = info;
info->driverPath=strdup(args[6]); info->driverPath = strdup(args[6]);
/* eCos flash sector sizes are not exposed to OpenOCD, use 0x10000 as /* eCos flash sector sizes are not exposed to OpenOCD, use 0x10000 as
* a way to improve impeadance matach between OpenOCD and eCos flash * a way to improve impeadance matach between OpenOCD and eCos flash
@ -153,7 +153,7 @@ static int ecosflash_flash_bank_command(struct command_context_s *cmd_ctx, char
*/ */
int i = 0; int i = 0;
uint32_t offset = 0; uint32_t offset = 0;
bank->num_sectors=bank->size/sectorSize; bank->num_sectors = bank->size/sectorSize;
bank->sectors = malloc(sizeof(flash_sector_t) * bank->num_sectors); bank->sectors = malloc(sizeof(flash_sector_t) * bank->num_sectors);
for (i = 0; i < bank->num_sectors; i++) for (i = 0; i < bank->num_sectors; i++)
{ {
@ -181,15 +181,15 @@ static int loadDriver(ecosflash_flash_bank_t *info)
image.base_address_set = 0; image.base_address_set = 0;
image.start_address_set = 0; image.start_address_set = 0;
target_t *target=info->target; target_t *target = info->target;
int retval; int retval;
if ((retval=image_open(&image, info->driverPath, NULL)) != ERROR_OK) if ((retval = image_open(&image, info->driverPath, NULL)) != ERROR_OK)
{ {
return retval; return retval;
} }
info->start_address=image.start_address; info->start_address = image.start_address;
image_size = 0x0; image_size = 0x0;
int i; int i;
@ -215,12 +215,12 @@ static int loadDriver(ecosflash_flash_bank_t *info)
return ERROR_OK; return ERROR_OK;
} }
static int const OFFSET_ERASE=0x0; static int const OFFSET_ERASE = 0x0;
static int const OFFSET_ERASE_SIZE=0x8; static int const OFFSET_ERASE_SIZE = 0x8;
static int const OFFSET_FLASH=0xc; static int const OFFSET_FLASH = 0xc;
static int const OFFSET_FLASH_SIZE=0x8; static int const OFFSET_FLASH_SIZE = 0x8;
static int const OFFSET_GET_WORKAREA=0x18; static int const OFFSET_GET_WORKAREA = 0x18;
static int const OFFSET_GET_WORKAREA_SIZE=0x4; static int const OFFSET_GET_WORKAREA_SIZE = 0x4;
static int runCode(ecosflash_flash_bank_t *info, static int runCode(ecosflash_flash_bank_t *info,
uint32_t codeStart, uint32_t codeStop, uint32_t r0, uint32_t r1, uint32_t r2, uint32_t codeStart, uint32_t codeStop, uint32_t r0, uint32_t r1, uint32_t r2,
@ -228,7 +228,7 @@ static int runCode(ecosflash_flash_bank_t *info,
/* timeout in ms */ /* timeout in ms */
int timeout) int timeout)
{ {
target_t *target=info->target; target_t *target = info->target;
reg_param_t reg_params[3]; reg_param_t reg_params[3];
armv4_5_algorithm_t armv4_5_info; armv4_5_algorithm_t armv4_5_info;
@ -254,7 +254,7 @@ static int runCode(ecosflash_flash_bank_t *info,
return retval; return retval;
} }
*result=buf_get_u32(reg_params[0].value, 0, 32); *result = buf_get_u32(reg_params[0].value, 0, 32);
destroy_reg_param(&reg_params[0]); destroy_reg_param(&reg_params[0]);
destroy_reg_param(&reg_params[1]); destroy_reg_param(&reg_params[1]);
@ -268,12 +268,12 @@ static int eCosBoard_erase(ecosflash_flash_bank_t *info, uint32_t address, uint3
int retval; int retval;
int timeout = (len / 20480 + 1) * 1000; /*asume 20 KB/s*/ int timeout = (len / 20480 + 1) * 1000; /*asume 20 KB/s*/
retval=loadDriver(info); retval = loadDriver(info);
if (retval != ERROR_OK) if (retval != ERROR_OK)
return retval; return retval;
uint32_t flashErr; uint32_t flashErr;
retval=runCode(info, retval = runCode(info,
info->start_address+OFFSET_ERASE, info->start_address+OFFSET_ERASE,
info->start_address+OFFSET_ERASE+OFFSET_ERASE_SIZE, info->start_address+OFFSET_ERASE+OFFSET_ERASE_SIZE,
address, address,
@ -296,17 +296,17 @@ static int eCosBoard_erase(ecosflash_flash_bank_t *info, uint32_t address, uint3
static int eCosBoard_flash(ecosflash_flash_bank_t *info, void *data, uint32_t address, uint32_t len) static int eCosBoard_flash(ecosflash_flash_bank_t *info, void *data, uint32_t address, uint32_t len)
{ {
target_t *target=info->target; target_t *target = info->target;
const int chunk=8192; const int chunk = 8192;
int retval=ERROR_OK; int retval = ERROR_OK;
int timeout = (chunk / 20480 + 1) * 1000; /*asume 20 KB/s + 1 second*/ int timeout = (chunk / 20480 + 1) * 1000; /*asume 20 KB/s + 1 second*/
retval=loadDriver(info); retval = loadDriver(info);
if (retval != ERROR_OK) if (retval != ERROR_OK)
return retval; return retval;
uint32_t buffer; uint32_t buffer;
retval=runCode(info, retval = runCode(info,
info->start_address+OFFSET_GET_WORKAREA, info->start_address+OFFSET_GET_WORKAREA,
info->start_address+OFFSET_GET_WORKAREA+OFFSET_GET_WORKAREA_SIZE, info->start_address+OFFSET_GET_WORKAREA+OFFSET_GET_WORKAREA_SIZE,
0, 0,
@ -319,21 +319,21 @@ static int eCosBoard_flash(ecosflash_flash_bank_t *info, void *data, uint32_t ad
uint32_t i; uint32_t i;
for (i=0; i<len; i += chunk) for (i = 0; i<len; i += chunk)
{ {
int t=len-i; int t = len-i;
if (t>chunk) if (t>chunk)
{ {
t=chunk; t = chunk;
} }
int retval; int retval;
retval=target_write_buffer(target, buffer, t, ((uint8_t *)data)+i); retval = target_write_buffer(target, buffer, t, ((uint8_t *)data)+i);
if (retval != ERROR_OK) if (retval != ERROR_OK)
return retval; return retval;
uint32_t flashErr; uint32_t flashErr;
retval=runCode(info, retval = runCode(info,
info->start_address+OFFSET_FLASH, info->start_address+OFFSET_FLASH,
info->start_address+OFFSET_FLASH+OFFSET_FLASH_SIZE, info->start_address+OFFSET_FLASH+OFFSET_FLASH_SIZE,
buffer, buffer,
@ -408,7 +408,7 @@ static uint32_t ecosflash_address(struct flash_bank_s *bank, uint32_t address)
static int ecosflash_erase(struct flash_bank_s *bank, int first, int last) static int ecosflash_erase(struct flash_bank_s *bank, int first, int last)
{ {
struct flash_bank_s *c=bank; struct flash_bank_s *c = bank;
ecosflash_flash_bank_t *info = bank->driver_priv; ecosflash_flash_bank_t *info = bank->driver_priv;
return eCosBoard_erase(info, c->base+first*sectorSize, sectorSize*(last-first+1)); return eCosBoard_erase(info, c->base+first*sectorSize, sectorSize*(last-first+1));
} }
@ -421,7 +421,7 @@ static int ecosflash_protect(struct flash_bank_s *bank, int set, int first, int
static int ecosflash_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count) static int ecosflash_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
{ {
ecosflash_flash_bank_t *info = bank->driver_priv; ecosflash_flash_bank_t *info = bank->driver_priv;
struct flash_bank_s *c=bank; struct flash_bank_s *c = bank;
return eCosBoard_flash(info, buffer, c->base+offset, count); return eCosBoard_flash(info, buffer, c->base+offset, count);
} }

View File

@ -89,7 +89,7 @@ static int flash_driver_write(struct flash_bank_s *bank, uint8_t *buffer, uint32
{ {
int retval; int retval;
retval=bank->driver->write(bank, buffer, offset, count); retval = bank->driver->write(bank, buffer, offset, count);
if (retval != ERROR_OK) if (retval != ERROR_OK)
{ {
LOG_ERROR("error writing to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32 " (%d)", LOG_ERROR("error writing to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32 " (%d)",
@ -103,7 +103,7 @@ static int flash_driver_erase(struct flash_bank_s *bank, int first, int last)
{ {
int retval; int retval;
retval=bank->driver->erase(bank, first, last); retval = bank->driver->erase(bank, first, last);
if (retval != ERROR_OK) if (retval != ERROR_OK)
{ {
LOG_ERROR("failed erasing sectors %d to %d (%d)", first, last, retval); LOG_ERROR("failed erasing sectors %d to %d (%d)", first, last, retval);
@ -116,7 +116,7 @@ int flash_driver_protect(struct flash_bank_s *bank, int set, int first, int last
{ {
int retval; int retval;
retval=bank->driver->protect(bank, set, first, last); retval = bank->driver->protect(bank, set, first, last);
if (retval != ERROR_OK) if (retval != ERROR_OK)
{ {
LOG_ERROR("failed setting protection for areas %d to %d (%d)", first, last, retval); LOG_ERROR("failed setting protection for areas %d to %d (%d)", first, last, retval);
@ -142,10 +142,10 @@ static int jim_flash_banks(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
return JIM_ERR; return JIM_ERR;
} }
Jim_Obj *list=Jim_NewListObj(interp, NULL, 0); Jim_Obj *list = Jim_NewListObj(interp, NULL, 0);
for (p = flash_banks; p; p = p->next) for (p = flash_banks; p; p = p->next)
{ {
Jim_Obj *elem=Jim_NewListObj(interp, NULL, 0); Jim_Obj *elem = Jim_NewListObj(interp, NULL, 0);
Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "name", -1)); Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "name", -1));
Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, p->driver->name, -1)); Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, p->driver->name, -1));
@ -291,7 +291,7 @@ static int handle_flash_bank_command(struct command_context_s *cmd_ctx, char *cm
c->sectors = NULL; c->sectors = NULL;
c->next = NULL; c->next = NULL;
if ((retval=flash_drivers[i]->flash_bank_command(cmd_ctx, cmd, args, argc, c)) != ERROR_OK) if ((retval = flash_drivers[i]->flash_bank_command(cmd_ctx, cmd, args, argc, c)) != ERROR_OK)
{ {
LOG_ERROR("'%s' driver rejected flash bank at 0x%8.8" PRIx32 , args[0], c->base); LOG_ERROR("'%s' driver rejected flash bank at 0x%8.8" PRIx32 , args[0], c->base);
free(c); free(c);
@ -754,13 +754,13 @@ static int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cm
switch (cmd[4]) switch (cmd[4])
{ {
case 'w': case 'w':
wordsize=4; wordsize = 4;
break; break;
case 'h': case 'h':
wordsize=2; wordsize = 2;
break; break;
case 'b': case 'b':
wordsize=1; wordsize = 1;
break; break;
default: default:
return ERROR_COMMAND_SYNTAX_ERROR; return ERROR_COMMAND_SYNTAX_ERROR;
@ -791,7 +791,7 @@ static int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cm
duration_start_measure(&duration); duration_start_measure(&duration);
for (wrote=0; wrote<(count*wordsize); wrote += cur_size) for (wrote = 0; wrote<(count*wordsize); wrote += cur_size)
{ {
cur_size = MIN( (count*wordsize - wrote), sizeof(chunk) ); cur_size = MIN( (count*wordsize - wrote), sizeof(chunk) );
flash_bank_t *bank; flash_bank_t *bank;
@ -809,7 +809,7 @@ static int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cm
return err; return err;
unsigned i; unsigned i;
for (i=0; i<cur_size; i++) for (i = 0; i<cur_size; i++)
{ {
if (readback[i]!=chunk[i]) if (readback[i]!=chunk[i])
{ {
@ -829,7 +829,7 @@ static int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cm
if (err == ERROR_OK) if (err == ERROR_OK)
{ {
float speed; float speed;
speed=wrote / 1024.0; speed = wrote / 1024.0;
speed/=((float)duration.duration.tv_sec + ((float)duration.duration.tv_usec / 1000000.0)); speed/=((float)duration.duration.tv_sec + ((float)duration.duration.tv_usec / 1000000.0));
command_print(cmd_ctx, command_print(cmd_ctx,
"wrote %" PRId32 " bytes to 0x%8.8" PRIx32 " in %s (%f kb/s)", "wrote %" PRId32 " bytes to 0x%8.8" PRIx32 " in %s (%f kb/s)",
@ -1003,7 +1003,7 @@ int flash_erase_address_range(target_t *target, uint32_t addr, uint32_t length)
/* write (optional verify) an image to flash memory of the given target */ /* write (optional verify) an image to flash memory of the given target */
int flash_write(target_t *target, image_t *image, uint32_t *written, int erase) int flash_write(target_t *target, image_t *image, uint32_t *written, int erase)
{ {
int retval=ERROR_OK; int retval = ERROR_OK;
int section; int section;
uint32_t section_offset; uint32_t section_offset;

View File

@ -45,13 +45,13 @@ typedef struct flash_sector_s
/// Number of bytes in this flash sector. /// Number of bytes in this flash sector.
uint32_t size; uint32_t size;
/** /**
* Indication of erasure status: 0=not erased, 1=erased, * Indication of erasure status: 0 = not erased, 1 = erased,
* other=unknown. Set by @c flash_driver_s::erase_check. * other = unknown. Set by @c flash_driver_s::erase_check.
*/ */
int is_erased; int is_erased;
/** /**
* Indication of protection status: 0=unprotected/unlocked, * Indication of protection status: 0 = unprotected/unlocked,
* 1=protected/locked, other=unknown. Set by * 1 = protected/locked, other = unknown. Set by
* @c flash_driver_s::protect_check. * @c flash_driver_s::protect_check.
*/ */
int is_protected; int is_protected;

View File

@ -525,7 +525,7 @@ static int lpc2000_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t of
checksum = 0 - checksum; checksum = 0 - checksum;
LOG_DEBUG("checksum: 0x%8.8" PRIx32, checksum); LOG_DEBUG("checksum: 0x%8.8" PRIx32, checksum);
uint32_t original_value=buf_get_u32(buffer + (5 * 4), 0, 32); uint32_t original_value = buf_get_u32(buffer + (5 * 4), 0, 32);
if (original_value != checksum) if (original_value != checksum)
{ {
LOG_WARNING("Verification will fail since checksum in image(0x%8.8" PRIx32 ") written to flash was different from calculated vector checksum(0x%8.8" PRIx32 ").", LOG_WARNING("Verification will fail since checksum in image(0x%8.8" PRIx32 ") written to flash was different from calculated vector checksum(0x%8.8" PRIx32 ").",

View File

@ -217,7 +217,7 @@ static int mg_dsk_wait(mg_io_type_wait wait, uint32_t time)
uint32_t mg_task_reg = mflash_bank->base + MG_REG_OFFSET; uint32_t mg_task_reg = mflash_bank->base + MG_REG_OFFSET;
duration_t duration; duration_t duration;
int ret; int ret;
long long t=0; long long t = 0;
duration_start_measure(&duration); duration_start_measure(&duration);
@ -277,7 +277,7 @@ static int mg_dsk_wait(mg_io_type_wait wait, uint32_t time)
duration_stop_measure(&duration, NULL); duration_stop_measure(&duration, NULL);
t=duration.duration.tv_usec/1000; t = duration.duration.tv_usec/1000;
t += duration.duration.tv_sec*1000; t += duration.duration.tv_sec*1000;
if (t > time) if (t > time)
@ -871,7 +871,7 @@ static int mg_pll_get_M(unsigned short feedback_div)
{ {
int i, M; int i, M;
for (i = 1, M=0; i < 512; i <<= 1, feedback_div >>= 1) for (i = 1, M = 0; i < 512; i <<= 1, feedback_div >>= 1)
M += (feedback_div & 1) * i; M += (feedback_div & 1) * i;
return M + 2; return M + 2;

View File

@ -200,7 +200,7 @@ static int ocl_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset
chksum = OCL_CHKS_INIT; chksum = OCL_CHKS_INIT;
/* copy data to DCC buffer in proper byte order and properly aligned */ /* copy data to DCC buffer in proper byte order and properly aligned */
for (i=0; i<runlen; i++) for (i = 0; i<runlen; i++)
{ {
switch (byteofs++) switch (byteofs++)
{ {
@ -332,7 +332,7 @@ static int ocl_probe(struct flash_bank_s *bank)
return ERROR_FLASH_BANK_INVALID; return ERROR_FLASH_BANK_INVALID;
} }
sectsize = bank->size / bank->num_sectors; sectsize = bank->size / bank->num_sectors;
for (i=0; i<bank->num_sectors; i++) for (i = 0; i<bank->num_sectors; i++)
{ {
bank->sectors[i].offset = i * sectsize; bank->sectors[i].offset = i * sectsize;
bank->sectors[i].size = sectsize; bank->sectors[i].size = sectsize;

View File

@ -39,19 +39,19 @@ void cmd_flash(uint32 cmd)
int pagenum; int pagenum;
int result; int result;
adr=dcc_rd(); adr = dcc_rd();
len=cmd&0xffff; len = cmd&0xffff;
ofs=adr%flash_page_size; ofs = adr%flash_page_size;
bi_start=ofs/4; bi_start = ofs/4;
bi_end=(ofs+len+3)/4; bi_end = (ofs+len+3)/4;
if (bi_end>BUFSIZE) { if (bi_end>BUFSIZE) {
dcc_wr(OCL_BUFF_OVER); dcc_wr(OCL_BUFF_OVER);
return; return;
} }
chksum=OCL_CHKS_INIT; chksum = OCL_CHKS_INIT;
for (bi=0; bi<bi_end; bi++) chksum^=buffer[bi]=dcc_rd(); for (bi = 0; bi<bi_end; bi++) chksum^=buffer[bi]=dcc_rd();
if (dcc_rd() != chksum) { if (dcc_rd() != chksum) {
dcc_wr(OCL_CHKS_FAIL); dcc_wr(OCL_CHKS_FAIL);
@ -59,18 +59,18 @@ void cmd_flash(uint32 cmd)
} }
/* fill in unused positions with unprogrammed values */ /* fill in unused positions with unprogrammed values */
for (bi=0; bi<bi_start; bi++) buffer[bi]=0xffffffff; for (bi = 0; bi<bi_start; bi++) buffer[bi]=0xffffffff;
for (bi=bi_end; bi%flash_page_size; bi++) buffer[bi]=0xffffffff; for (bi = bi_end; bi%flash_page_size; bi++) buffer[bi]=0xffffffff;
result=0; result = 0;
pagenum=adr/flash_page_size; pagenum = adr/flash_page_size;
for (bi=0; bi<bi_end; bi += flash_page_size/4) { for (bi = 0; bi<bi_end; bi += flash_page_size/4) {
result=flash_page_program(buffer+bi, pagenum++); result = flash_page_program(buffer+bi, pagenum++);
if (result) break; if (result) break;
} }
/* verify written data */ /* verify written data */
if (!result) result=flash_verify(adr, len, ((uint8 *)buffer)+ofs); if (!result) result = flash_verify(adr, len, ((uint8 *)buffer)+ofs);
dcc_wr(OCL_CMD_DONE|result); dcc_wr(OCL_CMD_DONE|result);
} }
@ -81,7 +81,7 @@ int main (void)
uint32 cmd; uint32 cmd;
for (;;) { for (;;) {
cmd=dcc_rd(); cmd = dcc_rd();
switch (cmd&OCL_CMD_MASK) { switch (cmd&OCL_CMD_MASK) {
case OCL_PROBE: case OCL_PROBE:
dcc_wr(OCL_CMD_DONE|flash_init()); dcc_wr(OCL_CMD_DONE|flash_init());

View File

@ -20,11 +20,11 @@
#include "samflash.h" #include "samflash.h"
unsigned int flash_page_count=1024; unsigned int flash_page_count = 1024;
unsigned int flash_page_size=256; unsigned int flash_page_size = 256;
/* pages per lock bit */ /* pages per lock bit */
unsigned int flash_lock_pages=1024/16; unsigned int flash_lock_pages = 1024/16;
/* detect chip and set loader parameters */ /* detect chip and set loader parameters */
@ -32,38 +32,38 @@ int flash_init(void)
{ {
unsigned int nvpsiz; unsigned int nvpsiz;
nvpsiz=(inr(DBGU_CIDR) >> 8)&0xf; nvpsiz = (inr(DBGU_CIDR) >> 8)&0xf;
switch (nvpsiz) { switch (nvpsiz) {
case 3: case 3:
/* AT91SAM7x32 */ /* AT91SAM7x32 */
flash_page_count=256; flash_page_count = 256;
flash_page_size=128; flash_page_size = 128;
flash_lock_pages=256/8; flash_lock_pages = 256/8;
break; break;
case 5: case 5:
/* AT91SAM7x64 */ /* AT91SAM7x64 */
flash_page_count=512; flash_page_count = 512;
flash_page_size=128; flash_page_size = 128;
flash_lock_pages=512/16; flash_lock_pages = 512/16;
break; break;
case 7: case 7:
/* AT91SAM7x128*/ /* AT91SAM7x128*/
flash_page_count=512; flash_page_count = 512;
flash_page_size=256; flash_page_size = 256;
flash_lock_pages=512/8; flash_lock_pages = 512/8;
break; break;
case 9: case 9:
/* AT91SAM7x256 */ /* AT91SAM7x256 */
flash_page_count=1024; flash_page_count = 1024;
flash_page_size=256; flash_page_size = 256;
flash_lock_pages=1024/16; flash_lock_pages = 1024/16;
break; break;
case 10: case 10:
/* AT91SAM7x512 */ /* AT91SAM7x512 */
flash_page_count=2048; flash_page_count = 2048;
flash_page_size=256; flash_page_size = 256;
flash_lock_pages=2048/32; flash_lock_pages = 2048/32;
break; break;
default: default:
return FLASH_STAT_INITE; return FLASH_STAT_INITE;
@ -82,19 +82,19 @@ int flash_page_program(uint32 *data, int page_num)
uint32 *data_ptr; uint32 *data_ptr;
/* select proper controller */ /* select proper controller */
if (page_num >= 1024) efc_ofs=0x10; if (page_num >= 1024) efc_ofs = 0x10;
else efc_ofs=0; else efc_ofs = 0;
/* wait until FLASH is ready, just for sure */ /* wait until FLASH is ready, just for sure */
while ((inr(MC_FSR+efc_ofs)&MC_FRDY) == 0); while ((inr(MC_FSR+efc_ofs)&MC_FRDY) == 0);
/* calculate page address, only lower 8 bits are used to address the latch, /* calculate page address, only lower 8 bits are used to address the latch,
but the upper part of address is needed for writing to proper EFC */ but the upper part of address is needed for writing to proper EFC */
flash_ptr=(uint32 *)(FLASH_AREA_ADDR+(page_num*flash_page_size)); flash_ptr = (uint32 *)(FLASH_AREA_ADDR+(page_num*flash_page_size));
data_ptr=data; data_ptr = data;
/* copy data to latch */ /* copy data to latch */
for (i=flash_page_size/4; i; i--) { for (i = flash_page_size/4; i; i--) {
/* we do not use memcpy to be sure that only 32 bit access is used */ /* we do not use memcpy to be sure that only 32 bit access is used */
*(flash_ptr++)=*(data_ptr++); *(flash_ptr++)=*(data_ptr++);
} }
@ -111,10 +111,10 @@ int flash_page_program(uint32 *data, int page_num)
#if 0 #if 0
/* verify written data */ /* verify written data */
flash_ptr=(uint32 *)(FLASH_AREA_ADDR+(page_num*flash_page_size)); flash_ptr = (uint32 *)(FLASH_AREA_ADDR+(page_num*flash_page_size));
data_ptr=data; data_ptr = data;
for (i=flash_page_size/4; i; i--) { for (i = flash_page_size/4; i; i--) {
if (*(flash_ptr++)!=*(data_ptr++)) return FLASH_STAT_VERIFE; if (*(flash_ptr++)!=*(data_ptr++)) return FLASH_STAT_VERIFE;
} }
#endif #endif
@ -128,8 +128,8 @@ int flash_erase_plane(int efc_ofs)
unsigned int lockbits; unsigned int lockbits;
int page_num; int page_num;
page_num=0; page_num = 0;
lockbits=inr(MC_FSR+efc_ofs) >> 16; lockbits = inr(MC_FSR+efc_ofs) >> 16;
while (lockbits) { while (lockbits) {
if (lockbits&1) { if (lockbits&1) {
@ -175,10 +175,10 @@ int flash_erase_all(void)
{ {
int result; int result;
if ((result=flash_erase_plane(0)) != FLASH_STAT_OK) return result; if ((result = flash_erase_plane(0)) != FLASH_STAT_OK) return result;
/* the second flash controller, if any */ /* the second flash controller, if any */
if (flash_page_count>1024) result=flash_erase_plane(0x10); if (flash_page_count>1024) result = flash_erase_plane(0x10);
return result; return result;
} }
@ -188,7 +188,7 @@ int flash_verify(uint32 adr, unsigned int len, uint8 *src)
{ {
unsigned char *flash_ptr; unsigned char *flash_ptr;
flash_ptr=(uint8 *)FLASH_AREA_ADDR+adr; flash_ptr = (uint8 *)FLASH_AREA_ADDR+adr;
for ( ;len; len--) { for ( ;len; len--) {
if (*(flash_ptr++)!=*(src++)) return FLASH_STAT_VERIFE; if (*(flash_ptr++)!=*(src++)) return FLASH_STAT_VERIFE;
} }

View File

@ -388,7 +388,7 @@ static int pic32mx_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint3
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
}; };
if ((retval=target_write_buffer(target, pic32mx_info->write_algorithm->address, sizeof(pic32mx_flash_write_code), pic32mx_flash_write_code)) != ERROR_OK) if ((retval = target_write_buffer(target, pic32mx_info->write_algorithm->address, sizeof(pic32mx_flash_write_code), pic32mx_flash_write_code)) != ERROR_OK)
return retval; return retval;
#endif #endif
@ -435,12 +435,12 @@ static int pic32mx_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint3
#endif #endif
status = pic32mx_write_row(bank, address, source->address); status = pic32mx_write_row(bank, address, source->address);
if ( status & NVMCON_NVMERR ) { if ( status & NVMCON_NVMERR ) {
LOG_ERROR("Flash write error NVMERR (status=0x%08" PRIx32 ")", status); LOG_ERROR("Flash write error NVMERR (status = 0x%08" PRIx32 ")", status);
retval = ERROR_FLASH_OPERATION_FAILED; retval = ERROR_FLASH_OPERATION_FAILED;
break; break;
} }
if ( status & NVMCON_LVDERR ) { if ( status & NVMCON_LVDERR ) {
LOG_ERROR("Flash write error LVDERR (status=0x%08" PRIx32 ")", status); LOG_ERROR("Flash write error LVDERR (status = 0x%08" PRIx32 ")", status);
retval = ERROR_FLASH_OPERATION_FAILED; retval = ERROR_FLASH_OPERATION_FAILED;
break; break;
} }
@ -459,12 +459,12 @@ static int pic32mx_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint3
uint32_t status = pic32mx_write_word(bank, address, value); uint32_t status = pic32mx_write_word(bank, address, value);
if ( status & NVMCON_NVMERR ) { if ( status & NVMCON_NVMERR ) {
LOG_ERROR("Flash write error NVMERR (status=0x%08" PRIx32 ")", status); LOG_ERROR("Flash write error NVMERR (status = 0x%08" PRIx32 ")", status);
retval = ERROR_FLASH_OPERATION_FAILED; retval = ERROR_FLASH_OPERATION_FAILED;
break; break;
} }
if ( status & NVMCON_LVDERR ) { if ( status & NVMCON_LVDERR ) {
LOG_ERROR("Flash write error LVDERR (status=0x%08" PRIx32 ")", status); LOG_ERROR("Flash write error LVDERR (status = 0x%08" PRIx32 ")", status);
retval = ERROR_FLASH_OPERATION_FAILED; retval = ERROR_FLASH_OPERATION_FAILED;
break; break;
} }
@ -620,7 +620,7 @@ static int pic32mx_probe(struct flash_bank_s *bank)
num_pages = 12; num_pages = 12;
} else { } else {
/* 0xBD000000: Program flash size varies with device */ /* 0xBD000000: Program flash size varies with device */
for (i=0; pic32mx_devs[i].name != NULL; i++) for (i = 0; pic32mx_devs[i].name != NULL; i++)
if (pic32mx_devs[i].devid == ((device_id >> 12) & 0xff)) { if (pic32mx_devs[i].devid == ((device_id >> 12) & 0xff)) {
num_pages = pic32mx_devs[i].pfm_size; num_pages = pic32mx_devs[i].pfm_size;
break; break;
@ -704,7 +704,7 @@ static int pic32mx_info(struct flash_bank_s *bank, char *buf, int buf_size)
PIC32MX_MANUF_ID); PIC32MX_MANUF_ID);
return ERROR_FLASH_OPERATION_FAILED; return ERROR_FLASH_OPERATION_FAILED;
} }
for (i=0; pic32mx_devs[i].name != NULL; i++) for (i = 0; pic32mx_devs[i].name != NULL; i++)
if (pic32mx_devs[i].devid == ((device_id >> 12) & 0xff)) { if (pic32mx_devs[i].devid == ((device_id >> 12) & 0xff)) {
printed = snprintf(buf, buf_size, "PIC32MX%s", pic32mx_devs[i].name); printed = snprintf(buf, buf_size, "PIC32MX%s", pic32mx_devs[i].name);
break; break;
@ -939,7 +939,7 @@ static int pic32mx_handle_pgm_word_command(struct command_context_s *cmd_ctx, ch
if (res == ERROR_OK) if (res == ERROR_OK)
command_print(cmd_ctx, "pic32mx pgm word complete"); command_print(cmd_ctx, "pic32mx pgm word complete");
else else
command_print(cmd_ctx, "pic32mx pgm word failed (status=0x%x)", status); command_print(cmd_ctx, "pic32mx pgm word failed (status = 0x%x)", status);
return ERROR_OK; return ERROR_OK;
} }

View File

@ -517,7 +517,7 @@ static int stm32x_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint32
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
}; };
if ((retval=target_write_buffer(target, stm32x_info->write_algorithm->address, sizeof(stm32x_flash_write_code), stm32x_flash_write_code)) != ERROR_OK) if ((retval = target_write_buffer(target, stm32x_info->write_algorithm->address, sizeof(stm32x_flash_write_code), stm32x_flash_write_code)) != ERROR_OK)
return retval; return retval;
/* memory buffer */ /* memory buffer */

View File

@ -198,11 +198,11 @@ static int str9x_protect_check(struct flash_bank_s *bank)
if (str9x_info->bank1) if (str9x_info->bank1)
{ {
adr = bank1start + 0x18; adr = bank1start + 0x18;
if ((retval=target_write_u16(target, adr, 0x90)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0x90)) != ERROR_OK)
{ {
return retval; return retval;
} }
if ((retval=target_read_u16(target, adr, &hstatus)) != ERROR_OK) if ((retval = target_read_u16(target, adr, &hstatus)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -211,11 +211,11 @@ static int str9x_protect_check(struct flash_bank_s *bank)
else else
{ {
adr = bank1start + 0x14; adr = bank1start + 0x14;
if ((retval=target_write_u16(target, adr, 0x90)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0x90)) != ERROR_OK)
{ {
return retval; return retval;
} }
if ((retval=target_read_u32(target, adr, &status)) != ERROR_OK) if ((retval = target_read_u32(target, adr, &status)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -224,11 +224,11 @@ static int str9x_protect_check(struct flash_bank_s *bank)
else else
{ {
adr = bank1start + 0x10; adr = bank1start + 0x10;
if ((retval=target_write_u16(target, adr, 0x90)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0x90)) != ERROR_OK)
{ {
return retval; return retval;
} }
if ((retval=target_read_u16(target, adr, &hstatus)) != ERROR_OK) if ((retval = target_read_u16(target, adr, &hstatus)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -236,7 +236,7 @@ static int str9x_protect_check(struct flash_bank_s *bank)
} }
/* read array command */ /* read array command */
if ((retval=target_write_u16(target, adr, 0xFF)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0xFF)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -284,24 +284,24 @@ static int str9x_erase(struct flash_bank_s *bank, int first, int last)
adr = bank->base + bank->sectors[i].offset; adr = bank->base + bank->sectors[i].offset;
/* erase sectors */ /* erase sectors */
if ((retval=target_write_u16(target, adr, erase_cmd)) != ERROR_OK) if ((retval = target_write_u16(target, adr, erase_cmd)) != ERROR_OK)
{ {
return retval; return retval;
} }
if ((retval=target_write_u16(target, adr, 0xD0)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0xD0)) != ERROR_OK)
{ {
return retval; return retval;
} }
/* get status */ /* get status */
if ((retval=target_write_u16(target, adr, 0x70)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0x70)) != ERROR_OK)
{ {
return retval; return retval;
} }
int timeout; int timeout;
for (timeout=0; timeout<1000; timeout++) { for (timeout = 0; timeout<1000; timeout++) {
if ((retval=target_read_u8(target, adr, &status)) != ERROR_OK) if ((retval = target_read_u8(target, adr, &status)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -316,13 +316,13 @@ static int str9x_erase(struct flash_bank_s *bank, int first, int last)
} }
/* clear status, also clear read array */ /* clear status, also clear read array */
if ((retval=target_write_u16(target, adr, 0x50)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0x50)) != ERROR_OK)
{ {
return retval; return retval;
} }
/* read array command */ /* read array command */
if ((retval=target_write_u16(target, adr, 0xFF)) != ERROR_OK) if ((retval = target_write_u16(target, adr, 0xFF)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -575,7 +575,7 @@ static int str9x_write(struct flash_bank_s *bank,
target_write_u16(target, bank_adr, 0x70); target_write_u16(target, bank_adr, 0x70);
int timeout; int timeout;
for (timeout=0; timeout<1000; timeout++) for (timeout = 0; timeout<1000; timeout++)
{ {
target_read_u8(target, bank_adr, &status); target_read_u8(target, bank_adr, &status);
if ( status & 0x80 ) if ( status & 0x80 )
@ -624,7 +624,7 @@ static int str9x_write(struct flash_bank_s *bank,
target_write_u16(target, bank_adr, 0x70); target_write_u16(target, bank_adr, 0x70);
int timeout; int timeout;
for (timeout=0; timeout<1000; timeout++) for (timeout = 0; timeout<1000; timeout++)
{ {
target_read_u8(target, bank_adr, &status); target_read_u8(target, bank_adr, &status);
if ( status & 0x80 ) if ( status & 0x80 )

View File

@ -150,7 +150,7 @@ static int tms470_read_part_info(struct flash_bank_s *bank)
/* read and parse the device identification register */ /* read and parse the device identification register */
target_read_u32(target, 0xFFFFFFF0, &device_ident_reg); target_read_u32(target, 0xFFFFFFF0, &device_ident_reg);
LOG_INFO("device_ident_reg=0x%08" PRIx32 "", device_ident_reg); LOG_INFO("device_ident_reg = 0x%08" PRIx32 "", device_ident_reg);
if ((device_ident_reg & 7) == 0) if ((device_ident_reg & 7) == 0)
{ {
@ -432,7 +432,7 @@ static int tms470_check_flash_unlocked(target_t * target)
uint32_t fmbbusy; uint32_t fmbbusy;
target_read_u32(target, 0xFFE89C08, &fmbbusy); target_read_u32(target, 0xFFE89C08, &fmbbusy);
LOG_INFO("tms470 fmbbusy=0x%08" PRIx32 " -> %s", fmbbusy, fmbbusy & 0x8000 ? "unlocked" : "LOCKED"); LOG_INFO("tms470 fmbbusy = 0x%08" PRIx32 " -> %s", fmbbusy, fmbbusy & 0x8000 ? "unlocked" : "LOCKED");
return fmbbusy & 0x8000 ? ERROR_OK : ERROR_FLASH_OPERATION_FAILED; return fmbbusy & 0x8000 ? ERROR_OK : ERROR_FLASH_OPERATION_FAILED;
} }
@ -482,7 +482,7 @@ static int tms470_try_flash_keys(target_t * target, const uint32_t * key_set)
*/ */
target_read_u32(target, 0x00001FF0 + 4 * i, &tmp); target_read_u32(target, 0x00001FF0 + 4 * i, &tmp);
LOG_INFO("tms470 writing fmpkey=0x%08" PRIx32 "", key_set[i]); LOG_INFO("tms470 writing fmpkey = 0x%08" PRIx32 "", key_set[i]);
target_write_u32(target, 0xFFE89C0C, key_set[i]); target_write_u32(target, 0xFFE89C0C, key_set[i]);
} }
@ -570,7 +570,7 @@ static int tms470_flash_initialize_internal_state_machine(struct flash_bank_s *b
fmmac2 &= ~0x0007; fmmac2 &= ~0x0007;
fmmac2 |= (tms470_info->ordinal & 7); fmmac2 |= (tms470_info->ordinal & 7);
target_write_u32(target, 0xFFE8BC04, fmmac2); target_write_u32(target, 0xFFE8BC04, fmmac2);
LOG_DEBUG("set fmmac2=0x%04" PRIx32 "", fmmac2); LOG_DEBUG("set fmmac2 = 0x%04" PRIx32 "", fmmac2);
/* /*
* Disable level 1 sector protection by setting bit 15 of FMMAC1. * Disable level 1 sector protection by setting bit 15 of FMMAC1.
@ -578,25 +578,25 @@ static int tms470_flash_initialize_internal_state_machine(struct flash_bank_s *b
target_read_u32(target, 0xFFE8BC00, &fmmac1); target_read_u32(target, 0xFFE8BC00, &fmmac1);
fmmac1 |= 0x8000; fmmac1 |= 0x8000;
target_write_u32(target, 0xFFE8BC00, fmmac1); target_write_u32(target, 0xFFE8BC00, fmmac1);
LOG_DEBUG("set fmmac1=0x%04" PRIx32 "", fmmac1); LOG_DEBUG("set fmmac1 = 0x%04" PRIx32 "", fmmac1);
/* /*
* FMTCREG=0x2fc0; * FMTCREG = 0x2fc0;
*/ */
target_write_u32(target, 0xFFE8BC10, 0x2fc0); target_write_u32(target, 0xFFE8BC10, 0x2fc0);
LOG_DEBUG("set fmtcreg=0x2fc0"); LOG_DEBUG("set fmtcreg = 0x2fc0");
/* /*
* MAXPP=50 * MAXPP = 50
*/ */
target_write_u32(target, 0xFFE8A07C, 50); target_write_u32(target, 0xFFE8A07C, 50);
LOG_DEBUG("set fmmaxpp=50"); LOG_DEBUG("set fmmaxpp = 50");
/* /*
* MAXCP=0xf000+2000 * MAXCP = 0xf000+2000
*/ */
target_write_u32(target, 0xFFE8A084, 0xf000 + 2000); target_write_u32(target, 0xFFE8A084, 0xf000 + 2000);
LOG_DEBUG("set fmmaxcp=0x%04x", 0xf000 + 2000); LOG_DEBUG("set fmmaxcp = 0x%04x", 0xf000 + 2000);
/* /*
* configure VHV * configure VHV
@ -606,22 +606,22 @@ static int tms470_flash_initialize_internal_state_machine(struct flash_bank_s *b
{ {
fmmaxep = 0xf000 + 4095; fmmaxep = 0xf000 + 4095;
target_write_u32(target, 0xFFE8A80C, 0x9964); target_write_u32(target, 0xFFE8A80C, 0x9964);
LOG_DEBUG("set fmptr3=0x9964"); LOG_DEBUG("set fmptr3 = 0x9964");
} }
else else
{ {
fmmaxep = 0xa000 + 4095; fmmaxep = 0xa000 + 4095;
target_write_u32(target, 0xFFE8A80C, 0x9b64); target_write_u32(target, 0xFFE8A80C, 0x9b64);
LOG_DEBUG("set fmptr3=0x9b64"); LOG_DEBUG("set fmptr3 = 0x9b64");
} }
target_write_u32(target, 0xFFE8A080, fmmaxep); target_write_u32(target, 0xFFE8A080, fmmaxep);
LOG_DEBUG("set fmmaxep=0x%04" PRIx32 "", fmmaxep); LOG_DEBUG("set fmmaxep = 0x%04" PRIx32 "", fmmaxep);
/* /*
* FMPTR4=0xa000 * FMPTR4 = 0xa000
*/ */
target_write_u32(target, 0xFFE8A810, 0xa000); target_write_u32(target, 0xFFE8A810, 0xa000);
LOG_DEBUG("set fmptr4=0xa000"); LOG_DEBUG("set fmptr4 = 0xa000");
/* /*
* FMPESETUP, delay parameter selected based on clock frequency. * FMPESETUP, delay parameter selected based on clock frequency.
@ -635,56 +635,56 @@ static int tms470_flash_initialize_internal_state_machine(struct flash_bank_s *b
sysclk = (plldis ? 1 : (glbctrl & 0x08) ? 4 : 8) * oscMHz / (1 + (glbctrl & 7)); sysclk = (plldis ? 1 : (glbctrl & 0x08) ? 4 : 8) * oscMHz / (1 + (glbctrl & 7));
delay = (sysclk > 10) ? (sysclk + 1) / 2 : 5; delay = (sysclk > 10) ? (sysclk + 1) / 2 : 5;
target_write_u32(target, 0xFFE8A018, (delay << 4) | (delay << 8)); target_write_u32(target, 0xFFE8A018, (delay << 4) | (delay << 8));
LOG_DEBUG("set fmpsetup=0x%04" PRIx32 "", (delay << 4) | (delay << 8)); LOG_DEBUG("set fmpsetup = 0x%04" PRIx32 "", (delay << 4) | (delay << 8));
/* /*
* FMPVEVACCESS, based on delay. * FMPVEVACCESS, based on delay.
*/ */
k = delay | (delay << 8); k = delay | (delay << 8);
target_write_u32(target, 0xFFE8A05C, k); target_write_u32(target, 0xFFE8A05C, k);
LOG_DEBUG("set fmpvevaccess=0x%04" PRIx32 "", k); LOG_DEBUG("set fmpvevaccess = 0x%04" PRIx32 "", k);
/* /*
* FMPCHOLD, FMPVEVHOLD, FMPVEVSETUP, based on delay. * FMPCHOLD, FMPVEVHOLD, FMPVEVSETUP, based on delay.
*/ */
k <<= 1; k <<= 1;
target_write_u32(target, 0xFFE8A034, k); target_write_u32(target, 0xFFE8A034, k);
LOG_DEBUG("set fmpchold=0x%04" PRIx32 "", k); LOG_DEBUG("set fmpchold = 0x%04" PRIx32 "", k);
target_write_u32(target, 0xFFE8A040, k); target_write_u32(target, 0xFFE8A040, k);
LOG_DEBUG("set fmpvevhold=0x%04" PRIx32 "", k); LOG_DEBUG("set fmpvevhold = 0x%04" PRIx32 "", k);
target_write_u32(target, 0xFFE8A024, k); target_write_u32(target, 0xFFE8A024, k);
LOG_DEBUG("set fmpvevsetup=0x%04" PRIx32 "", k); LOG_DEBUG("set fmpvevsetup = 0x%04" PRIx32 "", k);
/* /*
* FMCVACCESS, based on delay. * FMCVACCESS, based on delay.
*/ */
k = delay * 16; k = delay * 16;
target_write_u32(target, 0xFFE8A060, k); target_write_u32(target, 0xFFE8A060, k);
LOG_DEBUG("set fmcvaccess=0x%04" PRIx32 "", k); LOG_DEBUG("set fmcvaccess = 0x%04" PRIx32 "", k);
/* /*
* FMCSETUP, based on delay. * FMCSETUP, based on delay.
*/ */
k = 0x3000 | delay * 20; k = 0x3000 | delay * 20;
target_write_u32(target, 0xFFE8A020, k); target_write_u32(target, 0xFFE8A020, k);
LOG_DEBUG("set fmcsetup=0x%04" PRIx32 "", k); LOG_DEBUG("set fmcsetup = 0x%04" PRIx32 "", k);
/* /*
* FMEHOLD, based on delay. * FMEHOLD, based on delay.
*/ */
k = (delay * 20) << 2; k = (delay * 20) << 2;
target_write_u32(target, 0xFFE8A038, k); target_write_u32(target, 0xFFE8A038, k);
LOG_DEBUG("set fmehold=0x%04" PRIx32 "", k); LOG_DEBUG("set fmehold = 0x%04" PRIx32 "", k);
/* /*
* PWIDTH, CWIDTH, EWIDTH, based on delay. * PWIDTH, CWIDTH, EWIDTH, based on delay.
*/ */
target_write_u32(target, 0xFFE8A050, delay * 8); target_write_u32(target, 0xFFE8A050, delay * 8);
LOG_DEBUG("set fmpwidth=0x%04" PRIx32 "", delay * 8); LOG_DEBUG("set fmpwidth = 0x%04" PRIx32 "", delay * 8);
target_write_u32(target, 0xFFE8A058, delay * 1000); target_write_u32(target, 0xFFE8A058, delay * 1000);
LOG_DEBUG("set fmcwidth=0x%04" PRIx32 "", delay * 1000); LOG_DEBUG("set fmcwidth = 0x%04" PRIx32 "", delay * 1000);
target_write_u32(target, 0xFFE8A054, delay * 5400); target_write_u32(target, 0xFFE8A054, delay * 5400);
LOG_DEBUG("set fmewidth=0x%04" PRIx32 "", delay * 5400); LOG_DEBUG("set fmewidth = 0x%04" PRIx32 "", delay * 5400);
return result; return result;
} }
@ -698,7 +698,7 @@ int tms470_flash_status(struct flash_bank_s *bank)
uint32_t fmmstat; uint32_t fmmstat;
target_read_u32(target, 0xFFE8BC0C, &fmmstat); target_read_u32(target, 0xFFE8BC0C, &fmmstat);
LOG_DEBUG("set fmmstat=0x%04" PRIx32 "", fmmstat); LOG_DEBUG("set fmmstat = 0x%04" PRIx32 "", fmmstat);
if (fmmstat & 0x0080) if (fmmstat & 0x0080)
{ {
@ -760,12 +760,12 @@ static int tms470_erase_sector(struct flash_bank_s *bank, int sector)
*/ */
target_read_u32(target, 0xFFFFFFDC, &glbctrl); target_read_u32(target, 0xFFFFFFDC, &glbctrl);
target_write_u32(target, 0xFFFFFFDC, glbctrl | 0x10); target_write_u32(target, 0xFFFFFFDC, glbctrl | 0x10);
LOG_DEBUG("set glbctrl=0x%08" PRIx32 "", glbctrl | 0x10); LOG_DEBUG("set glbctrl = 0x%08" PRIx32 "", glbctrl | 0x10);
/* Force normal read mode. */ /* Force normal read mode. */
target_read_u32(target, 0xFFE89C00, &orig_fmregopt); target_read_u32(target, 0xFFE89C00, &orig_fmregopt);
target_write_u32(target, 0xFFE89C00, 0); target_write_u32(target, 0xFFE89C00, 0);
LOG_DEBUG("set fmregopt=0x%08x", 0); LOG_DEBUG("set fmregopt = 0x%08x", 0);
(void)tms470_flash_initialize_internal_state_machine(bank); (void)tms470_flash_initialize_internal_state_machine(bank);
@ -777,13 +777,13 @@ static int tms470_erase_sector(struct flash_bank_s *bank, int sector)
{ {
target_read_u32(target, 0xFFE88008, &fmbsea); target_read_u32(target, 0xFFE88008, &fmbsea);
target_write_u32(target, 0xFFE88008, fmbsea | (1 << sector)); target_write_u32(target, 0xFFE88008, fmbsea | (1 << sector));
LOG_DEBUG("set fmbsea=0x%04" PRIx32 "", fmbsea | (1 << sector)); LOG_DEBUG("set fmbsea = 0x%04" PRIx32 "", fmbsea | (1 << sector));
} }
else else
{ {
target_read_u32(target, 0xFFE8800C, &fmbseb); target_read_u32(target, 0xFFE8800C, &fmbseb);
target_write_u32(target, 0xFFE8800C, fmbseb | (1 << (sector - 16))); target_write_u32(target, 0xFFE8800C, fmbseb | (1 << (sector - 16)));
LOG_DEBUG("set fmbseb=0x%04" PRIx32 "", fmbseb | (1 << (sector - 16))); LOG_DEBUG("set fmbseb = 0x%04" PRIx32 "", fmbseb | (1 << (sector - 16)));
} }
bank->sectors[sector].is_protected = 0; bank->sectors[sector].is_protected = 0;
@ -816,19 +816,19 @@ static int tms470_erase_sector(struct flash_bank_s *bank, int sector)
if (sector < 16) if (sector < 16)
{ {
target_write_u32(target, 0xFFE88008, fmbsea); target_write_u32(target, 0xFFE88008, fmbsea);
LOG_DEBUG("set fmbsea=0x%04" PRIx32 "", fmbsea); LOG_DEBUG("set fmbsea = 0x%04" PRIx32 "", fmbsea);
bank->sectors[sector].is_protected = fmbsea & (1 << sector) ? 0 : 1; bank->sectors[sector].is_protected = fmbsea & (1 << sector) ? 0 : 1;
} }
else else
{ {
target_write_u32(target, 0xFFE8800C, fmbseb); target_write_u32(target, 0xFFE8800C, fmbseb);
LOG_DEBUG("set fmbseb=0x%04" PRIx32 "", fmbseb); LOG_DEBUG("set fmbseb = 0x%04" PRIx32 "", fmbseb);
bank->sectors[sector].is_protected = fmbseb & (1 << (sector - 16)) ? 0 : 1; bank->sectors[sector].is_protected = fmbseb & (1 << (sector - 16)) ? 0 : 1;
} }
target_write_u32(target, 0xFFE89C00, orig_fmregopt); target_write_u32(target, 0xFFE89C00, orig_fmregopt);
LOG_DEBUG("set fmregopt=0x%08" PRIx32 "", orig_fmregopt); LOG_DEBUG("set fmregopt = 0x%08" PRIx32 "", orig_fmregopt);
target_write_u32(target, 0xFFFFFFDC, glbctrl); target_write_u32(target, 0xFFFFFFDC, glbctrl);
LOG_DEBUG("set glbctrl=0x%08" PRIx32 "", glbctrl); LOG_DEBUG("set glbctrl = 0x%08" PRIx32 "", glbctrl);
if (result == ERROR_OK) if (result == ERROR_OK)
{ {
@ -1028,7 +1028,7 @@ static int tms470_write(struct flash_bank_s *bank, uint8_t * buffer, uint32_t of
if (fmmstat & 0x3ff) if (fmmstat & 0x3ff)
{ {
LOG_ERROR("fmstat=0x%04" PRIx32 "", fmmstat); LOG_ERROR("fmstat = 0x%04" PRIx32 "", fmmstat);
LOG_ERROR("Could not program word 0x%04x at address 0x%08" PRIx32 ".", word, addr); LOG_ERROR("Could not program word 0x%04x at address 0x%08" PRIx32 ".", word, addr);
result = ERROR_FLASH_OPERATION_FAILED; result = ERROR_FLASH_OPERATION_FAILED;
break; break;
@ -1105,7 +1105,7 @@ static int tms470_erase_check(struct flash_bank_s *bank)
target_read_u32(target, 0xFFE8BC04, &fmmac2); target_read_u32(target, 0xFFE8BC04, &fmmac2);
target_write_u32(target, 0xFFE8BC04, (fmmac2 & ~7) | tms470_info->ordinal); target_write_u32(target, 0xFFE8BC04, (fmmac2 & ~7) | tms470_info->ordinal);
/* TCR=0 */ /* TCR = 0 */
target_write_u32(target, 0xFFE8BC10, 0x2fc0); target_write_u32(target, 0xFFE8BC10, 0x2fc0);
/* clear TEZ in fmbrdy */ /* clear TEZ in fmbrdy */

View File

@ -42,7 +42,7 @@ static inline void buf_set_u32(uint8_t* buffer, unsigned int first, unsigned int
{ {
unsigned int i; unsigned int i;
for (i=first; i<first+num; i++) for (i = first; i<first+num; i++)
{ {
if (((value >> (i-first))&1) == 1) if (((value >> (i-first))&1) == 1)
buffer[i/8] |= 1 << (i%8); buffer[i/8] |= 1 << (i%8);
@ -61,7 +61,7 @@ static inline uint32_t buf_get_u32(const uint8_t* buffer, unsigned int first, un
uint32_t result = 0; uint32_t result = 0;
unsigned int i; unsigned int i;
for (i=first; i<first+num; i++) for (i = first; i<first+num; i++)
{ {
if (((buffer[i/8]>>(i%8))&1) == 1) if (((buffer[i/8]>>(i%8))&1) == 1)
result |= 1 << (i-first); result |= 1 << (i-first);

View File

@ -54,7 +54,7 @@ int run_command(command_context_t *context, command_t *c, char *words[], int num
static void tcl_output(void *privData, const char *file, int line, const char *function, const char *string) static void tcl_output(void *privData, const char *file, int line, const char *function, const char *string)
{ {
Jim_Obj *tclOutput=(Jim_Obj *)privData; Jim_Obj *tclOutput = (Jim_Obj *)privData;
Jim_AppendString(interp, tclOutput, string, strlen(string)); Jim_AppendString(interp, tclOutput, string, strlen(string));
} }
@ -108,7 +108,7 @@ static int script_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
for (i = 0; i < argc; i++) for (i = 0; i < argc; i++)
{ {
int len; int len;
const char *w=Jim_GetString(argv[i], &len); const char *w = Jim_GetString(argv[i], &len);
if (*w=='#') if (*w=='#')
{ {
/* hit an end of line comment */ /* hit an end of line comment */
@ -228,26 +228,26 @@ command_t* register_command(command_context_t *context, command_t *parent, char
/* maximum of two levels :-) */ /* maximum of two levels :-) */
if (c->parent != NULL) if (c->parent != NULL)
{ {
t1=c->parent->name; t1 = c->parent->name;
t2="_"; t2="_";
} }
t3=c->name; t3 = c->name;
const char *full_name=alloc_printf("ocd_%s%s%s", t1, t2, t3); const char *full_name = alloc_printf("ocd_%s%s%s", t1, t2, t3);
Jim_CreateCommand(interp, full_name, script_command, c, NULL); Jim_CreateCommand(interp, full_name, script_command, c, NULL);
free((void *)full_name); free((void *)full_name);
/* we now need to add an overrideable proc */ /* we now need to add an overrideable proc */
const char *override_name=alloc_printf("proc %s%s%s {args} {if {[catch {eval ocd_%s%s%s $args}]==0} {return \"\"} else { return -code error }", t1, t2, t3, t1, t2, t3); const char *override_name = alloc_printf("proc %s%s%s {args} {if {[catch {eval ocd_%s%s%s $args}]==0} {return \"\"} else { return -code error }", t1, t2, t3, t1, t2, t3);
Jim_Eval_Named(interp, override_name, __THIS__FILE__, __LINE__ ); Jim_Eval_Named(interp, override_name, __THIS__FILE__, __LINE__ );
free((void *)override_name); free((void *)override_name);
/* accumulate help text in Tcl helptext list. */ /* accumulate help text in Tcl helptext list. */
Jim_Obj *helptext=Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG); Jim_Obj *helptext = Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG);
if (Jim_IsShared(helptext)) if (Jim_IsShared(helptext))
helptext = Jim_DuplicateObj(interp, helptext); helptext = Jim_DuplicateObj(interp, helptext);
Jim_Obj *cmd_entry=Jim_NewListObj(interp, NULL, 0); Jim_Obj *cmd_entry = Jim_NewListObj(interp, NULL, 0);
Jim_Obj *cmd_list=Jim_NewListObj(interp, NULL, 0); Jim_Obj *cmd_list = Jim_NewListObj(interp, NULL, 0);
/* maximum of two levels :-) */ /* maximum of two levels :-) */
if (c->parent != NULL) if (c->parent != NULL)
@ -404,7 +404,7 @@ void command_print(command_context_t *context, const char *format, ...)
int run_command(command_context_t *context, command_t *c, char *words[], int num_words) int run_command(command_context_t *context, command_t *c, char *words[], int num_words)
{ {
int start_word=0; int start_word = 0;
if (!((context->mode == COMMAND_CONFIG) || (c->mode == COMMAND_ANY) || (c->mode == context->mode) )) if (!((context->mode == COMMAND_CONFIG) || (c->mode == COMMAND_ANY) || (c->mode == context->mode) ))
{ {
/* Config commands can not run after the config stage */ /* Config commands can not run after the config stage */
@ -422,10 +422,10 @@ int run_command(command_context_t *context, command_t *c, char *words[], int num
/* maximum of two levels :-) */ /* maximum of two levels :-) */
if (c->parent != NULL) if (c->parent != NULL)
{ {
t1=c->parent->name; t1 = c->parent->name;
t2=" "; t2=" ";
} }
t3=c->name; t3 = c->name;
command_run_linef(context, "help {%s%s%s}", t1, t2, t3); command_run_linef(context, "help {%s%s%s}", t1, t2, t3);
} }
else if (retval == ERROR_COMMAND_CLOSE_CONNECTION) else if (retval == ERROR_COMMAND_CLOSE_CONNECTION)
@ -450,7 +450,7 @@ int command_run_line(command_context_t *context, char *line)
* results * results
*/ */
/* run the line thru a script engine */ /* run the line thru a script engine */
int retval=ERROR_FAIL; int retval = ERROR_FAIL;
int retcode; int retcode;
/* Beware! This code needs to be reentrant. It is also possible /* Beware! This code needs to be reentrant. It is also possible
* for OpenOCD commands to be invoked directly from Tcl. This would * for OpenOCD commands to be invoked directly from Tcl. This would
@ -508,21 +508,21 @@ int command_run_line(command_context_t *context, char *line)
} }
LOG_USER_N("%s", "\n"); LOG_USER_N("%s", "\n");
} }
retval=ERROR_OK; retval = ERROR_OK;
} }
return retval; return retval;
} }
int command_run_linef(command_context_t *context, const char *format, ...) int command_run_linef(command_context_t *context, const char *format, ...)
{ {
int retval=ERROR_FAIL; int retval = ERROR_FAIL;
char *string; char *string;
va_list ap; va_list ap;
va_start(ap, format); va_start(ap, format);
string = alloc_vprintf(format, ap); string = alloc_vprintf(format, ap);
if (string != NULL) if (string != NULL)
{ {
retval=command_run_line(context, string); retval = command_run_line(context, string);
} }
va_end(ap); va_end(ap);
return retval; return retval;
@ -837,13 +837,13 @@ void register_jim(struct command_context_s *cmd_ctx, const char *name, int (*cmd
/* FIX!!! it would be prettier to invoke add_help_text... /* FIX!!! it would be prettier to invoke add_help_text...
* accumulate help text in Tcl helptext list. */ * accumulate help text in Tcl helptext list. */
Jim_Obj *helptext=Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG); Jim_Obj *helptext = Jim_GetGlobalVariableStr(interp, "ocd_helptext", JIM_ERRMSG);
if (Jim_IsShared(helptext)) if (Jim_IsShared(helptext))
helptext = Jim_DuplicateObj(interp, helptext); helptext = Jim_DuplicateObj(interp, helptext);
Jim_Obj *cmd_entry=Jim_NewListObj(interp, NULL, 0); Jim_Obj *cmd_entry = Jim_NewListObj(interp, NULL, 0);
Jim_Obj *cmd_list=Jim_NewListObj(interp, NULL, 0); Jim_Obj *cmd_list = Jim_NewListObj(interp, NULL, 0);
Jim_ListAppendElement(interp, cmd_list, Jim_NewStringObj(interp, name, -1)); Jim_ListAppendElement(interp, cmd_list, Jim_NewStringObj(interp, name, -1));
Jim_ListAppendElement(interp, cmd_entry, cmd_list); Jim_ListAppendElement(interp, cmd_entry, cmd_list);
@ -854,7 +854,7 @@ void register_jim(struct command_context_s *cmd_ctx, const char *name, int (*cmd
/* return global variable long value or 0 upon failure */ /* return global variable long value or 0 upon failure */
long jim_global_long(const char *variable) long jim_global_long(const char *variable)
{ {
Jim_Obj *objPtr=Jim_GetGlobalVariableStr(interp, variable, JIM_ERRMSG); Jim_Obj *objPtr = Jim_GetGlobalVariableStr(interp, variable, JIM_ERRMSG);
long t; long t;
if (Jim_GetLong(interp, objPtr, &t) == JIM_OK) if (Jim_GetLong(interp, objPtr, &t) == JIM_OK)
{ {

View File

@ -93,7 +93,7 @@ FILE *open_file_from_path (char *file, char *mode)
return fopen(file, mode); return fopen(file, mode);
} else } else
{ {
char *full_path=find_file(file); char *full_path = find_file(file);
if (full_path == NULL) if (full_path == NULL)
return NULL; return NULL;
FILE *fp = NULL; FILE *fp = NULL;
@ -115,7 +115,7 @@ int parse_config_file(struct command_context_s *cmd_ctx)
while (*cfg) while (*cfg)
{ {
retval=command_run_line(cmd_ctx, *cfg); retval = command_run_line(cmd_ctx, *cfg);
if (retval != ERROR_OK) if (retval != ERROR_OK)
return retval; return retval;
cfg++; cfg++;

View File

@ -215,7 +215,7 @@ int handle_append_command(struct command_context_s *cmd_ctx, char *cmd,
return ERROR_INVALID_ARGUMENTS; return ERROR_INVALID_ARGUMENTS;
} }
int retval=ERROR_FAIL; int retval = ERROR_FAIL;
FILE *config_file = NULL; FILE *config_file = NULL;
config_file = fopen(args[0], "a"); config_file = fopen(args[0], "a");
if (config_file != NULL) if (config_file != NULL)
@ -235,7 +235,7 @@ int handle_append_command(struct command_context_s *cmd_ctx, char *cmd,
} }
if ((i == argc) && (fwrite("\n", 1, 1, config_file) == 1)) if ((i == argc) && (fwrite("\n", 1, 1, config_file) == 1))
{ {
retval=ERROR_OK; retval = ERROR_OK;
} }
fclose(config_file); fclose(config_file);
} }

View File

@ -504,7 +504,7 @@ static jim_wide JimPowWide(jim_wide b, jim_wide e)
{ {
jim_wide i, res = 1; jim_wide i, res = 1;
if ((b == 0 && e != 0) || (e<0)) return 0; if ((b == 0 && e != 0) || (e<0)) return 0;
for (i=0; i<e; i++) {res *= b;} for (i = 0; i<e; i++) {res *= b;}
return res; return res;
} }
@ -569,7 +569,7 @@ void *Jim_Alloc(int size)
{ {
/* We allocate zero length arrayes, etc. to use a single orthogonal codepath */ /* We allocate zero length arrayes, etc. to use a single orthogonal codepath */
if (size == 0) if (size == 0)
size=1; size = 1;
void *p = malloc(size); void *p = malloc(size);
if (p == NULL) if (p == NULL)
Jim_Panic(NULL,"malloc: Out of memory"); Jim_Panic(NULL,"malloc: Out of memory");
@ -584,7 +584,7 @@ void *Jim_Realloc(void *ptr, int size)
{ {
/* We allocate zero length arrayes, etc. to use a single orthogonal codepath */ /* We allocate zero length arrayes, etc. to use a single orthogonal codepath */
if (size == 0) if (size == 0)
size=1; size = 1;
void *p = realloc(ptr, size); void *p = realloc(ptr, size);
if (p == NULL) if (p == NULL)
Jim_Panic(NULL,"realloc: Out of memory"); Jim_Panic(NULL,"realloc: Out of memory");
@ -2521,8 +2521,8 @@ static Jim_Obj *Jim_FormatString_Inner(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr, Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
int objc, Jim_Obj *const *objv) int objc, Jim_Obj *const *objv)
{ {
char *sprintf_buf=malloc(JIM_MAX_FMT); char *sprintf_buf = malloc(JIM_MAX_FMT);
Jim_Obj *t=Jim_FormatString_Inner(interp, fmtObjPtr, objc, objv, sprintf_buf); Jim_Obj *t = Jim_FormatString_Inner(interp, fmtObjPtr, objc, objv, sprintf_buf);
free(sprintf_buf); free(sprintf_buf);
return t; return t;
} }
@ -5366,7 +5366,7 @@ void ListInsertElements(Jim_Obj *listPtr, int index, int elemc,
} }
point = listPtr->internalRep.listValue.ele + index; point = listPtr->internalRep.listValue.ele + index;
memmove(point+elemc, point, (currentLen-index) * sizeof(Jim_Obj*)); memmove(point+elemc, point, (currentLen-index) * sizeof(Jim_Obj*));
for (i=0; i < elemc; ++i) { for (i = 0; i < elemc; ++i) {
point[i] = elemVec[i]; point[i] = elemVec[i];
Jim_IncrRefCount(point[i]); Jim_IncrRefCount(point[i]);
} }
@ -7335,7 +7335,7 @@ static int SetScanFmtFromAny(Jim_Interp *interp, Jim_Obj *objPtr)
Jim_FreeIntRep(interp, objPtr); Jim_FreeIntRep(interp, objPtr);
/* Count how many conversions could take place maximally */ /* Count how many conversions could take place maximally */
for (i=0, maxCount=0; i < maxFmtLen; ++i) for (i = 0, maxCount = 0; i < maxFmtLen; ++i)
if (fmt[i] == '%') if (fmt[i] == '%')
++maxCount; ++maxCount;
/* Calculate an approximation of the memory necessary */ /* Calculate an approximation of the memory necessary */
@ -7356,8 +7356,8 @@ static int SetScanFmtFromAny(Jim_Interp *interp, Jim_Obj *objPtr)
buffer = fmtObj->stringRep + maxFmtLen + 1; buffer = fmtObj->stringRep + maxFmtLen + 1;
objPtr->internalRep.ptr = fmtObj; objPtr->internalRep.ptr = fmtObj;
objPtr->typePtr = &scanFmtStringObjType; objPtr->typePtr = &scanFmtStringObjType;
for (i=0, curr=0; fmt < fmtEnd; ++fmt) { for (i = 0, curr = 0; fmt < fmtEnd; ++fmt) {
int width=0, skip; int width = 0, skip;
ScanFmtPartDescr *descr = &fmtObj->descr[curr]; ScanFmtPartDescr *descr = &fmtObj->descr[curr];
fmtObj->count++; fmtObj->count++;
descr->width = 0; /* Assume width unspecified */ descr->width = 0; /* Assume width unspecified */
@ -7401,7 +7401,7 @@ static int SetScanFmtFromAny(Jim_Interp *interp, Jim_Obj *objPtr)
return JIM_ERR; return JIM_ERR;
} }
/* Look if this position was already used */ /* Look if this position was already used */
for (prev=0; prev < curr; ++prev) { for (prev = 0; prev < curr; ++prev) {
if (fmtObj->descr[prev].pos == -1) continue; if (fmtObj->descr[prev].pos == -1) continue;
if (fmtObj->descr[prev].pos == descr->pos) { if (fmtObj->descr[prev].pos == descr->pos) {
fmtObj->error = "same \"%n$\" conversion specifier " fmtObj->error = "same \"%n$\" conversion specifier "
@ -7442,7 +7442,7 @@ static int SetScanFmtFromAny(Jim_Interp *interp, Jim_Obj *objPtr)
/* In case a range fence was given "backwards", swap it */ /* In case a range fence was given "backwards", swap it */
while (swapped) { while (swapped) {
swapped = 0; swapped = 0;
for (j=beg+1; j < end-1; ++j) { for (j = beg+1; j < end-1; ++j) {
if (buffer[j] == '-' && buffer[j-1] > buffer[j+1]) { if (buffer[j] == '-' && buffer[j-1] > buffer[j+1]) {
char tmp = buffer[j-1]; char tmp = buffer[j-1];
buffer[j-1] = buffer[j+1]; buffer[j-1] = buffer[j+1];
@ -7550,7 +7550,7 @@ JimScanAString(Jim_Interp *interp, const char *sdescr, const char *str)
if (sdescr[1] == '-' && sdescr[2] != 0) { if (sdescr[1] == '-' && sdescr[2] != 0) {
/* Handle range definitions */ /* Handle range definitions */
int i; int i;
for (i=sdescr[0]; i <= sdescr[2]; ++i) for (i = sdescr[0]; i <= sdescr[2]; ++i)
JimSetBit(charset, (char)i); JimSetBit(charset, (char)i);
sdescr += 3; sdescr += 3;
} else { } else {
@ -7559,7 +7559,7 @@ JimScanAString(Jim_Interp *interp, const char *sdescr, const char *str)
} }
} }
/* Negate the charset if there was a NOT given */ /* Negate the charset if there was a NOT given */
for (i=0; notFlag && i < sizeof(charset); ++i) for (i = 0; notFlag && i < sizeof(charset); ++i)
charset[i] = ~charset[i]; charset[i] = ~charset[i];
} }
/* And after all the mess above, the real work begin ... */ /* And after all the mess above, the real work begin ... */
@ -7600,7 +7600,7 @@ static int ScanOneEntry(Jim_Interp *interp, const char *str, long pos,
if (descr->prefix) { if (descr->prefix) {
/* There was a prefix given before the conversion, skip it and adjust /* There was a prefix given before the conversion, skip it and adjust
* the string-to-be-parsed accordingly */ * the string-to-be-parsed accordingly */
for (i=0; str[pos] && descr->prefix[i]; ++i) { for (i = 0; str[pos] && descr->prefix[i]; ++i) {
/* If prefix require, skip WS */ /* If prefix require, skip WS */
if (isspace((int)descr->prefix[i])) if (isspace((int)descr->prefix[i]))
while (str[pos] && isspace((int)str[pos])) ++pos; while (str[pos] && isspace((int)str[pos])) ++pos;
@ -7757,12 +7757,12 @@ Jim_Obj *Jim_ScanString(Jim_Interp *interp, Jim_Obj *strObjPtr,
/* Create a list and fill it with empty strings up to max specified XPG3 */ /* Create a list and fill it with empty strings up to max specified XPG3 */
resultList = Jim_NewListObj(interp, 0, 0); resultList = Jim_NewListObj(interp, 0, 0);
if (fmtObj->maxPos > 0) { if (fmtObj->maxPos > 0) {
for (i=0; i < fmtObj->maxPos; ++i) for (i = 0; i < fmtObj->maxPos; ++i)
Jim_ListAppendElement(interp, resultList, emptyStr); Jim_ListAppendElement(interp, resultList, emptyStr);
JimListGetElements(interp, resultList, &resultc, &resultVec); JimListGetElements(interp, resultList, &resultc, &resultVec);
} }
/* Now handle every partial format description */ /* Now handle every partial format description */
for (i=0, pos=0; i < fmtObj->count; ++i) { for (i = 0, pos = 0; i < fmtObj->count; ++i) {
ScanFmtPartDescr *descr = &(fmtObj->descr[i]); ScanFmtPartDescr *descr = &(fmtObj->descr[i]);
Jim_Obj *value = 0; Jim_Obj *value = 0;
/* Only last type may be "literal" w/o conversion - skip it! */ /* Only last type may be "literal" w/o conversion - skip it! */
@ -8960,8 +8960,8 @@ int Jim_EvalFile(Jim_Interp *interp, const char *filename)
Jim_Obj *scriptObjPtr; Jim_Obj *scriptObjPtr;
if ((fp = fopen(filename, "r")) == NULL) { if ((fp = fopen(filename, "r")) == NULL) {
const int cwd_len=2048; const int cwd_len = 2048;
char *cwd=malloc(cwd_len); char *cwd = malloc(cwd_len);
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp)); Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
if (!getcwd( cwd, cwd_len )) strcpy(cwd, "unknown"); if (!getcwd( cwd, cwd_len )) strcpy(cwd, "unknown");
Jim_AppendStrings(interp, Jim_GetResult(interp), Jim_AppendStrings(interp, Jim_GetResult(interp),
@ -10203,7 +10203,7 @@ static int JimForeachMapHelper(Jim_Interp *interp, int argc,
/* Initialize iterators and remember max nbr elements each list */ /* Initialize iterators and remember max nbr elements each list */
memset(listsIdx, 0, nbrOfLists * sizeof(int)); memset(listsIdx, 0, nbrOfLists * sizeof(int));
/* Remember lengths of all lists and calculate how much rounds to loop */ /* Remember lengths of all lists and calculate how much rounds to loop */
for (i=0; i < nbrOfLists*2; i += 2) { for (i = 0; i < nbrOfLists*2; i += 2) {
div_t cnt; div_t cnt;
int count; int count;
Jim_ListLength(interp, argv[i+1], &listsEnd[i]); Jim_ListLength(interp, argv[i+1], &listsEnd[i]);
@ -10218,7 +10218,7 @@ static int JimForeachMapHelper(Jim_Interp *interp, int argc,
nbrOfLoops = count; nbrOfLoops = count;
} }
for (; nbrOfLoops-- > 0; ) { for (; nbrOfLoops-- > 0; ) {
for (i=0; i < nbrOfLists; ++i) { for (i = 0; i < nbrOfLists; ++i) {
int varIdx = 0, var = i * 2; int varIdx = 0, var = i * 2;
while (varIdx < listsEnd[var]) { while (varIdx < listsEnd[var]) {
Jim_Obj *varName, *ele; Jim_Obj *varName, *ele;
@ -10340,11 +10340,11 @@ enum {SWITCH_EXACT, SWITCH_GLOB, SWITCH_RE, SWITCH_CMD, SWITCH_UNKNOWN};
static int Jim_SwitchCoreCommand(Jim_Interp *interp, int argc, static int Jim_SwitchCoreCommand(Jim_Interp *interp, int argc,
Jim_Obj *const *argv) Jim_Obj *const *argv)
{ {
int retcode = JIM_ERR, matchOpt = SWITCH_EXACT, opt=1, patCount, i; int retcode = JIM_ERR, matchOpt = SWITCH_EXACT, opt = 1, patCount, i;
Jim_Obj *command = 0, *const *caseList = 0, *strObj; Jim_Obj *command = 0, *const *caseList = 0, *strObj;
Jim_Obj *script = 0; Jim_Obj *script = 0;
if (argc < 3) goto wrongnumargs; if (argc < 3) goto wrongnumargs;
for (opt=1; opt < argc; ++opt) { for (opt = 1; opt < argc; ++opt) {
const char *option = Jim_GetString(argv[opt], 0); const char *option = Jim_GetString(argv[opt], 0);
if (*option != '-') break; if (*option != '-') break;
else if (strncmp(option, "--", 2) == 0) { ++opt; break; } else if (strncmp(option, "--", 2) == 0) { ++opt; break; }
@ -10372,7 +10372,7 @@ static int Jim_SwitchCoreCommand(Jim_Interp *interp, int argc,
} else } else
caseList = &argv[opt]; caseList = &argv[opt];
if (patCount == 0 || patCount % 2 != 0) goto wrongnumargs; if (patCount == 0 || patCount % 2 != 0) goto wrongnumargs;
for (i=0; script == 0 && i < patCount; i += 2) { for (i = 0; script == 0 && i < patCount; i += 2) {
Jim_Obj *patObj = caseList[i]; Jim_Obj *patObj = caseList[i];
if (!Jim_CompareStringImmediate(interp, patObj, "default") if (!Jim_CompareStringImmediate(interp, patObj, "default")
|| i < (patCount-2)) { || i < (patCount-2)) {

View File

@ -575,7 +575,7 @@ typedef struct Jim_Reference {
* known string, or there may be multiple strings (aliases) that mean then same * known string, or there may be multiple strings (aliases) that mean then same
* thing. * thing.
* *
* An NVP Table is terminated with ".name=NULL". * An NVP Table is terminated with ".name = NULL".
* *
* During the 'name2value' operation, if no matching string is found * During the 'name2value' operation, if no matching string is found
* the pointer to the terminal element (with p->name == NULL) is returned. * the pointer to the terminal element (with p->name == NULL) is returned.
@ -966,7 +966,7 @@ JIM_STATIC const char *JIM_API( Jim_Debug_ArgvString )( Jim_Interp *interp, int
* Usefull when dealing with command options. * Usefull when dealing with command options.
* that may come in any order... * that may come in any order...
* *
* Does not support "-foo=123" type options. * Does not support "-foo = 123" type options.
* Only supports tcl type options, like "-foo 123" * Only supports tcl type options, like "-foo 123"
*/ */
@ -1097,7 +1097,7 @@ JIM_STATIC int JIM_API( Jim_GetOpt_Nvp)( Jim_GetOptInfo *goi, const Jim_Nvp *loo
* *
* This function assumes the previous option argv[-1] is the unknown string. * This function assumes the previous option argv[-1] is the unknown string.
* *
* If this option had some prefix, then pass "hadprefix=1" else pass "hadprefix=0" * If this option had some prefix, then pass "hadprefix = 1" else pass "hadprefix = 0"
* *
* Example: * Example:
* \code * \code
@ -1107,7 +1107,7 @@ JIM_STATIC int JIM_API( Jim_GetOpt_Nvp)( Jim_GetOptInfo *goi, const Jim_Nvp *loo
* e = Jim_GetOpt_Nvp( &goi, cmd_options, &n ); * e = Jim_GetOpt_Nvp( &goi, cmd_options, &n );
* if ( e != JIM_OK ){ * if ( e != JIM_OK ){
* // option was not recognized * // option was not recognized
* // pass 'hadprefix=0' because there is no prefix * // pass 'hadprefix = 0' because there is no prefix
* Jim_GetOpt_NvpUnknown( &goi, cmd_options, 0 ); * Jim_GetOpt_NvpUnknown( &goi, cmd_options, 0 );
* return e; * return e;
* } * }

View File

@ -94,7 +94,7 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
if (debug_level >= LOG_LVL_DEBUG) if (debug_level >= LOG_LVL_DEBUG)
{ {
/* print with count and time information */ /* print with count and time information */
int t=(int)(timeval_ms()-start); int t = (int)(timeval_ms()-start);
#ifdef _DEBUG_FREE_SPACE_ #ifdef _DEBUG_FREE_SPACE_
struct mallinfo info; struct mallinfo info;
info = mallinfo(); info = mallinfo();
@ -136,9 +136,9 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch
/* DANGER!!!! the log callback can remove itself!!!! */ /* DANGER!!!! the log callback can remove itself!!!! */
while (cb) while (cb)
{ {
next=cb->next; next = cb->next;
cb->fn(cb->priv, file, line, function, string); cb->fn(cb->priv, file, line, function, string);
cb=next; cb = next;
} }
} }
} }
@ -259,7 +259,7 @@ int log_init(struct command_context_s *cmd_ctx)
log_output = stderr; log_output = stderr;
} }
start=last_time=timeval_ms(); start = last_time = timeval_ms();
return ERROR_OK; return ERROR_OK;
} }
@ -383,7 +383,7 @@ char *alloc_printf(const char *format, ...)
*/ */
void keep_alive() void keep_alive()
{ {
current_time=timeval_ms(); current_time = timeval_ms();
if (current_time-last_time>1000) if (current_time-last_time>1000)
{ {
extern int gdb_actual_connections; extern int gdb_actual_connections;
@ -413,28 +413,28 @@ void keep_alive()
* These functions should be invoked at a well defined spot in server.c * These functions should be invoked at a well defined spot in server.c
*/ */
last_time=current_time; last_time = current_time;
} }
} }
/* reset keep alive timer without sending message */ /* reset keep alive timer without sending message */
void kept_alive() void kept_alive()
{ {
current_time=timeval_ms(); current_time = timeval_ms();
last_time=current_time; last_time = current_time;
} }
/* if we sleep for extended periods of time, we must invoke keep_alive() intermittantly */ /* if we sleep for extended periods of time, we must invoke keep_alive() intermittantly */
void alive_sleep(int ms) void alive_sleep(int ms)
{ {
int i; int i;
int napTime=10; int napTime = 10;
for (i=0; i<ms; i += napTime) for (i = 0; i<ms; i += napTime)
{ {
int sleep_a_bit=ms-i; int sleep_a_bit = ms-i;
if (sleep_a_bit>napTime) if (sleep_a_bit>napTime)
{ {
sleep_a_bit=napTime; sleep_a_bit = napTime;
} }
usleep(sleep_a_bit*1000); usleep(sleep_a_bit*1000);
keep_alive(); keep_alive();
@ -444,7 +444,7 @@ void alive_sleep(int ms)
void busy_sleep(int ms) void busy_sleep(int ms)
{ {
long long then; long long then;
then=timeval_ms(); then = timeval_ms();
while ((timeval_ms()-then)<ms) while ((timeval_ms()-then)<ms)
{ {
/* busy wait */ /* busy wait */

View File

@ -70,7 +70,7 @@ int add_default_dirs(void)
/* Either this code will *always* work or it will SEGFAULT giving /* Either this code will *always* work or it will SEGFAULT giving
* excellent information on the culprit. * excellent information on the culprit.
*/ */
*strrchr(strExePath, '\\')=0; *strrchr(strExePath, '\\') = 0;
strcat(strExePath, "\\.."); strcat(strExePath, "\\..");
add_script_search_dir(strExePath); add_script_search_dir(strExePath);
} }
@ -88,9 +88,9 @@ int add_default_dirs(void)
char strExePath [MAX_PATH]; char strExePath [MAX_PATH];
char *p; char *p;
GetModuleFileName (NULL, strExePath, MAX_PATH); GetModuleFileName (NULL, strExePath, MAX_PATH);
*strrchr(strExePath, '\\')=0; *strrchr(strExePath, '\\') = 0;
strcat(strExePath, "/../lib/"PACKAGE); strcat(strExePath, "/../lib/"PACKAGE);
for (p=strExePath; *p; p++) { for (p = strExePath; *p; p++) {
if (*p == '\\') if (*p == '\\')
*p = '/'; *p = '/';
} }

View File

@ -99,7 +99,7 @@ int duration_stop_measure(duration_t *duration, char **text)
if (text) if (text)
{ {
float t; float t;
t=duration->duration.tv_sec; t = duration->duration.tv_sec;
t += (float)duration->duration.tv_usec/1000000.0; t += (float)duration->duration.tv_usec/1000000.0;
*text = malloc(100); *text = malloc(100);
snprintf(*text, 100, "%fs", t); snprintf(*text, 100, "%fs", t);
@ -111,7 +111,7 @@ int duration_stop_measure(duration_t *duration, char **text)
long long timeval_ms() long long timeval_ms()
{ {
struct timeval now; struct timeval now;
long long t=0; long long t = 0;
gettimeofday(&now, NULL); gettimeofday(&now, NULL);
t += now.tv_usec/1000; t += now.tv_usec/1000;

View File

@ -47,7 +47,7 @@ bitbang_interface_t *bitbang_interface;
* *
* If someone can submit a patch with an explanation it will be greatly * If someone can submit a patch with an explanation it will be greatly
* appreciated, but as far as I can tell (ØH) DCLK is generated upon * appreciated, but as far as I can tell (ØH) DCLK is generated upon
* clk=0 in TAP_IDLE. Good luck deducing that from the ARM documentation! * clk = 0 in TAP_IDLE. Good luck deducing that from the ARM documentation!
* The ARM documentation uses the term "DCLK is asserted while in the TAP_IDLE * The ARM documentation uses the term "DCLK is asserted while in the TAP_IDLE
* state". With hardware there is no such thing as *while* in a state. There * state". With hardware there is no such thing as *while* in a state. There
* are only edges. So clk => 0 is in fact a very subtle state transition that * are only edges. So clk => 0 is in fact a very subtle state transition that
@ -76,7 +76,7 @@ static void bitbang_end_state(tap_state_t state)
static void bitbang_state_move(int skip) static void bitbang_state_move(int skip)
{ {
int i=0, tms=0; int i = 0, tms = 0;
uint8_t tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); uint8_t tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state()); int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
@ -188,24 +188,24 @@ static void bitbang_scan(bool ir_scan, enum scan_type type, uint8_t *buffer, int
for (bit_cnt = 0; bit_cnt < scan_size; bit_cnt++) for (bit_cnt = 0; bit_cnt < scan_size; bit_cnt++)
{ {
int val=0; int val = 0;
int tms=(bit_cnt == scan_size-1) ? 1 : 0; int tms = (bit_cnt == scan_size-1) ? 1 : 0;
int tdi; int tdi;
int bytec=bit_cnt/8; int bytec = bit_cnt/8;
int bcval=1 << (bit_cnt % 8); int bcval = 1 << (bit_cnt % 8);
/* if we're just reading the scan, but don't care about the output /* if we're just reading the scan, but don't care about the output
* default to outputting 'low', this also makes valgrind traces more readable, * default to outputting 'low', this also makes valgrind traces more readable,
* as it removes the dependency on an uninitialised value * as it removes the dependency on an uninitialised value
*/ */
tdi=0; tdi = 0;
if ((type != SCAN_IN) && (buffer[bytec] & bcval)) if ((type != SCAN_IN) && (buffer[bytec] & bcval))
tdi=1; tdi = 1;
bitbang_interface->write(0, tms, tdi); bitbang_interface->write(0, tms, tdi);
if (type != SCAN_OUT) if (type != SCAN_OUT)
val=bitbang_interface->read(); val = bitbang_interface->read();
bitbang_interface->write(1, tms, tdi); bitbang_interface->write(1, tms, tdi);

View File

@ -117,7 +117,7 @@ void* cmd_queue_alloc(size_t size)
offset = (*p_page)->used; offset = (*p_page)->used;
(*p_page)->used += size; (*p_page)->used += size;
t=(uint8_t *)((*p_page)->address); t = (uint8_t *)((*p_page)->address);
return t + offset; return t + offset;
} }

View File

@ -90,9 +90,9 @@ typedef struct stableclocks_command_s
typedef struct reset_command_s typedef struct reset_command_s
{ {
/// Set TRST output: 0=deassert, 1=assert, -1=no change /// Set TRST output: 0 = deassert, 1 = assert, -1 = no change
int trst; int trst;
/// Set SRST output: 0=deassert, 1=assert, -1=no change /// Set SRST output: 0 = deassert, 1 = assert, -1 = no change
int srst; int srst;
} reset_command_t; } reset_command_t;

View File

@ -333,8 +333,8 @@ void jtag_add_ir_scan(int in_num_fields, scan_field_t *in_fields, tap_state_t st
/* if we are to run a verification of the ir scan, we need to get the input back. /* if we are to run a verification of the ir scan, we need to get the input back.
* We may have to allocate space if the caller didn't ask for the input back. * We may have to allocate space if the caller didn't ask for the input back.
*/ */
in_fields[j].check_value=in_fields[j].tap->expected; in_fields[j].check_value = in_fields[j].tap->expected;
in_fields[j].check_mask=in_fields[j].tap->expected_mask; in_fields[j].check_mask = in_fields[j].tap->expected_mask;
} }
jtag_add_scan_check(jtag_add_ir_scan_noverify, in_num_fields, in_fields, state); jtag_add_scan_check(jtag_add_ir_scan_noverify, in_num_fields, in_fields, state);
} else } else
@ -754,7 +754,7 @@ void jtag_check_value_mask(scan_field_t *field, uint8_t *value, uint8_t *mask)
jtag_execute_queue_noclear(); jtag_execute_queue_noclear();
int retval=jtag_check_value_inner(field->in_value, value, mask, field->num_bits); int retval = jtag_check_value_inner(field->in_value, value, mask, field->num_bits);
jtag_set_error(retval); jtag_set_error(retval);
} }
@ -1157,7 +1157,7 @@ static int jtag_init_inner(struct command_context_s *cmd_ctx)
} }
jtag_add_tlr(); jtag_add_tlr();
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
/* examine chain first, as this could discover the real chain layout */ /* examine chain first, as this could discover the real chain layout */
@ -1192,7 +1192,7 @@ int jtag_init_reset(struct command_context_s *cmd_ctx)
{ {
int retval; int retval;
if ((retval=jtag_interface_init(cmd_ctx)) != ERROR_OK) if ((retval = jtag_interface_init(cmd_ctx)) != ERROR_OK)
return retval; return retval;
LOG_DEBUG("Trying to bring the JTAG controller to life by asserting TRST / RESET"); LOG_DEBUG("Trying to bring the JTAG controller to life by asserting TRST / RESET");
@ -1236,7 +1236,7 @@ int jtag_init_reset(struct command_context_s *cmd_ctx)
int jtag_init(struct command_context_s *cmd_ctx) int jtag_init(struct command_context_s *cmd_ctx)
{ {
int retval; int retval;
if ((retval=jtag_interface_init(cmd_ctx)) != ERROR_OK) if ((retval = jtag_interface_init(cmd_ctx)) != ERROR_OK)
return retval; return retval;
if (jtag_init_inner(cmd_ctx) == ERROR_OK) if (jtag_init_inner(cmd_ctx) == ERROR_OK)
{ {

View File

@ -467,23 +467,23 @@ int interface_jtag_add_sleep(uint32_t us)
/* add callback to end of queue */ /* add callback to end of queue */
void interface_jtag_add_callback4(jtag_callback_t callback, jtag_callback_data_t data0, jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t data3) void interface_jtag_add_callback4(jtag_callback_t callback, jtag_callback_data_t data0, jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t data3)
{ {
struct jtag_callback_entry *entry=cmd_queue_alloc(sizeof(struct jtag_callback_entry)); struct jtag_callback_entry *entry = cmd_queue_alloc(sizeof(struct jtag_callback_entry));
entry->next=NULL; entry->next = NULL;
entry->callback=callback; entry->callback = callback;
entry->data0=data0; entry->data0 = data0;
entry->data1=data1; entry->data1 = data1;
entry->data2=data2; entry->data2 = data2;
entry->data3=data3; entry->data3 = data3;
if (jtag_callback_queue_head == NULL) if (jtag_callback_queue_head == NULL)
{ {
jtag_callback_queue_head=entry; jtag_callback_queue_head = entry;
jtag_callback_queue_tail=entry; jtag_callback_queue_tail = entry;
} else } else
{ {
jtag_callback_queue_tail->next=entry; jtag_callback_queue_tail->next = entry;
jtag_callback_queue_tail=entry; jtag_callback_queue_tail = entry;
} }
} }
@ -493,9 +493,9 @@ int interface_jtag_execute_queue(void)
if (retval == ERROR_OK) if (retval == ERROR_OK)
{ {
struct jtag_callback_entry *entry; struct jtag_callback_entry *entry;
for (entry=jtag_callback_queue_head; entry != NULL; entry=entry->next) for (entry = jtag_callback_queue_head; entry != NULL; entry = entry->next)
{ {
retval=entry->callback(entry->data0, entry->data1, entry->data2, entry->data3); retval = entry->callback(entry->data0, entry->data1, entry->data2, entry->data3);
if (retval != ERROR_OK) if (retval != ERROR_OK)
break; break;
} }

View File

@ -133,11 +133,11 @@ static int dummy_khz(int khz, int *jtag_speed)
{ {
if (khz == 0) if (khz == 0)
{ {
*jtag_speed=0; *jtag_speed = 0;
} }
else else
{ {
*jtag_speed=64000/khz; *jtag_speed = 64000/khz;
} }
return ERROR_OK; return ERROR_OK;
} }
@ -150,7 +150,7 @@ static int dummy_speed_div(int speed, int *khz)
} }
else else
{ {
*khz=64000/speed; *khz = 64000/speed;
} }
return ERROR_OK; return ERROR_OK;

View File

@ -257,7 +257,7 @@ static void clock_tms(uint8_t mpsse_cmd, int tms_bits, int tms_count, bool tdi_b
assert(tms_count > 0); assert(tms_count > 0);
// LOG_DEBUG("mpsse cmd=%02x, tms_bits=0x%08x, bit_count=%d", mpsse_cmd, tms_bits, tms_count); // LOG_DEBUG("mpsse cmd=%02x, tms_bits = 0x%08x, bit_count=%d", mpsse_cmd, tms_bits, tms_count);
for (tms_byte = tms_ndx = i = 0; i < tms_count; ++i, tms_bits>>=1) for (tms_byte = tms_ndx = i = 0; i < tms_count; ++i, tms_bits>>=1)
{ {
@ -470,7 +470,7 @@ static int ft2232_speed(int speed)
ft2232_adaptive_clocking(speed); ft2232_adaptive_clocking(speed);
buf[0] = 0x86; /* command "set divisor" */ buf[0] = 0x86; /* command "set divisor" */
buf[1] = speed & 0xff; /* valueL (0=6MHz, 1=3MHz, 2=2.0MHz, ...*/ buf[1] = speed & 0xff; /* valueL (0 = 6MHz, 1 = 3MHz, 2 = 2.0MHz, ...*/
buf[2] = (speed >> 8) & 0xff; /* valueH */ buf[2] = (speed >> 8) & 0xff; /* valueH */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
@ -623,8 +623,8 @@ static int ft2232_send_and_recv(jtag_command_t* first, jtag_command_t* last)
int scan_size; int scan_size;
enum scan_type type; enum scan_type type;
int retval; int retval;
uint32_t bytes_written=0; uint32_t bytes_written = 0;
uint32_t bytes_read=0; uint32_t bytes_read = 0;
#ifdef _DEBUG_USB_IO_ #ifdef _DEBUG_USB_IO_
struct timeval start, inter, inter2, end; struct timeval start, inter, inter2, end;
@ -2194,8 +2194,8 @@ static int usbjtag_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, xRST high) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, xRST high) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2218,8 +2218,8 @@ static int axm0432_jtag_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2289,8 +2289,8 @@ static int jtagkey_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2372,8 +2372,8 @@ static int olimex_jtag_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2440,8 +2440,8 @@ static int flyswatter_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE[12]=out, n[ST]srst=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE[12]=out, n[ST]srst = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2487,8 +2487,8 @@ static int turtle_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2528,8 +2528,8 @@ static int comstick_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2572,8 +2572,8 @@ static int stm32stick_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2616,8 +2616,8 @@ static int sheevaplug_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))
@ -2667,8 +2667,8 @@ static int cortino_jtag_init(void)
/* initialize low byte for jtag */ /* initialize low byte for jtag */
buf[0] = 0x80; /* command "set data bits low byte" */ buf[0] = 0x80; /* command "set data bits low byte" */
buf[1] = low_output; /* value (TMS=1,TCK=0, TDI=0, nOE=0) */ buf[1] = low_output; /* value (TMS = 1,TCK = 0, TDI = 0, nOE = 0) */
buf[2] = low_direction; /* dir (output=1), TCK/TDI/TMS=out, TDO=in, nOE=out */ buf[2] = low_direction; /* dir (output = 1), TCK/TDI/TMS = out, TDO = in, nOE = out */
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]); LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3)) if (((ft2232_write(buf, 3, &bytes_written)) != ERROR_OK) || (bytes_written != 3))

View File

@ -196,7 +196,7 @@ static void gw16012_end_state(tap_state_t state)
static void gw16012_state_move(void) static void gw16012_state_move(void)
{ {
int i=0, tms=0; int i = 0, tms = 0;
uint8_t tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); uint8_t tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state()); int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());

View File

@ -228,7 +228,7 @@ typedef struct jtag_interface_s
int (*quit)(void); int (*quit)(void);
/** /**
* Returns JTAG maxium speed for KHz. 0=RTCK. The function returns * Returns JTAG maxium speed for KHz. 0 = RTCK. The function returns
* a failure if it can't support the KHz/RTCK. * a failure if it can't support the KHz/RTCK.
* *
* WARNING!!!! if RTCK is *slow* then think carefully about * WARNING!!!! if RTCK is *slow* then think carefully about

View File

@ -669,7 +669,7 @@ static int jlink_handle_jlink_hw_jtag_command(struct command_context_s *cmd_ctx,
/* J-Link tap functions */ /* J-Link tap functions */
static unsigned tap_length=0; static unsigned tap_length = 0;
static uint8_t tms_buffer[JLINK_TAP_BUFFER_SIZE]; static uint8_t tms_buffer[JLINK_TAP_BUFFER_SIZE];
static uint8_t tdi_buffer[JLINK_TAP_BUFFER_SIZE]; static uint8_t tdi_buffer[JLINK_TAP_BUFFER_SIZE];
static uint8_t tdo_buffer[JLINK_TAP_BUFFER_SIZE]; static uint8_t tdo_buffer[JLINK_TAP_BUFFER_SIZE];
@ -931,13 +931,13 @@ static int jlink_usb_message(jlink_jtag_t *jlink_jtag, int out_length, int in_le
result2 = jlink_usb_read_emu_result(jlink_jtag); result2 = jlink_usb_read_emu_result(jlink_jtag);
if (1 != result2) if (1 != result2)
{ {
LOG_ERROR("jlink_usb_read_emu_result retried requested=1, result=%d, in_length=%i", result2,in_length); LOG_ERROR("jlink_usb_read_emu_result retried requested = 1, result=%d, in_length=%i", result2,in_length);
/* Try again once, should only happen if (in_length%64 == 0) */ /* Try again once, should only happen if (in_length%64 == 0) */
result2 = jlink_usb_read_emu_result(jlink_jtag); result2 = jlink_usb_read_emu_result(jlink_jtag);
if (1 != result2) if (1 != result2)
{ {
LOG_ERROR("jlink_usb_read_emu_result failed " LOG_ERROR("jlink_usb_read_emu_result failed "
"(requested=1, result=%d)", result2); "(requested = 1, result=%d)", result2);
return ERROR_JTAG_DEVICE_ERROR; return ERROR_JTAG_DEVICE_ERROR;
} }
} }

View File

@ -145,7 +145,7 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
state_count = 0; state_count = 0;
tap_state_t cur_state=cmd_queue_cur_state; tap_state_t cur_state = cmd_queue_cur_state;
while (num_states) while (num_states)
{ {

View File

@ -344,7 +344,7 @@ static int parport_init(void)
LOG_DEBUG("...open"); LOG_DEBUG("...open");
#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) #if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
i=ioctl(device_handle, PPCLAIM); i = ioctl(device_handle, PPCLAIM);
if (i<0) if (i<0)
{ {
LOG_ERROR("cannot claim device"); LOG_ERROR("cannot claim device");

View File

@ -292,7 +292,7 @@ static int presto_open_ftd2xx(char *req_serial)
presto_data = 0; presto_data = 0;
for (i = 0; i < 4 * 62; i++) for (i = 0; i < 4 * 62; i++)
if ((presto->status=FT_Write(presto->handle, &presto_data, 1, &ftbytes)) != FT_OK) if ((presto->status = FT_Write(presto->handle, &presto_data, 1, &ftbytes)) != FT_OK)
return ERROR_JTAG_DEVICE_ERROR; return ERROR_JTAG_DEVICE_ERROR;
usleep(100000); usleep(100000);
@ -407,21 +407,21 @@ static int presto_open_libftdi(char *req_serial)
static int presto_open(char *req_serial) static int presto_open(char *req_serial)
{ {
presto->buff_out_pos=0; presto->buff_out_pos = 0;
presto->buff_in_pos=0; presto->buff_in_pos = 0;
presto->buff_in_len=0; presto->buff_in_len = 0;
presto->buff_in_exp=0; presto->buff_in_exp = 0;
presto->total_out=0; presto->total_out = 0;
presto->total_in=0; presto->total_in = 0;
presto->jtag_tms=0; presto->jtag_tms = 0;
presto->jtag_tck=0; presto->jtag_tck = 0;
presto->jtag_rst=0; presto->jtag_rst = 0;
presto->jtag_tdi_data=0; presto->jtag_tdi_data = 0;
presto->jtag_tdi_count=0; presto->jtag_tdi_count = 0;
presto->jtag_speed=0; presto->jtag_speed = 0;
#if BUILD_PRESTO_FTD2XX == 1 #if BUILD_PRESTO_FTD2XX == 1
return presto_open_ftd2xx(req_serial); return presto_open_ftd2xx(req_serial);
@ -625,14 +625,14 @@ static int presto_bitq_out(int tms, int tdi, int tdo_req)
} }
/* delay with TCK low */ /* delay with TCK low */
for (i=presto->jtag_speed; i>1; i--) for (i = presto->jtag_speed; i>1; i--)
presto_sendbyte(cmd); presto_sendbyte(cmd);
cmd |= 0x04; cmd |= 0x04;
presto_sendbyte(cmd | (tdo_req ? 0x10 : 0)); presto_sendbyte(cmd | (tdo_req ? 0x10 : 0));
/* delay with TCK high */ /* delay with TCK high */
for (i=presto->jtag_speed; i>1; i--) for (i = presto->jtag_speed; i>1; i--)
presto_sendbyte(cmd); presto_sendbyte(cmd);
presto->jtag_tck = 1; presto->jtag_tck = 1;
@ -707,7 +707,7 @@ static int presto_jtag_khz(int khz, int *jtag_speed)
{ {
if (khz < 0) if (khz < 0)
{ {
*jtag_speed=0; *jtag_speed = 0;
return ERROR_INVALID_ARGUMENTS; return ERROR_INVALID_ARGUMENTS;
} }
@ -721,7 +721,7 @@ static int presto_jtag_speed_div(int speed, int *khz)
{ {
if ((speed < 0) || (speed > 1000)) if ((speed < 0) || (speed > 1000))
{ {
*khz=0; *khz = 0;
return ERROR_INVALID_ARGUMENTS; return ERROR_INVALID_ARGUMENTS;
} }

View File

@ -915,7 +915,7 @@ void rlink_end_state(tap_state_t state)
static static
void rlink_state_move(void) { void rlink_state_move(void) {
int i=0, tms=0; int i = 0, tms = 0;
uint8_t tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state()); uint8_t tms_scan = tap_get_tms_path(tap_get_state(), tap_get_end_state());
int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state()); int tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state());
@ -1131,7 +1131,7 @@ rlink_scan(
#if 0 #if 0
printf("scan_size = %d, type=0x%x\n", scan_size, type); printf("scan_size = %d, type = 0x%x\n", scan_size, type);
{ {
int i; int i;
@ -1620,8 +1620,8 @@ int rlink_init(void)
struct usb_bus *busses; struct usb_bus *busses;
struct usb_bus *bus; struct usb_bus *bus;
int i, j, retries; int i, j, retries;
int found=0; int found = 0;
int success=0; int success = 0;
uint8_t reply_buffer[USB_EP1IN_SIZE]; uint8_t reply_buffer[USB_EP1IN_SIZE];
usb_init(); usb_init();
@ -1654,7 +1654,7 @@ int rlink_init(void)
break; break;
} }
pHDev=usb_open(dev); pHDev = usb_open(dev);
if ( !pHDev ) if ( !pHDev )
LOG_ERROR ("Failed to open device.\n"); LOG_ERROR ("Failed to open device.\n");
else else
@ -1692,7 +1692,7 @@ int rlink_init(void)
break; break;
} }
else else
success=1; success = 1;
} }
} }
} while (0); } while (0);

View File

@ -721,13 +721,13 @@ static int default_speed_div(int speed, int *khz)
static int default_power_dropout(int *dropout) static int default_power_dropout(int *dropout)
{ {
*dropout=0; /* by default we can't detect power dropout */ *dropout = 0; /* by default we can't detect power dropout */
return ERROR_OK; return ERROR_OK;
} }
static int default_srst_asserted(int *srst_asserted) static int default_srst_asserted(int *srst_asserted)
{ {
*srst_asserted=0; /* by default we can't detect srst asserted */ *srst_asserted = 0; /* by default we can't detect srst asserted */
return ERROR_OK; return ERROR_OK;
} }
@ -1331,7 +1331,7 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
return JIM_ERR; return JIM_ERR;
} }
num_fields=(argc-2)/2; num_fields = (argc-2)/2;
fields = malloc(sizeof(scan_field_t) * num_fields); fields = malloc(sizeof(scan_field_t) * num_fields);
for (i = 2; i < argc; i += 2) for (i = 2; i < argc; i += 2)
{ {
@ -1359,7 +1359,7 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
return JIM_ERR; return JIM_ERR;
} }
field_count=0; field_count = 0;
Jim_Obj *list = Jim_NewListObj(interp, NULL, 0); Jim_Obj *list = Jim_NewListObj(interp, NULL, 0);
for (i = 2; i < argc; i += 2) for (i = 2; i < argc; i += 2)
{ {
@ -1396,7 +1396,7 @@ static int Jim_Command_pathmove(Jim_Interp *interp, int argc, Jim_Obj *const *ar
script_debug(interp, "pathmove", argc, args); script_debug(interp, "pathmove", argc, args);
int i; int i;
for (i=0; i<argc-1; i++) for (i = 0; i<argc-1; i++)
{ {
const char *cp; const char *cp;
cp = Jim_GetString( args[i+1], NULL ); cp = Jim_GetString( args[i+1], NULL );

View File

@ -370,7 +370,7 @@ static void usbprog_scan(bool ir_scan, enum scan_type type, uint8_t *buffer, int
static void usbprog_write(int tck, int tms, int tdi) static void usbprog_write(int tck, int tms, int tdi)
{ {
unsigned char output_value=0x00; unsigned char output_value = 0x00;
if (tms) if (tms)
output_value |= (1 << TMS_BIT); output_value |= (1 << TMS_BIT);

View File

@ -28,7 +28,7 @@
#if 0 #if 0
int diag_printf( const char *fmt, ... ); int diag_printf( const char *fmt, ... );
#define ZY1000_POKE(a, b) HAL_WRITE_UINT32(a, b); diag_printf("poke 0x%08x,0x%08x\n", a, b) #define ZY1000_POKE(a, b) HAL_WRITE_UINT32(a, b); diag_printf("poke 0x%08x,0x%08x\n", a, b)
#define ZY1000_PEEK(a, b) HAL_READ_UINT32(a, b); diag_printf("peek 0x%08x=0x%08x\n", a, b) #define ZY1000_PEEK(a, b) HAL_READ_UINT32(a, b); diag_printf("peek 0x%08x = 0x%08x\n", a, b)
#else #else
#define ZY1000_POKE(a, b) HAL_WRITE_UINT32(a, b) #define ZY1000_POKE(a, b) HAL_WRITE_UINT32(a, b)
#define ZY1000_PEEK(a, b) HAL_READ_UINT32(a, b) #define ZY1000_PEEK(a, b) HAL_READ_UINT32(a, b)
@ -62,15 +62,15 @@ static void sampleShiftRegister(void)
static void setCurrentState(enum tap_state state) static void setCurrentState(enum tap_state state)
{ {
cyg_uint32 a; cyg_uint32 a;
a=state; a = state;
int repeat=0; int repeat = 0;
if (state == TAP_RESET) if (state == TAP_RESET)
{ {
// The FPGA nor we know the current state of the CPU TAP // The FPGA nor we know the current state of the CPU TAP
// controller. This will move it to TAP for sure. // controller. This will move it to TAP for sure.
// //
// 5 should be enough here, 7 is what OpenOCD uses // 5 should be enough here, 7 is what OpenOCD uses
repeat=7; repeat = 7;
} }
waitQueue(); waitQueue();
sampleShiftRegister(); sampleShiftRegister();
@ -85,8 +85,8 @@ static void setCurrentState(enum tap_state state)
static __inline__ void shiftValueInner(const enum tap_state state, const enum tap_state endState, int repeat, cyg_uint32 value) static __inline__ void shiftValueInner(const enum tap_state state, const enum tap_state endState, int repeat, cyg_uint32 value)
{ {
cyg_uint32 a,b; cyg_uint32 a,b;
a=state; a = state;
b=endState; b = endState;
waitQueue(); waitQueue();
sampleShiftRegister(); sampleShiftRegister();
ZY1000_POKE(ZY1000_JTAG_BASE+0xc, value); ZY1000_POKE(ZY1000_JTAG_BASE+0xc, value);
@ -96,13 +96,13 @@ static __inline__ void shiftValueInner(const enum tap_state state, const enum ta
{ {
int i; int i;
setCurrentState(state); setCurrentState(state);
for (i=0; i<repeat; i++) for (i = 0; i<repeat; i++)
{ {
int tms; int tms;
tms=0; tms = 0;
if ((i == repeat-1) && (state != endState)) if ((i == repeat-1) && (state != endState))
{ {
tms=1; tms = 1;
} }
/* shift out value */ /* shift out value */
waitIdle(); waitIdle();
@ -128,7 +128,7 @@ static __inline__ void shiftValueInner(const enum tap_state state, const enum ta
{ {
int i; int i;
/* sample shift register for every bit. */ /* sample shift register for every bit. */
for (i=0; i<repeat-1; i++) for (i = 0; i<repeat-1; i++)
{ {
sampleShiftRegister(); sampleShiftRegister();
ZY1000_POKE(ZY1000_JTAG_BASE+0xc, value >> i); ZY1000_POKE(ZY1000_JTAG_BASE+0xc, value >> i);
@ -157,9 +157,9 @@ static __inline__ void interface_jtag_add_dr_out_core(jtag_tap_t *target_tap,
enum tap_state pause_state = TAP_DRSHIFT; enum tap_state pause_state = TAP_DRSHIFT;
jtag_tap_t *tap, *nextTap; jtag_tap_t *tap, *nextTap;
for (tap = jtag_tap_next_enabled(NULL); tap!= NULL; tap=nextTap) for (tap = jtag_tap_next_enabled(NULL); tap!= NULL; tap = nextTap)
{ {
nextTap=jtag_tap_next_enabled(tap); nextTap = jtag_tap_next_enabled(tap);
if (nextTap == NULL) if (nextTap == NULL)
{ {
pause_state = end_state; pause_state = end_state;
@ -167,7 +167,7 @@ static __inline__ void interface_jtag_add_dr_out_core(jtag_tap_t *target_tap,
if (tap == target_tap) if (tap == target_tap)
{ {
int j; int j;
for (j=0; j<(num_fields-1); j++) for (j = 0; j<(num_fields-1); j++)
{ {
shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, num_bits[j], value[j]); shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, num_bits[j], value[j]);
} }
@ -187,7 +187,7 @@ static __inline__ void interface_jtag_add_dr_out(jtag_tap_t *target_tap,
enum tap_state end_state) enum tap_state end_state)
{ {
int singletap=(jtag_tap_next_enabled(jtag_tap_next_enabled(NULL)) == NULL); int singletap = (jtag_tap_next_enabled(jtag_tap_next_enabled(NULL)) == NULL);
if ((singletap) && (num_fields == 3)) if ((singletap) && (num_fields == 3))
{ {
/* used by embeddedice_write_reg_inner() */ /* used by embeddedice_write_reg_inner() */

View File

@ -51,11 +51,11 @@ static int zy1000_khz(int khz, int *jtag_speed)
{ {
if (khz == 0) if (khz == 0)
{ {
*jtag_speed=0; *jtag_speed = 0;
} }
else else
{ {
*jtag_speed=64000/khz; *jtag_speed = 64000/khz;
} }
return ERROR_OK; return ERROR_OK;
} }
@ -68,7 +68,7 @@ static int zy1000_speed_div(int speed, int *khz)
} }
else else
{ {
*khz=64000/speed; *khz = 64000/speed;
} }
return ERROR_OK; return ERROR_OK;
@ -99,13 +99,13 @@ static bool readSRST(void)
static int zy1000_srst_asserted(int *srst_asserted) static int zy1000_srst_asserted(int *srst_asserted)
{ {
*srst_asserted=readSRST(); *srst_asserted = readSRST();
return ERROR_OK; return ERROR_OK;
} }
static int zy1000_power_dropout(int *dropout) static int zy1000_power_dropout(int *dropout)
{ {
*dropout=readPowerDropout(); *dropout = readPowerDropout();
return ERROR_OK; return ERROR_OK;
} }
@ -164,7 +164,7 @@ void zy1000_reset(int trst, int srst)
if (!srst) if (!srst)
{ {
int i; int i;
for (i=0; i<1000; i++) for (i = 0; i<1000; i++)
{ {
// We don't want to sense our own reset, so we clear here. // We don't want to sense our own reset, so we clear here.
// There is of course a timing hole where we could loose // There is of course a timing hole where we could loose
@ -260,11 +260,11 @@ static int jim_zy1000_version(Jim_Interp *interp, int argc, Jim_Obj *const *argv
if ((argc < 1) || (argc > 2)) if ((argc < 1) || (argc > 2))
return JIM_ERR; return JIM_ERR;
char buff[128]; char buff[128];
const char *version_str=NULL; const char *version_str = NULL;
if (argc == 1) if (argc == 1)
{ {
version_str=ZYLIN_OPENOCD_VERSION; version_str = ZYLIN_OPENOCD_VERSION;
} else } else
{ {
const char *str = Jim_GetString(argv[1], NULL); const char *str = Jim_GetString(argv[1], NULL);
@ -273,15 +273,15 @@ static int jim_zy1000_version(Jim_Interp *interp, int argc, Jim_Obj *const *argv
int revision; int revision;
revision = atol(ZYLIN_OPENOCD+strlen("XRevision: ")); revision = atol(ZYLIN_OPENOCD+strlen("XRevision: "));
sprintf(buff, "%d", revision); sprintf(buff, "%d", revision);
version_str=buff; version_str = buff;
} }
else if (strcmp("zy1000", str) == 0) else if (strcmp("zy1000", str) == 0)
{ {
version_str=ZYLIN_VERSION; version_str = ZYLIN_VERSION;
} }
else if (strcmp("date", str) == 0) else if (strcmp("date", str) == 0)
{ {
version_str=ZYLIN_DATE; version_str = ZYLIN_DATE;
} }
else else
{ {
@ -402,8 +402,8 @@ static void shiftValueInnerFlip(const tap_state_t state, const tap_state_t endSt
{ {
VERBOSE(LOG_INFO("shiftValueInner %s %s %d %08x (flipped)", tap_state_name(state), tap_state_name(endState), repeat, value)); VERBOSE(LOG_INFO("shiftValueInner %s %s %d %08x (flipped)", tap_state_name(state), tap_state_name(endState), repeat, value));
cyg_uint32 a,b; cyg_uint32 a,b;
a=state; a = state;
b=endState; b = endState;
ZY1000_POKE(ZY1000_JTAG_BASE+0xc, value); ZY1000_POKE(ZY1000_JTAG_BASE+0xc, value);
ZY1000_POKE(ZY1000_JTAG_BASE+0x8, (1 << 15)|(repeat << 8)|(a << 4)|b); ZY1000_POKE(ZY1000_JTAG_BASE+0x8, (1 << 15)|(repeat << 8)|(a << 4)|b);
VERBOSE(getShiftValueFlip()); VERBOSE(getShiftValueFlip());
@ -422,40 +422,40 @@ static __inline void scanFields(int num_fields, const scan_field_t *fields, tap_
{ {
cyg_uint32 value; cyg_uint32 value;
uint8_t *inBuffer=NULL; uint8_t *inBuffer = NULL;
// figure out where to store the input data // figure out where to store the input data
int num_bits=fields[i].num_bits; int num_bits = fields[i].num_bits;
if (fields[i].in_value != NULL) if (fields[i].in_value != NULL)
{ {
inBuffer=fields[i].in_value; inBuffer = fields[i].in_value;
} }
// here we shuffle N bits out/in // here we shuffle N bits out/in
j=0; j = 0;
while (j<num_bits) while (j<num_bits)
{ {
tap_state_t pause_state; tap_state_t pause_state;
int l; int l;
k=num_bits-j; k = num_bits-j;
pause_state=(shiftState == TAP_DRSHIFT)?TAP_DRSHIFT:TAP_IRSHIFT; pause_state = (shiftState == TAP_DRSHIFT)?TAP_DRSHIFT:TAP_IRSHIFT;
if (k>32) if (k>32)
{ {
k=32; k = 32;
/* we have more to shift out */ /* we have more to shift out */
} else if (i == num_fields-1) } else if (i == num_fields-1)
{ {
/* this was the last to shift out this time */ /* this was the last to shift out this time */
pause_state=end_state; pause_state = end_state;
} }
// we have (num_bits+7)/8 bytes of bits to toggle out. // we have (num_bits+7)/8 bytes of bits to toggle out.
// bits are pushed out LSB to MSB // bits are pushed out LSB to MSB
value=0; value = 0;
if (fields[i].out_value != NULL) if (fields[i].out_value != NULL)
{ {
for (l=0; l<k; l += 8) for (l = 0; l<k; l += 8)
{ {
value|=fields[i].out_value[(j+l)/8]<<l; value|=fields[i].out_value[(j+l)/8]<<l;
} }
@ -468,11 +468,11 @@ static __inline void scanFields(int num_fields, const scan_field_t *fields, tap_
if (inBuffer != NULL) if (inBuffer != NULL)
{ {
// data in, LSB to MSB // data in, LSB to MSB
value=getShiftValue(); value = getShiftValue();
// we're shifting in data to MSB, shift data to be aligned for returning the value // we're shifting in data to MSB, shift data to be aligned for returning the value
value >>= 32-k; value >>= 32-k;
for (l=0; l<k; l += 8) for (l = 0; l<k; l += 8)
{ {
inBuffer[(j+l)/8]=(value >> l)&0xff; inBuffer[(j+l)/8]=(value >> l)&0xff;
} }
@ -494,9 +494,9 @@ int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_s
int j; int j;
int scan_size = 0; int scan_size = 0;
jtag_tap_t *tap, *nextTap; jtag_tap_t *tap, *nextTap;
for (tap = jtag_tap_next_enabled(NULL); tap!= NULL; tap=nextTap) for (tap = jtag_tap_next_enabled(NULL); tap!= NULL; tap = nextTap)
{ {
nextTap=jtag_tap_next_enabled(tap); nextTap = jtag_tap_next_enabled(tap);
tap_state_t end_state; tap_state_t end_state;
if (nextTap == NULL) if (nextTap == NULL)
{ {
@ -511,7 +511,7 @@ int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_s
scan_size = tap->ir_length; scan_size = tap->ir_length;
/* search the list */ /* search the list */
for (j=0; j < num_fields; j++) for (j = 0; j < num_fields; j++)
{ {
if (tap == fields[j].tap) if (tap == fields[j].tap)
{ {
@ -563,10 +563,10 @@ int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_s
int j; int j;
jtag_tap_t *tap, *nextTap; jtag_tap_t *tap, *nextTap;
for (tap = jtag_tap_next_enabled(NULL); tap!= NULL; tap=nextTap) for (tap = jtag_tap_next_enabled(NULL); tap!= NULL; tap = nextTap)
{ {
nextTap=jtag_tap_next_enabled(tap); nextTap = jtag_tap_next_enabled(tap);
int found=0; int found = 0;
tap_state_t end_state; tap_state_t end_state;
if (nextTap == NULL) if (nextTap == NULL)
{ {
@ -576,7 +576,7 @@ int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_s
end_state = TAP_DRSHIFT; end_state = TAP_DRSHIFT;
} }
for (j=0; j < num_fields; j++) for (j = 0; j < num_fields; j++)
{ {
if (tap == fields[j].tap) if (tap == fields[j].tap)
{ {
@ -634,13 +634,13 @@ static int zy1000_jtag_add_clocks(int num_cycles, tap_state_t state, tap_state_t
/* execute num_cycles, 32 at the time. */ /* execute num_cycles, 32 at the time. */
int i; int i;
for (i=0; i<num_cycles; i += 32) for (i = 0; i<num_cycles; i += 32)
{ {
int num; int num;
num=32; num = 32;
if (num_cycles-i<num) if (num_cycles-i<num)
{ {
num=num_cycles-i; num = num_cycles-i;
} }
shiftValueInner(clockstate, clockstate, num, 0); shiftValueInner(clockstate, clockstate, num, 0);
} }
@ -649,7 +649,7 @@ static int zy1000_jtag_add_clocks(int num_cycles, tap_state_t state, tap_state_t
/* finish in end_state */ /* finish in end_state */
setCurrentState(state); setCurrentState(state);
#else #else
tap_state_t t=TAP_IDLE; tap_state_t t = TAP_IDLE;
/* test manual drive code on any target */ /* test manual drive code on any target */
int tms; int tms;
uint8_t tms_scan = tap_get_tms_path(t, state); uint8_t tms_scan = tap_get_tms_path(t, state);
@ -695,7 +695,7 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
state_count = 0; state_count = 0;
tap_state_t cur_state=cmd_queue_cur_state; tap_state_t cur_state = cmd_queue_cur_state;
while (num_states) while (num_states)
{ {
@ -730,8 +730,8 @@ int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, uint8_t *buffer, int little, int count) void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, uint8_t *buffer, int little, int count)
{ {
// static int const reg_addr=0x5; // static int const reg_addr = 0x5;
tap_state_t end_state=jtag_get_end_state(); tap_state_t end_state = jtag_get_end_state();
if (jtag_tap_next_enabled(jtag_tap_next_enabled(NULL)) == NULL) if (jtag_tap_next_enabled(jtag_tap_next_enabled(NULL)) == NULL)
{ {
/* better performance via code duplication */ /* better performance via code duplication */

View File

@ -87,10 +87,10 @@ static int log_target_callback_event_handler(struct target_s *target, enum targe
switch (event) switch (event)
{ {
case TARGET_EVENT_GDB_START: case TARGET_EVENT_GDB_START:
target->display=0; target->display = 0;
break; break;
case TARGET_EVENT_GDB_END: case TARGET_EVENT_GDB_END:
target->display=1; target->display = 1;
break; break;
case TARGET_EVENT_HALTED: case TARGET_EVENT_HALTED:
if (target->display) if (target->display)
@ -116,11 +116,11 @@ static int handle_init_command(struct command_context_s *cmd_ctx, char *cmd, cha
return ERROR_COMMAND_SYNTAX_ERROR; return ERROR_COMMAND_SYNTAX_ERROR;
int retval; int retval;
static int initialized=0; static int initialized = 0;
if (initialized) if (initialized)
return ERROR_OK; return ERROR_OK;
initialized=1; initialized = 1;
atexit(exit_handler); atexit(exit_handler);
@ -128,7 +128,7 @@ static int handle_init_command(struct command_context_s *cmd_ctx, char *cmd, cha
return ERROR_FAIL; return ERROR_FAIL;
LOG_DEBUG("target init complete"); LOG_DEBUG("target init complete");
if ((retval=jtag_interface_init(cmd_ctx)) != ERROR_OK) if ((retval = jtag_interface_init(cmd_ctx)) != ERROR_OK)
{ {
/* we must be able to set up the jtag interface */ /* we must be able to set up the jtag interface */
return retval; return retval;

View File

@ -90,7 +90,7 @@ static int virtex2_send_32(struct pld_device_s *pld_device,
static __inline__ void virtexflip32(jtag_callback_data_t arg) static __inline__ void virtexflip32(jtag_callback_data_t arg)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
*((uint32_t *)in) = flip_u32(le_to_h_u32(in), 32); *((uint32_t *)in) = flip_u32(le_to_h_u32(in), 32);
} }

View File

@ -107,7 +107,7 @@ int check_pending(connection_t *connection, int timeout_s, int *got_data)
int t; int t;
if (got_data == NULL) if (got_data == NULL)
got_data=&t; got_data=&t;
*got_data=0; *got_data = 0;
if (gdb_con->buf_cnt>0) if (gdb_con->buf_cnt>0)
{ {
@ -133,14 +133,14 @@ int check_pending(connection_t *connection, int timeout_s, int *got_data)
return ERROR_OK; return ERROR_OK;
} }
} }
*got_data=FD_ISSET(connection->fd, &read_fds) != 0; *got_data = FD_ISSET(connection->fd, &read_fds) != 0;
return ERROR_OK; return ERROR_OK;
} }
int gdb_get_char(connection_t *connection, int* next_char) int gdb_get_char(connection_t *connection, int* next_char)
{ {
gdb_connection_t *gdb_con = connection->priv; gdb_connection_t *gdb_con = connection->priv;
int retval=ERROR_OK; int retval = ERROR_OK;
#ifdef _DEBUG_GDB_IO_ #ifdef _DEBUG_GDB_IO_
char *debug_buffer; char *debug_buffer;
@ -313,7 +313,7 @@ int gdb_put_packet_inner(connection_t *connection, char *buffer, int len)
int gotdata; int gotdata;
for (;;) for (;;)
{ {
if ((retval=check_pending(connection, 0, &gotdata)) != ERROR_OK) if ((retval = check_pending(connection, 0, &gotdata)) != ERROR_OK)
return retval; return retval;
if (!gotdata) if (!gotdata)
break; break;
@ -409,7 +409,7 @@ int gdb_put_packet_inner(connection_t *connection, char *buffer, int len)
} else { } else {
LOG_ERROR("unknown character(1) 0x%2.2x in reply, dropping connection", reply); LOG_ERROR("unknown character(1) 0x%2.2x in reply, dropping connection", reply);
gdb_con->closed=1; gdb_con->closed = 1;
return ERROR_SERVER_REMOTE_CLOSED; return ERROR_SERVER_REMOTE_CLOSED;
} }
} }
@ -421,7 +421,7 @@ int gdb_put_packet_inner(connection_t *connection, char *buffer, int len)
else else
{ {
LOG_ERROR("unknown character(2) 0x%2.2x in reply, dropping connection", reply); LOG_ERROR("unknown character(2) 0x%2.2x in reply, dropping connection", reply);
gdb_con->closed=1; gdb_con->closed = 1;
return ERROR_SERVER_REMOTE_CLOSED; return ERROR_SERVER_REMOTE_CLOSED;
} }
} }
@ -547,7 +547,7 @@ static __inline__ int fetch_packet(connection_t *connection, int *checksum_ok, i
if (!noack) if (!noack)
{ {
*checksum_ok=(my_checksum == strtoul(checksum, NULL, 16)); *checksum_ok = (my_checksum == strtoul(checksum, NULL, 16));
} }
return ERROR_OK; return ERROR_OK;
@ -600,11 +600,11 @@ int gdb_get_packet_inner(connection_t *connection, char *buffer, int *len)
*/ */
if (gdb_con->noack_mode) if (gdb_con->noack_mode)
{ {
if ((retval=fetch_packet(connection, &checksum_ok, 1, len, buffer)) != ERROR_OK) if ((retval = fetch_packet(connection, &checksum_ok, 1, len, buffer)) != ERROR_OK)
return retval; return retval;
} else } else
{ {
if ((retval=fetch_packet(connection, &checksum_ok, 0, len, buffer)) != ERROR_OK) if ((retval = fetch_packet(connection, &checksum_ok, 0, len, buffer)) != ERROR_OK)
return retval; return retval;
} }
@ -649,7 +649,7 @@ int gdb_output_con(connection_t *connection, const char* line)
return ERROR_GDB_BUFFER_TOO_SMALL; return ERROR_GDB_BUFFER_TOO_SMALL;
hex_buffer[0] = 'O'; hex_buffer[0] = 'O';
for (i=0; i<bin_size; i++) for (i = 0; i<bin_size; i++)
snprintf(hex_buffer + 1 + i*2, 3, "%2.2x", line[i]); snprintf(hex_buffer + 1 + i*2, 3, "%2.2x", line[i]);
hex_buffer[bin_size*2+1] = 0; hex_buffer[bin_size*2+1] = 0;
@ -904,7 +904,7 @@ static int hextoint(char c)
{ {
return c-'0'; return c-'0';
} }
c=toupper(c); c = toupper(c);
if (c>='A'&&c<='F') if (c>='A'&&c<='F')
{ {
return c-'A'+10; return c-'A'+10;
@ -1199,7 +1199,7 @@ int gdb_read_memory_packet(connection_t *connection, target_t *target, char *pac
* gained by involving the user in this problem that hopefully will get resolved * gained by involving the user in this problem that hopefully will get resolved
* eventually * eventually
* *
* http://sourceware.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gdb&pr=2395 * http://sourceware.org/cgi-bin/gnatsweb.pl?cmd = view%20audit-trail&database = gdb&pr = 2395
* *
* For now, the default is to fix up things to make current GDB versions work. * For now, the default is to fix up things to make current GDB versions work.
* This can be overwritten using the gdb_report_data_abort <'enable'|'disable'> command. * This can be overwritten using the gdb_report_data_abort <'enable'|'disable'> command.
@ -1268,7 +1268,7 @@ int gdb_write_memory_packet(connection_t *connection, target_t *target, char *pa
LOG_DEBUG("addr: 0x%8.8" PRIx32 ", len: 0x%8.8" PRIx32 "", addr, len); LOG_DEBUG("addr: 0x%8.8" PRIx32 ", len: 0x%8.8" PRIx32 "", addr, len);
for (i=0; i<len; i++) for (i = 0; i<len; i++)
{ {
uint32_t tmp; uint32_t tmp;
sscanf(separator + 2*i, "%2" SCNx32 , &tmp); sscanf(separator + 2*i, "%2" SCNx32 , &tmp);
@ -1343,7 +1343,7 @@ int gdb_step_continue_packet(connection_t *connection, target_t *target, char *p
{ {
int current = 0; int current = 0;
uint32_t address = 0x0; uint32_t address = 0x0;
int retval=ERROR_OK; int retval = ERROR_OK;
LOG_DEBUG("-"); LOG_DEBUG("-");
@ -1361,7 +1361,7 @@ int gdb_step_continue_packet(connection_t *connection, target_t *target, char *p
{ {
LOG_DEBUG("continue"); LOG_DEBUG("continue");
target_handle_event( target, TARGET_EVENT_OLD_pre_resume ); target_handle_event( target, TARGET_EVENT_OLD_pre_resume );
retval=target_resume(target, current, address, 0, 0); /* resume at current address, don't handle breakpoints, not debugging */ retval = target_resume(target, current, address, 0, 0); /* resume at current address, don't handle breakpoints, not debugging */
} }
else if (packet[0] == 's') else if (packet[0] == 's')
{ {
@ -1399,7 +1399,7 @@ int gdb_breakpoint_watchpoint_packet(connection_t *connection, target_t *target,
if (gdb_breakpoint_override && ((bp_type == BKPT_SOFT)||(bp_type == BKPT_HARD))) if (gdb_breakpoint_override && ((bp_type == BKPT_SOFT)||(bp_type == BKPT_HARD)))
{ {
bp_type=gdb_breakpoint_override_type; bp_type = gdb_breakpoint_override_type;
} }
if (*separator != ',') if (*separator != ',')
@ -1584,7 +1584,7 @@ int gdb_query_packet(connection_t *connection, target_t *target, char *packet, i
char *cmd; char *cmd;
int i; int i;
cmd = malloc((packet_size - 6)/2 + 1); cmd = malloc((packet_size - 6)/2 + 1);
for (i=0; i < (packet_size - 6)/2; i++) for (i = 0; i < (packet_size - 6)/2; i++)
{ {
uint32_t tmp; uint32_t tmp;
sscanf(packet + 6 + 2*i, "%2" SCNx32 , &tmp); sscanf(packet + 6 + 2*i, "%2" SCNx32 , &tmp);
@ -1699,10 +1699,10 @@ int gdb_query_packet(connection_t *connection, target_t *target, char *packet, i
read/write) by default for GDB. read/write) by default for GDB.
GDB does not have a concept of non-cacheable read/write memory. GDB does not have a concept of non-cacheable read/write memory.
*/ */
flash_bank_t **banks=malloc(sizeof(flash_bank_t *)*flash_get_bank_count()); flash_bank_t **banks = malloc(sizeof(flash_bank_t *)*flash_get_bank_count());
int i; int i;
for (i=0; i<flash_get_bank_count(); i++) for (i = 0; i<flash_get_bank_count(); i++)
{ {
p = get_flash_bank_by_num(i); p = get_flash_bank_by_num(i);
if (p == NULL) if (p == NULL)
@ -1717,8 +1717,8 @@ int gdb_query_packet(connection_t *connection, target_t *target, char *packet, i
qsort(banks, flash_get_bank_count(), sizeof(flash_bank_t *), compare_bank); qsort(banks, flash_get_bank_count(), sizeof(flash_bank_t *), compare_bank);
uint32_t ram_start=0; uint32_t ram_start = 0;
for (i=0; i<flash_get_bank_count(); i++) for (i = 0; i<flash_get_bank_count(); i++)
{ {
p = banks[i]; p = banks[i];
@ -1736,7 +1736,7 @@ int gdb_query_packet(connection_t *connection, target_t *target, char *packet, i
"<property name=\"blocksize\">0x%x</property>\n" \ "<property name=\"blocksize\">0x%x</property>\n" \
"</memory>\n", \ "</memory>\n", \
p->base, p->size, blocksize); p->base, p->size, blocksize);
ram_start=p->base+p->size; ram_start = p->base+p->size;
} }
if (ram_start != 0) if (ram_start != 0)
{ {
@ -2018,7 +2018,7 @@ int gdb_input_inner(connection_t *connection)
{ {
gdb_service_t *gdb_service = connection->service->priv; gdb_service_t *gdb_service = connection->service->priv;
target_t *target = gdb_service->target; target_t *target = gdb_service->target;
char *packet=gdb_packet_buffer; char *packet = gdb_packet_buffer;
int packet_size; int packet_size;
int retval; int retval;
gdb_connection_t *gdb_con = connection->priv; gdb_connection_t *gdb_con = connection->priv;
@ -2108,7 +2108,7 @@ int gdb_input_inner(connection_t *connection)
gdb_con->frontend_state = TARGET_RUNNING; gdb_con->frontend_state = TARGET_RUNNING;
log_add_callback(gdb_log_callback, connection); log_add_callback(gdb_log_callback, connection);
target_call_event_callbacks(target, TARGET_EVENT_GDB_START); target_call_event_callbacks(target, TARGET_EVENT_GDB_START);
int retval=gdb_step_continue_packet(connection, target, packet, packet_size); int retval = gdb_step_continue_packet(connection, target, packet, packet_size);
if (retval != ERROR_OK) if (retval != ERROR_OK)
{ {
/* we'll never receive a halted condition... issue a false one.. */ /* we'll never receive a halted condition... issue a false one.. */
@ -2354,10 +2354,10 @@ int handle_gdb_breakpoint_override_command(struct command_context_s *cmd_ctx, ch
gdb_breakpoint_override = 1; gdb_breakpoint_override = 1;
if (strcmp(args[0], "hard") == 0) if (strcmp(args[0], "hard") == 0)
{ {
gdb_breakpoint_override_type=BKPT_HARD; gdb_breakpoint_override_type = BKPT_HARD;
} else if (strcmp(args[0], "soft") == 0) } else if (strcmp(args[0], "soft") == 0)
{ {
gdb_breakpoint_override_type=BKPT_SOFT; gdb_breakpoint_override_type = BKPT_SOFT;
} else if (strcmp(args[0], "disable") == 0) } else if (strcmp(args[0], "disable") == 0)
{ {
gdb_breakpoint_override = 0; gdb_breakpoint_override = 0;

View File

@ -402,7 +402,7 @@ static int ahc_echo(void * cls, struct MHD_Connection * connection,
if (!*url) if (!*url)
url="index.tcl"; url="index.tcl";
const char *file_name=alloc_printf("%s/%s", httpd_dir, url); const char *file_name = alloc_printf("%s/%s", httpd_dir, url);
int result = handle_request(connection, file_name); int result = handle_request(connection, file_name);
free((void *)file_name); free((void *)file_name);
return result; return result;

View File

@ -51,7 +51,7 @@ int add_connection(service_t *service, command_context_t *cmd_ctx)
socklen_t address_size; socklen_t address_size;
connection_t *c, **p; connection_t *c, **p;
int retval; int retval;
int flag=1; int flag = 1;
c = malloc(sizeof(connection_t)); c = malloc(sizeof(connection_t));
c->fd = -1; c->fd = -1;
@ -70,7 +70,7 @@ int add_connection(service_t *service, command_context_t *cmd_ctx)
/* This increases performance dramatically for e.g. GDB load which /* This increases performance dramatically for e.g. GDB load which
* does not have a sliding window protocol. */ * does not have a sliding window protocol. */
retval=setsockopt(c->fd, /* socket affected */ retval = setsockopt(c->fd, /* socket affected */
IPPROTO_TCP, /* set option at TCP level */ IPPROTO_TCP, /* set option at TCP level */
TCP_NODELAY, /* name of option */ TCP_NODELAY, /* name of option */
(char *)&flag, /* the cast is historical cruft */ (char *)&flag, /* the cast is historical cruft */
@ -183,7 +183,7 @@ int add_service(char *name, enum connection_type type, unsigned short port, int
} }
#ifndef _WIN32 #ifndef _WIN32
int segsize=65536; int segsize = 65536;
setsockopt(c->fd, IPPROTO_TCP, TCP_MAXSEG, &segsize, sizeof(int)); setsockopt(c->fd, IPPROTO_TCP, TCP_MAXSEG, &segsize, sizeof(int));
#endif #endif
int window_size = 128 * 1024; int window_size = 128 * 1024;

View File

@ -130,7 +130,7 @@ void telnet_log_callback(void *priv, const char *file, int line,
/* put the command line to its previous state */ /* put the command line to its previous state */
telnet_prompt(connection); telnet_prompt(connection);
telnet_write(connection, t_con->line, t_con->line_size); telnet_write(connection, t_con->line, t_con->line_size);
for (i=t_con->line_size; i>t_con->line_cursor; i--) for (i = t_con->line_size; i>t_con->line_cursor; i--)
telnet_write(connection, "\b", 1); telnet_write(connection, "\b", 1);
} }

View File

@ -237,7 +237,7 @@ int arm11_read_DSCR(arm11_common_t * arm11, uint32_t *value)
arm11->last_dscr = dscr; arm11->last_dscr = dscr;
*value=dscr; *value = dscr;
return ERROR_OK; return ERROR_OK;
} }

View File

@ -373,9 +373,9 @@ int arm720t_soft_reset_halt(struct target_s *target)
return retval; return retval;
} }
long long then=timeval_ms(); long long then = timeval_ms();
int timeout; int timeout;
while (!(timeout=((timeval_ms()-then)>1000))) while (!(timeout = ((timeval_ms()-then)>1000)))
{ {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{ {

View File

@ -118,11 +118,11 @@ static int arm7_9_set_software_breakpoints(arm7_9_common_t *arm7_9)
/* pick a breakpoint unit */ /* pick a breakpoint unit */
if (!arm7_9->wp0_used) if (!arm7_9->wp0_used)
{ {
arm7_9->sw_breakpoints_added=1; arm7_9->sw_breakpoints_added = 1;
arm7_9->wp0_used = 3; arm7_9->wp0_used = 3;
} else if (!arm7_9->wp1_used) } else if (!arm7_9->wp1_used)
{ {
arm7_9->sw_breakpoints_added=2; arm7_9->sw_breakpoints_added = 2;
arm7_9->wp1_used = 3; arm7_9->wp1_used = 3;
} }
else else
@ -218,7 +218,7 @@ int arm7_9_set_breakpoint(struct target_s *target, breakpoint_t *breakpoint)
{ {
armv4_5_common_t *armv4_5 = target->arch_info; armv4_5_common_t *armv4_5 = target->arch_info;
arm7_9_common_t *arm7_9 = armv4_5->arch_info; arm7_9_common_t *arm7_9 = armv4_5->arch_info;
int retval=ERROR_OK; int retval = ERROR_OK;
if (target->state != TARGET_HALTED) if (target->state != TARGET_HALTED)
{ {
@ -259,11 +259,11 @@ int arm7_9_set_breakpoint(struct target_s *target, breakpoint_t *breakpoint)
return ERROR_OK; return ERROR_OK;
} }
retval=jtag_execute_queue(); retval = jtag_execute_queue();
} }
else if (breakpoint->type == BKPT_SOFT) else if (breakpoint->type == BKPT_SOFT)
{ {
if ((retval=arm7_9_set_software_breakpoints(arm7_9)) != ERROR_OK) if ((retval = arm7_9_set_software_breakpoints(arm7_9)) != ERROR_OK)
return retval; return retval;
/* did we already set this breakpoint? */ /* did we already set this breakpoint? */
@ -700,9 +700,9 @@ int arm7_9_execute_sys_speed(struct target_s *target)
} }
arm_jtag_set_instr(jtag_info, 0x4, NULL); arm_jtag_set_instr(jtag_info, 0x4, NULL);
long long then=timeval_ms(); long long then = timeval_ms();
int timeout; int timeout;
while (!(timeout=((timeval_ms()-then)>1000))) while (!(timeout = ((timeval_ms()-then)>1000)))
{ {
/* read debug status register */ /* read debug status register */
embeddedice_read_reg(dbg_stat); embeddedice_read_reg(dbg_stat);
@ -738,7 +738,7 @@ int arm7_9_execute_sys_speed(struct target_s *target)
*/ */
int arm7_9_execute_fast_sys_speed(struct target_s *target) int arm7_9_execute_fast_sys_speed(struct target_s *target)
{ {
static int set=0; static int set = 0;
static uint8_t check_value[4], check_mask[4]; static uint8_t check_value[4], check_mask[4];
armv4_5_common_t *armv4_5 = target->arch_info; armv4_5_common_t *armv4_5 = target->arch_info;
@ -764,7 +764,7 @@ int arm7_9_execute_fast_sys_speed(struct target_s *target)
* */ * */
buf_set_u32(check_value, 0, 32, 0x9); buf_set_u32(check_value, 0, 32, 0x9);
buf_set_u32(check_mask, 0, 32, 0x9); buf_set_u32(check_mask, 0, 32, 0x9);
set=1; set = 1;
} }
/* read debug status register */ /* read debug status register */
@ -900,7 +900,7 @@ int arm7_9_poll(target_t *target)
} }
if ((target->state == TARGET_RUNNING) || (target->state == TARGET_RESET)) if ((target->state == TARGET_RUNNING) || (target->state == TARGET_RESET))
{ {
int check_pc=0; int check_pc = 0;
if (target->state == TARGET_RESET) if (target->state == TARGET_RESET)
{ {
if (target->reset_halt) if (target->reset_halt)
@ -1042,7 +1042,7 @@ int arm7_9_assert_reset(target_t *target)
*/ */
int arm7_9_deassert_reset(target_t *target) int arm7_9_deassert_reset(target_t *target)
{ {
int retval=ERROR_OK; int retval = ERROR_OK;
LOG_DEBUG("target->state: %s", LOG_DEBUG("target->state: %s",
Jim_Nvp_value2name_simple( nvp_target_state,target->state)->name); Jim_Nvp_value2name_simple( nvp_target_state,target->state)->name);
@ -1057,12 +1057,12 @@ int arm7_9_deassert_reset(target_t *target)
if ((retval = target_examine_one(target)) != ERROR_OK) if ((retval = target_examine_one(target)) != ERROR_OK)
return retval; return retval;
if ((retval=target_poll(target)) != ERROR_OK) if ((retval = target_poll(target)) != ERROR_OK)
{ {
return retval; return retval;
} }
if ((retval=target_halt(target)) != ERROR_OK) if ((retval = target_halt(target)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -1147,17 +1147,17 @@ int arm7_9_soft_reset_halt(struct target_s *target)
int i; int i;
int retval; int retval;
if ((retval=target_halt(target)) != ERROR_OK) if ((retval = target_halt(target)) != ERROR_OK)
return retval; return retval;
long long then=timeval_ms(); long long then = timeval_ms();
int timeout; int timeout;
while (!(timeout=((timeval_ms()-then)>1000))) while (!(timeout = ((timeval_ms()-then)>1000)))
{ {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) != 0) if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) != 0)
break; break;
embeddedice_read_reg(dbg_stat); embeddedice_read_reg(dbg_stat);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
if (debug_level >= 3) if (debug_level >= 3)
{ {
@ -1428,7 +1428,7 @@ int arm7_9_debug_entry(target_t *target)
if (armv4_5_mode_to_number(armv4_5->core_mode)==-1) if (armv4_5_mode_to_number(armv4_5->core_mode)==-1)
return ERROR_FAIL; return ERROR_FAIL;
for (i=0; i <= 15; i++) for (i = 0; i <= 15; i++)
{ {
LOG_DEBUG("r%i: 0x%8.8" PRIx32 "", i, context[i]); LOG_DEBUG("r%i: 0x%8.8" PRIx32 "", i, context[i]);
buf_set_u32(ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).value, 0, 32, context[i]); buf_set_u32(ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).value, 0, 32, context[i]);
@ -2240,7 +2240,7 @@ int arm7_9_read_memory(struct target_s *target, uint32_t address, uint32_t size,
reg[0] = address; reg[0] = address;
arm7_9->write_core_regs(target, 0x1, reg); arm7_9->write_core_regs(target, 0x1, reg);
int j=0; int j = 0;
switch (size) switch (size)
{ {
@ -2362,7 +2362,7 @@ int arm7_9_read_memory(struct target_s *target, uint32_t address, uint32_t size,
if (armv4_5_mode_to_number(armv4_5->core_mode)==-1) if (armv4_5_mode_to_number(armv4_5->core_mode)==-1)
return ERROR_FAIL; return ERROR_FAIL;
for (i=0; i <= last_reg; i++) for (i = 0; i <= last_reg; i++)
ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).dirty = ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).valid; ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).dirty = ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).valid;
arm7_9->read_xpsr(target, &cpsr, 0); arm7_9->read_xpsr(target, &cpsr, 0);
@ -2545,7 +2545,7 @@ int arm7_9_write_memory(struct target_s *target, uint32_t address, uint32_t size
if (armv4_5_mode_to_number(armv4_5->core_mode)==-1) if (armv4_5_mode_to_number(armv4_5->core_mode)==-1)
return ERROR_FAIL; return ERROR_FAIL;
for (i=0; i <= last_reg; i++) for (i = 0; i <= last_reg; i++)
ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).dirty = ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).valid; ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).dirty = ARMV4_5_CORE_REG_MODE(armv4_5->core_cache, armv4_5->core_mode, i).valid;
arm7_9->read_xpsr(target, &cpsr, 0); arm7_9->read_xpsr(target, &cpsr, 0);
@ -2576,12 +2576,12 @@ static int arm7_9_dcc_completion(struct target_s *target, uint32_t exit_point, i
armv4_5_common_t *armv4_5 = target->arch_info; armv4_5_common_t *armv4_5 = target->arch_info;
arm7_9_common_t *arm7_9 = armv4_5->arch_info; arm7_9_common_t *arm7_9 = armv4_5->arch_info;
if ((retval=target_wait_state(target, TARGET_DEBUG_RUNNING, 500)) != ERROR_OK) if ((retval = target_wait_state(target, TARGET_DEBUG_RUNNING, 500)) != ERROR_OK)
return retval; return retval;
int little=target->endianness == TARGET_LITTLE_ENDIAN; int little = target->endianness == TARGET_LITTLE_ENDIAN;
int count=dcc_count; int count = dcc_count;
uint8_t *buffer=dcc_buffer; uint8_t *buffer = dcc_buffer;
if (count>2) if (count>2)
{ {
/* Handle first & last using standard embeddedice_write_reg and the middle ones w/the /* Handle first & last using standard embeddedice_write_reg and the middle ones w/the
@ -2669,18 +2669,18 @@ int arm7_9_bulk_write_memory(target_t *target, uint32_t address, uint32_t count,
buf_set_u32(reg_params[0].value, 0, 32, address); buf_set_u32(reg_params[0].value, 0, 32, address);
dcc_count=count; dcc_count = count;
dcc_buffer=buffer; dcc_buffer = buffer;
retval = armv4_5_run_algorithm_inner(target, 0, NULL, 1, reg_params, retval = armv4_5_run_algorithm_inner(target, 0, NULL, 1, reg_params,
arm7_9->dcc_working_area->address, arm7_9->dcc_working_area->address+6*4, 20*1000, &armv4_5_info, arm7_9_dcc_completion); arm7_9->dcc_working_area->address, arm7_9->dcc_working_area->address+6*4, 20*1000, &armv4_5_info, arm7_9_dcc_completion);
if (retval == ERROR_OK) if (retval == ERROR_OK)
{ {
uint32_t endaddress=buf_get_u32(reg_params[0].value, 0, 32); uint32_t endaddress = buf_get_u32(reg_params[0].value, 0, 32);
if (endaddress != (address+count*4)) if (endaddress != (address+count*4))
{ {
LOG_ERROR("DCC write failed, expected end address 0x%08" PRIx32 " got 0x%0" PRIx32 "", (address+count*4), endaddress); LOG_ERROR("DCC write failed, expected end address 0x%08" PRIx32 " got 0x%0" PRIx32 "", (address+count*4), endaddress);
retval=ERROR_FAIL; retval = ERROR_FAIL;
} }
} }
@ -2734,7 +2734,7 @@ int arm7_9_checksum_memory(struct target_s *target, uint32_t address, uint32_t c
/* convert flash writing code into a buffer in target endianness */ /* convert flash writing code into a buffer in target endianness */
for (i = 0; i < (sizeof(arm7_9_crc_code)/sizeof(uint32_t)); i++) for (i = 0; i < (sizeof(arm7_9_crc_code)/sizeof(uint32_t)); i++)
{ {
if ((retval=target_write_u32(target, crc_algorithm->address + i*sizeof(uint32_t), arm7_9_crc_code[i])) != ERROR_OK) if ((retval = target_write_u32(target, crc_algorithm->address + i*sizeof(uint32_t), arm7_9_crc_code[i])) != ERROR_OK)
{ {
return retval; return retval;
} }

View File

@ -216,9 +216,9 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, uint32_t *in)
void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip) void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip)
{ {
uint32_t readback=le_to_h_u32(tmp); uint32_t readback = le_to_h_u32(tmp);
if (flip) if (flip)
readback=flip_u32(readback, 32); readback = flip_u32(readback, 32);
switch (size) switch (size)
{ {
case 4: case 4:
@ -247,7 +247,7 @@ void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip)
static int arm7endianness(jtag_callback_data_t arg, jtag_callback_data_t size, jtag_callback_data_t be, jtag_callback_data_t captured) static int arm7endianness(jtag_callback_data_t arg, jtag_callback_data_t size, jtag_callback_data_t be, jtag_callback_data_t captured)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 1); arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 1);
return ERROR_OK; return ERROR_OK;
} }
@ -724,7 +724,7 @@ int arm7tdmi_examine(struct target_s *target)
{ {
/* get pointers to arch-specific information */ /* get pointers to arch-specific information */
reg_cache_t **cache_p = register_get_last_cache_p(&target->reg_cache); reg_cache_t **cache_p = register_get_last_cache_p(&target->reg_cache);
reg_cache_t *t=embeddedice_build_reg_cache(target, arm7_9); reg_cache_t *t = embeddedice_build_reg_cache(target, arm7_9);
if (t == NULL) if (t == NULL)
return ERROR_FAIL; return ERROR_FAIL;
@ -739,13 +739,13 @@ int arm7tdmi_examine(struct target_s *target)
} }
target_set_examined(target); target_set_examined(target);
} }
if ((retval=embeddedice_setup(target)) != ERROR_OK) if ((retval = embeddedice_setup(target)) != ERROR_OK)
return retval; return retval;
if ((retval=arm7_9_setup(target)) != ERROR_OK) if ((retval = arm7_9_setup(target)) != ERROR_OK)
return retval; return retval;
if (arm7_9->etm_ctx) if (arm7_9->etm_ctx)
{ {
if ((retval=etm_setup(target)) != ERROR_OK) if ((retval = etm_setup(target)) != ERROR_OK)
return retval; return retval;
} }
return ERROR_OK; return ERROR_OK;

View File

@ -572,9 +572,9 @@ int arm920t_soft_reset_halt(struct target_s *target)
return retval; return retval;
} }
long long then=timeval_ms(); long long then = timeval_ms();
int timeout; int timeout;
while (!(timeout=((timeval_ms()-then)>1000))) while (!(timeout = ((timeval_ms()-then)>1000)))
{ {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{ {

View File

@ -317,7 +317,7 @@ int arm926ejs_examine_debug_reason(target_t *target)
* openocd development mailing list if you have hardware * openocd development mailing list if you have hardware
* to donate to look into this problem.... * to donate to look into this problem....
*/ */
LOG_ERROR("mystery debug reason MOE=0xc. Try issuing a resume + halt."); LOG_ERROR("mystery debug reason MOE = 0xc. Try issuing a resume + halt.");
target->debug_reason = DBG_REASON_DBGRQ; target->debug_reason = DBG_REASON_DBGRQ;
retval = ERROR_TARGET_FAILURE; retval = ERROR_TARGET_FAILURE;
break; break;
@ -572,9 +572,9 @@ int arm926ejs_soft_reset_halt(struct target_s *target)
return retval; return retval;
} }
long long then=timeval_ms(); long long then = timeval_ms();
int timeout; int timeout;
while (!(timeout=((timeval_ms()-then)>1000))) while (!(timeout = ((timeval_ms()-then)>1000)))
{ {
if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0) if (buf_get_u32(dbg_stat->value, EICE_DBG_STATUS_DBGACK, 1) == 0)
{ {

View File

@ -203,7 +203,7 @@ int arm9tdmi_clock_out(arm_jtag_t *jtag_info, uint32_t instr, uint32_t out, uint
if (in) if (in)
{ {
fields[0].in_value=(uint8_t *)in; fields[0].in_value = (uint8_t *)in;
jtag_add_dr_scan(3, fields, jtag_get_end_state()); jtag_add_dr_scan(3, fields, jtag_get_end_state());
jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in); jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)in);
@ -294,7 +294,7 @@ extern void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip);
static int arm9endianness(jtag_callback_data_t arg, jtag_callback_data_t size, jtag_callback_data_t be, jtag_callback_data_t captured) static int arm9endianness(jtag_callback_data_t arg, jtag_callback_data_t size, jtag_callback_data_t be, jtag_callback_data_t captured)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 0); arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 0);
return ERROR_OK; return ERROR_OK;
} }
@ -817,7 +817,7 @@ int arm9tdmi_examine(struct target_s *target)
reg_cache_t **cache_p = register_get_last_cache_p(&target->reg_cache); reg_cache_t **cache_p = register_get_last_cache_p(&target->reg_cache);
reg_cache_t *t; reg_cache_t *t;
/* one extra register (vector catch) */ /* one extra register (vector catch) */
t=embeddedice_build_reg_cache(target, arm7_9); t = embeddedice_build_reg_cache(target, arm7_9);
if (t == NULL) if (t == NULL)
return ERROR_FAIL; return ERROR_FAIL;
(*cache_p) = t; (*cache_p) = t;
@ -831,13 +831,13 @@ int arm9tdmi_examine(struct target_s *target)
} }
target_set_examined(target); target_set_examined(target);
} }
if ((retval=embeddedice_setup(target)) != ERROR_OK) if ((retval = embeddedice_setup(target)) != ERROR_OK)
return retval; return retval;
if ((retval=arm7_9_setup(target)) != ERROR_OK) if ((retval = arm7_9_setup(target)) != ERROR_OK)
return retval; return retval;
if (arm7_9->etm_ctx) if (arm7_9->etm_ctx)
{ {
if ((retval=etm_setup(target)) != ERROR_OK) if ((retval = etm_setup(target)) != ERROR_OK)
return retval; return retval;
} }
return ERROR_OK; return ERROR_OK;

View File

@ -152,7 +152,7 @@ int scan_inout_check(swjdp_common_t *swjdp, uint8_t instr, uint8_t reg_addr, uin
adi_jtag_dp_scan(swjdp, DAP_IR_DPACC, DP_RDBUFF, DPAP_READ, 0, invalue, &swjdp->ack); adi_jtag_dp_scan(swjdp, DAP_IR_DPACC, DP_RDBUFF, DPAP_READ, 0, invalue, &swjdp->ack);
} }
/* In TRANS_MODE_ATOMIC all DAP_IR_APACC transactions wait for ack=OK/FAULT and the check CTRL_STAT */ /* In TRANS_MODE_ATOMIC all DAP_IR_APACC transactions wait for ack = OK/FAULT and the check CTRL_STAT */
if ((instr == DAP_IR_APACC) && (swjdp->trans_mode == TRANS_MODE_ATOMIC)) if ((instr == DAP_IR_APACC) && (swjdp->trans_mode == TRANS_MODE_ATOMIC))
{ {
return swjdp_transaction_endcheck(swjdp); return swjdp_transaction_endcheck(swjdp);
@ -170,7 +170,7 @@ int scan_inout_check_u32(swjdp_common_t *swjdp, uint8_t instr, uint8_t reg_addr,
adi_jtag_dp_scan_u32(swjdp, DAP_IR_DPACC, DP_RDBUFF, DPAP_READ, 0, invalue, &swjdp->ack); adi_jtag_dp_scan_u32(swjdp, DAP_IR_DPACC, DP_RDBUFF, DPAP_READ, 0, invalue, &swjdp->ack);
} }
/* In TRANS_MODE_ATOMIC all DAP_IR_APACC transactions wait for ack=OK/FAULT and then check CTRL_STAT */ /* In TRANS_MODE_ATOMIC all DAP_IR_APACC transactions wait for ack = OK/FAULT and then check CTRL_STAT */
if ((instr == DAP_IR_APACC) && (swjdp->trans_mode == TRANS_MODE_ATOMIC)) if ((instr == DAP_IR_APACC) && (swjdp->trans_mode == TRANS_MODE_ATOMIC))
{ {
return swjdp_transaction_endcheck(swjdp); return swjdp_transaction_endcheck(swjdp);
@ -195,7 +195,7 @@ int swjdp_transaction_endcheck(swjdp_common_t *swjdp)
https://lists.berlios.de/pipermail/openocd-development/2008-September/003107.html https://lists.berlios.de/pipermail/openocd-development/2008-September/003107.html
*/ */
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
{ {
LOG_ERROR("BUG: Why does this fail the first time????"); LOG_ERROR("BUG: Why does this fail the first time????");
} }
@ -203,14 +203,14 @@ int swjdp_transaction_endcheck(swjdp_common_t *swjdp)
#endif #endif
scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat); scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
swjdp->ack = swjdp->ack & 0x7; swjdp->ack = swjdp->ack & 0x7;
if (swjdp->ack != 2) if (swjdp->ack != 2)
{ {
long long then=timeval_ms(); long long then = timeval_ms();
while (swjdp->ack != 2) while (swjdp->ack != 2)
{ {
if (swjdp->ack == 1) if (swjdp->ack == 1)
@ -228,7 +228,7 @@ int swjdp_transaction_endcheck(swjdp_common_t *swjdp)
} }
scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat); scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
swjdp->ack = swjdp->ack & 0x7; swjdp->ack = swjdp->ack & 0x7;
} }
@ -261,19 +261,19 @@ int swjdp_transaction_endcheck(swjdp_common_t *swjdp)
/* Clear Sticky Error Bits */ /* Clear Sticky Error Bits */
scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_WRITE, swjdp->dp_ctrl_stat | SSTICKYORUN | SSTICKYERR, NULL); scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_WRITE, swjdp->dp_ctrl_stat | SSTICKYORUN | SSTICKYERR, NULL);
scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat); scan_inout_check_u32(swjdp, DAP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
LOG_DEBUG("swjdp: status 0x%" PRIx32 "", ctrlstat); LOG_DEBUG("swjdp: status 0x%" PRIx32 "", ctrlstat);
dap_ap_read_reg_u32(swjdp, AP_REG_CSW, &mem_ap_csw); dap_ap_read_reg_u32(swjdp, AP_REG_CSW, &mem_ap_csw);
dap_ap_read_reg_u32(swjdp, AP_REG_TAR, &mem_ap_tar); dap_ap_read_reg_u32(swjdp, AP_REG_TAR, &mem_ap_tar);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
LOG_ERROR("Read MEM_AP_CSW 0x%" PRIx32 ", MEM_AP_TAR 0x%" PRIx32 "", mem_ap_csw, mem_ap_tar); LOG_ERROR("Read MEM_AP_CSW 0x%" PRIx32 ", MEM_AP_TAR 0x%" PRIx32 "", mem_ap_csw, mem_ap_tar);
} }
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
return ERROR_JTAG_DEVICE_ERROR; return ERROR_JTAG_DEVICE_ERROR;
} }
@ -971,7 +971,7 @@ int ahbap_debugport_init(swjdp_common_t *swjdp)
dap_dp_write_reg(swjdp, swjdp->dp_ctrl_stat, DP_CTRL_STAT); dap_dp_write_reg(swjdp, swjdp->dp_ctrl_stat, DP_CTRL_STAT);
dap_dp_read_reg(swjdp, &ctrlstat, DP_CTRL_STAT); dap_dp_read_reg(swjdp, &ctrlstat, DP_CTRL_STAT);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
/* Check that we have debug power domains activated */ /* Check that we have debug power domains activated */
@ -979,7 +979,7 @@ int ahbap_debugport_init(swjdp_common_t *swjdp)
{ {
LOG_DEBUG("swjdp: wait CDBGPWRUPACK"); LOG_DEBUG("swjdp: wait CDBGPWRUPACK");
dap_dp_read_reg(swjdp, &ctrlstat, DP_CTRL_STAT); dap_dp_read_reg(swjdp, &ctrlstat, DP_CTRL_STAT);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
alive_sleep(10); alive_sleep(10);
} }
@ -988,7 +988,7 @@ int ahbap_debugport_init(swjdp_common_t *swjdp)
{ {
LOG_DEBUG("swjdp: wait CSYSPWRUPACK"); LOG_DEBUG("swjdp: wait CSYSPWRUPACK");
dap_dp_read_reg(swjdp, &ctrlstat, DP_CTRL_STAT); dap_dp_read_reg(swjdp, &ctrlstat, DP_CTRL_STAT);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
alive_sleep(10); alive_sleep(10);
} }

View File

@ -60,14 +60,14 @@ int arm_jtag_buf_to_8(uint8_t *in_buf, void *priv, struct scan_field_s *field);
/* use this as a static so we can inline it in -O3 and refer to it via a pointer */ /* use this as a static so we can inline it in -O3 and refer to it via a pointer */
static __inline__ void arm7flip32(jtag_callback_data_t arg) static __inline__ void arm7flip32(jtag_callback_data_t arg)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
*((uint32_t *)in)=flip_u32(le_to_h_u32(in), 32); *((uint32_t *)in) = flip_u32(le_to_h_u32(in), 32);
} }
static __inline__ void arm_le_to_h_u32(jtag_callback_data_t arg) static __inline__ void arm_le_to_h_u32(jtag_callback_data_t arg)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
*((uint32_t *)in)=le_to_h_u32(in); *((uint32_t *)in) = le_to_h_u32(in);
} }

View File

@ -501,9 +501,9 @@ static int armv4_5_run_algorithm_completion(struct target_s *target, uint32_t ex
} }
if (target->state != TARGET_HALTED) if (target->state != TARGET_HALTED)
{ {
if ((retval=target_halt(target)) != ERROR_OK) if ((retval = target_halt(target)) != ERROR_OK)
return retval; return retval;
if ((retval=target_wait_state(target, TARGET_HALTED, 500)) != ERROR_OK) if ((retval = target_wait_state(target, TARGET_HALTED, 500)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -614,7 +614,7 @@ int armv4_5_run_algorithm_inner(struct target_s *target, int num_mem_params, mem
return retval; return retval;
} }
int retvaltemp; int retvaltemp;
retval=run_it(target, exit_point, timeout_ms, arch_info); retval = run_it(target, exit_point, timeout_ms, arch_info);
breakpoint_remove(target, exit_point); breakpoint_remove(target, exit_point);

View File

@ -154,7 +154,7 @@ extern int armv4_5_invalidate_core_regs(target_t *target);
* Rn: base register * Rn: base register
* List: for each bit in list: store register * List: for each bit in list: store register
* S: in priviledged mode: store user-mode registers * S: in priviledged mode: store user-mode registers
* W=1: update the base register. W=0: leave the base register untouched * W = 1: update the base register. W = 0: leave the base register untouched
*/ */
#define ARMV4_5_STMIA(Rn, List, S, W) (0xe8800000 | ((S) << 22) | ((W) << 21) | ((Rn) << 16) | (List)) #define ARMV4_5_STMIA(Rn, List, S, W) (0xe8800000 | ((S) << 22) | ((W) << 21) | ((Rn) << 16) | (List))
@ -162,7 +162,7 @@ extern int armv4_5_invalidate_core_regs(target_t *target);
* Rn: base register * Rn: base register
* List: for each bit in list: store register * List: for each bit in list: store register
* S: in priviledged mode: store user-mode registers * S: in priviledged mode: store user-mode registers
* W=1: update the base register. W=0: leave the base register untouched * W = 1: update the base register. W = 0: leave the base register untouched
*/ */
#define ARMV4_5_LDMIA(Rn, List, S, W) (0xe8900000 | ((S) << 22) | ((W) << 21) | ((Rn) << 16) | (List)) #define ARMV4_5_LDMIA(Rn, List, S, W) (0xe8900000 | ((S) << 22) | ((W) << 21) | ((Rn) << 16) | (List))
@ -170,7 +170,7 @@ extern int armv4_5_invalidate_core_regs(target_t *target);
#define ARMV4_5_NOP (0xe1a08008) #define ARMV4_5_NOP (0xe1a08008)
/* Move PSR to general purpose register /* Move PSR to general purpose register
* R=1: SPSR R=0: CPSR * R = 1: SPSR R = 0: CPSR
* Rn: target register * Rn: target register
*/ */
#define ARMV4_5_MRS(Rn, R) (0xe10f0000 | ((R) << 22) | ((Rn) << 12)) #define ARMV4_5_MRS(Rn, R) (0xe10f0000 | ((R) << 22) | ((Rn) << 12))
@ -188,7 +188,7 @@ extern int armv4_5_invalidate_core_regs(target_t *target);
#define ARMV4_5_LDR(Rd, Rn) (0xe5900000 | ((Rd) << 12) | ((Rn) << 16)) #define ARMV4_5_LDR(Rd, Rn) (0xe5900000 | ((Rd) << 12) | ((Rn) << 16))
/* Move general purpose register to PSR /* Move general purpose register to PSR
* R=1: SPSR R=0: CPSR * R = 1: SPSR R = 0: CPSR
* Field: Field mask * Field: Field mask
* 1: control field 2: extension field 4: status field 8: flags field * 1: control field 2: extension field 4: status field 8: flags field
* Rm: source register * Rm: source register

View File

@ -304,9 +304,9 @@ static int armv7m_run_and_wait(struct target_s *target, uint32_t entry_point, in
/* If the target fails to halt due to the breakpoint, force a halt */ /* If the target fails to halt due to the breakpoint, force a halt */
if (retval != ERROR_OK || target->state != TARGET_HALTED) if (retval != ERROR_OK || target->state != TARGET_HALTED)
{ {
if ((retval=target_halt(target)) != ERROR_OK) if ((retval = target_halt(target)) != ERROR_OK)
return retval; return retval;
if ((retval=target_wait_state(target, TARGET_HALTED, 500)) != ERROR_OK) if ((retval = target_wait_state(target, TARGET_HALTED, 500)) != ERROR_OK)
{ {
return retval; return retval;
} }
@ -356,7 +356,7 @@ int armv7m_run_algorithm(struct target_s *target, int num_mem_params, mem_param_
for (i = 0; i < num_mem_params; i++) for (i = 0; i < num_mem_params; i++)
{ {
if ((retval=target_write_buffer(target, mem_params[i].address, mem_params[i].size, mem_params[i].value)) != ERROR_OK) if ((retval = target_write_buffer(target, mem_params[i].address, mem_params[i].size, mem_params[i].value)) != ERROR_OK)
return retval; return retval;
} }

View File

@ -694,7 +694,7 @@ int cortex_m3_resume(struct target_s *target, int current, uint32_t address, int
return ERROR_OK; return ERROR_OK;
} }
/* int irqstepcount=0; */ /* int irqstepcount = 0; */
int cortex_m3_step(struct target_s *target, int current, uint32_t address, int handle_breakpoints) int cortex_m3_step(struct target_s *target, int current, uint32_t address, int handle_breakpoints)
{ {
/* get pointers to arch-specific information */ /* get pointers to arch-specific information */
@ -886,7 +886,7 @@ void cortex_m3_enable_breakpoints(struct target_s *target)
int cortex_m3_set_breakpoint(struct target_s *target, breakpoint_t *breakpoint) int cortex_m3_set_breakpoint(struct target_s *target, breakpoint_t *breakpoint)
{ {
int retval; int retval;
int fp_num=0; int fp_num = 0;
uint32_t hilo; uint32_t hilo;
/* get pointers to arch-specific information */ /* get pointers to arch-specific information */
@ -1075,7 +1075,7 @@ int cortex_m3_remove_breakpoint(struct target_s *target, breakpoint_t *breakpoin
int cortex_m3_set_watchpoint(struct target_s *target, watchpoint_t *watchpoint) int cortex_m3_set_watchpoint(struct target_s *target, watchpoint_t *watchpoint)
{ {
int dwt_num=0; int dwt_num = 0;
uint32_t mask, temp; uint32_t mask, temp;
/* get pointers to arch-specific information */ /* get pointers to arch-specific information */
@ -1285,7 +1285,7 @@ int cortex_m3_store_core_reg_u32(struct target_s *target, enum armv7m_regtype ty
* in "thumb" mode, or an INVSTATE exception will occur. This is a * in "thumb" mode, or an INVSTATE exception will occur. This is a
* hack to deal with the fact that gdb will sometimes "forge" * hack to deal with the fact that gdb will sometimes "forge"
* return addresses, and doesn't set the LSB correctly (i.e., when * return addresses, and doesn't set the LSB correctly (i.e., when
* printing expressions containing function calls, it sets LR=0.) */ * printing expressions containing function calls, it sets LR = 0.) */
if (num == 14) if (num == 14)
value |= 0x01; value |= 0x01;

View File

@ -125,7 +125,7 @@ reg_cache_t* embeddedice_build_reg_cache(target_t *target, arm7_9_common_t *arm7
/* identify EmbeddedICE version by reading DCC control register */ /* identify EmbeddedICE version by reading DCC control register */
embeddedice_read_reg(&reg_list[EICE_COMMS_CTRL]); embeddedice_read_reg(&reg_list[EICE_COMMS_CTRL]);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
{ {
for (i = 0; i < num_regs; i++) for (i = 0; i < num_regs; i++)
{ {
@ -204,7 +204,7 @@ int embeddedice_setup(target_t *target)
reg_t *dbg_ctrl = &arm7_9->eice_cache->reg_list[EICE_DBG_CTRL]; reg_t *dbg_ctrl = &arm7_9->eice_cache->reg_list[EICE_DBG_CTRL];
embeddedice_read_reg(dbg_ctrl); embeddedice_read_reg(dbg_ctrl);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
buf_set_u32(dbg_ctrl->value, 4, 1, 0); buf_set_u32(dbg_ctrl->value, 4, 1, 0);
embeddedice_set_reg_w_exec(dbg_ctrl, dbg_ctrl->value); embeddedice_set_reg_w_exec(dbg_ctrl, dbg_ctrl->value);

View File

@ -160,8 +160,8 @@ static int etb_get_reg(reg_t *reg)
static void etb_getbuf(jtag_callback_data_t arg) static void etb_getbuf(jtag_callback_data_t arg)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
*((uint32_t *)in)=buf_get_u32(in, 0, 32); *((uint32_t *)in) = buf_get_u32(in, 0, 32);
} }

View File

@ -282,10 +282,10 @@ int etm_setup(target_t *target)
buf_set_u32(etm_ctrl_reg->value, 0, etm_ctrl_reg->size, etm_ctrl_value); buf_set_u32(etm_ctrl_reg->value, 0, etm_ctrl_reg->size, etm_ctrl_value);
etm_store_reg(etm_ctrl_reg); etm_store_reg(etm_ctrl_reg);
if ((retval=jtag_execute_queue()) != ERROR_OK) if ((retval = jtag_execute_queue()) != ERROR_OK)
return retval; return retval;
if ((retval=etm_ctx->capture_driver->init(etm_ctx)) != ERROR_OK) if ((retval = etm_ctx->capture_driver->init(etm_ctx)) != ERROR_OK)
{ {
LOG_ERROR("ETM capture driver initialization failed"); LOG_ERROR("ETM capture driver initialization failed");
return retval; return retval;
@ -1266,12 +1266,12 @@ static int handle_etm_config_command(struct command_context_s *cmd_ctx, char *cm
return ERROR_FAIL; return ERROR_FAIL;
} }
for (i=0; etm_capture_drivers[i]; i++) for (i = 0; etm_capture_drivers[i]; i++)
{ {
if (strcmp(args[4], etm_capture_drivers[i]->name) == 0) if (strcmp(args[4], etm_capture_drivers[i]->name) == 0)
{ {
int retval; int retval;
if ((retval=etm_capture_drivers[i]->register_commands(cmd_ctx)) != ERROR_OK) if ((retval = etm_capture_drivers[i]->register_commands(cmd_ctx)) != ERROR_OK)
{ {
free(etm_ctx); free(etm_ctx);
return retval; return retval;

View File

@ -59,7 +59,7 @@ static int autodetect_image_type(image_t *image, char *url)
{ {
if (read_bytes != 9) if (read_bytes != 9)
{ {
retval=ERROR_FILEIO_OPERATION_FAILED; retval = ERROR_FILEIO_OPERATION_FAILED;
} }
} }
fileio_close(&fileio); fileio_close(&fileio);
@ -414,12 +414,12 @@ static int image_elf_read_headers(image_t *image)
/* count useful segments (loadable), ignore BSS section */ /* count useful segments (loadable), ignore BSS section */
image->num_sections = 0; image->num_sections = 0;
for (i=0;i<elf->segment_count;i++) for (i = 0;i<elf->segment_count;i++)
if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0)) if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0))
image->num_sections++; image->num_sections++;
/* alloc and fill sections array with loadable segments */ /* alloc and fill sections array with loadable segments */
image->sections = malloc(image->num_sections * sizeof(image_section_t)); image->sections = malloc(image->num_sections * sizeof(image_section_t));
for (i=0,j=0;i<elf->segment_count;i++) for (i = 0,j = 0;i<elf->segment_count;i++)
{ {
if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0)) if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0))
{ {
@ -446,7 +446,7 @@ static int image_elf_read_section(image_t *image, int section, uint32_t offset,
*size_read = 0; *size_read = 0;
LOG_DEBUG("load segment %d at 0x%" PRIx32 " (sz=0x%" PRIx32 ")",section,offset,size); LOG_DEBUG("load segment %d at 0x%" PRIx32 " (sz = 0x%" PRIx32 ")",section,offset,size);
/* read initialized data in current segment if any */ /* read initialized data in current segment if any */
if (offset<field32(elf,segment->p_filesz)) if (offset<field32(elf,segment->p_filesz))
@ -762,15 +762,15 @@ int image_open(image_t *image, char *url, char *type_string)
{ {
/* relocate */ /* relocate */
int section; int section;
for (section=0; section < image->num_sections; section++) for (section = 0; section < image->num_sections; section++)
{ {
image->sections[section].base_address += image->base_address; image->sections[section].base_address += image->base_address;
} }
/* we're done relocating. The two statements below are mainly /* we're done relocating. The two statements below are mainly
* for documenation purposes: stop anyone from empirically * for documenation purposes: stop anyone from empirically
* thinking they should use these values henceforth. */ * thinking they should use these values henceforth. */
image->base_address=0; image->base_address = 0;
image->base_address_set=0; image->base_address_set = 0;
} }
return retval; return retval;
@ -1017,10 +1017,10 @@ int image_calculate_checksum(uint8_t* buffer, uint32_t nbytes, uint32_t* checksu
while (nbytes>0) while (nbytes>0)
{ {
int run=nbytes; int run = nbytes;
if (run>32768) if (run>32768)
{ {
run=32768; run = 32768;
} }
nbytes -= run; nbytes -= run;
while (run--) while (run--)

View File

@ -369,7 +369,7 @@ int mips32_dmaacc_read_mem32(mips_ejtag_t *ejtag_info, uint32_t addr, int count,
int i; int i;
int retval; int retval;
for (i=0; i<count; i++) { for (i = 0; i<count; i++) {
if ((retval = ejtag_dma_read(ejtag_info, addr+i*sizeof(*buf), &buf[i])) != ERROR_OK) if ((retval = ejtag_dma_read(ejtag_info, addr+i*sizeof(*buf), &buf[i])) != ERROR_OK)
return retval; return retval;
} }
@ -382,7 +382,7 @@ int mips32_dmaacc_read_mem16(mips_ejtag_t *ejtag_info, uint32_t addr, int count,
int i; int i;
int retval; int retval;
for (i=0; i<count; i++) { for (i = 0; i<count; i++) {
if ((retval = ejtag_dma_read_h(ejtag_info, addr+i*sizeof(*buf), &buf[i])) != ERROR_OK) if ((retval = ejtag_dma_read_h(ejtag_info, addr+i*sizeof(*buf), &buf[i])) != ERROR_OK)
return retval; return retval;
} }
@ -395,7 +395,7 @@ int mips32_dmaacc_read_mem8(mips_ejtag_t *ejtag_info, uint32_t addr, int count,
int i; int i;
int retval; int retval;
for (i=0; i<count; i++) { for (i = 0; i<count; i++) {
if ((retval = ejtag_dma_read_b(ejtag_info, addr+i*sizeof(*buf), &buf[i])) != ERROR_OK) if ((retval = ejtag_dma_read_b(ejtag_info, addr+i*sizeof(*buf), &buf[i])) != ERROR_OK)
return retval; return retval;
} }
@ -423,7 +423,7 @@ int mips32_dmaacc_write_mem32(mips_ejtag_t *ejtag_info, uint32_t addr, int count
int i; int i;
int retval; int retval;
for (i=0; i<count; i++) { for (i = 0; i<count; i++) {
if ((retval = ejtag_dma_write(ejtag_info, addr+i*sizeof(*buf), buf[i])) != ERROR_OK) if ((retval = ejtag_dma_write(ejtag_info, addr+i*sizeof(*buf), buf[i])) != ERROR_OK)
return retval; return retval;
} }
@ -436,7 +436,7 @@ int mips32_dmaacc_write_mem16(mips_ejtag_t *ejtag_info, uint32_t addr, int count
int i; int i;
int retval; int retval;
for (i=0; i<count; i++) { for (i = 0; i<count; i++) {
if ((retval = ejtag_dma_write_h(ejtag_info, addr+i*sizeof(*buf), buf[i])) != ERROR_OK) if ((retval = ejtag_dma_write_h(ejtag_info, addr+i*sizeof(*buf), buf[i])) != ERROR_OK)
return retval; return retval;
} }
@ -449,7 +449,7 @@ int mips32_dmaacc_write_mem8(mips_ejtag_t *ejtag_info, uint32_t addr, int count,
int i; int i;
int retval; int retval;
for (i=0; i<count; i++) { for (i = 0; i<count; i++) {
if ((retval = ejtag_dma_write_b(ejtag_info, addr+i*sizeof(*buf), buf[i])) != ERROR_OK) if ((retval = ejtag_dma_write_b(ejtag_info, addr+i*sizeof(*buf), buf[i])) != ERROR_OK)
return retval; return retval;
} }

View File

@ -301,9 +301,9 @@ int mips32_pracc_read_mem32(mips_ejtag_t *ejtag_info, uint32_t addr, int count,
MIPS32_LUI(8,UPPER16(MIPS32_PRACC_PARAM_IN)), /* $8 = MIPS32_PRACC_PARAM_IN */ MIPS32_LUI(8,UPPER16(MIPS32_PRACC_PARAM_IN)), /* $8 = MIPS32_PRACC_PARAM_IN */
MIPS32_ORI(8,8,LOWER16(MIPS32_PRACC_PARAM_IN)), MIPS32_ORI(8,8,LOWER16(MIPS32_PRACC_PARAM_IN)),
MIPS32_LW(9,0,8), /* $9=mem[$8]; read addr */ MIPS32_LW(9,0,8), /* $9 = mem[$8]; read addr */
MIPS32_LW(10,4,8), /* $10=mem[$8+4]; read count */ MIPS32_LW(10,4,8), /* $10 = mem[$8+4]; read count */
MIPS32_LUI(11,UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $11=MIPS32_PRACC_PARAM_OUT */ MIPS32_LUI(11,UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $11 = MIPS32_PRACC_PARAM_OUT */
MIPS32_ORI(11,11,LOWER16(MIPS32_PRACC_PARAM_OUT)), MIPS32_ORI(11,11,LOWER16(MIPS32_PRACC_PARAM_OUT)),
MIPS32_NOP, MIPS32_NOP,
/* loop: */ /* loop: */
@ -409,9 +409,9 @@ int mips32_pracc_read_mem16(mips_ejtag_t *ejtag_info, uint32_t addr, int count,
MIPS32_LUI(8,UPPER16(MIPS32_PRACC_PARAM_IN)), /* $8 = MIPS32_PRACC_PARAM_IN */ MIPS32_LUI(8,UPPER16(MIPS32_PRACC_PARAM_IN)), /* $8 = MIPS32_PRACC_PARAM_IN */
MIPS32_ORI(8,8,LOWER16(MIPS32_PRACC_PARAM_IN)), MIPS32_ORI(8,8,LOWER16(MIPS32_PRACC_PARAM_IN)),
MIPS32_LW(9,0,8), /* $9=mem[$8]; read addr */ MIPS32_LW(9,0,8), /* $9 = mem[$8]; read addr */
MIPS32_LW(10,4,8), /* $10=mem[$8+4]; read count */ MIPS32_LW(10,4,8), /* $10 = mem[$8+4]; read count */
MIPS32_LUI(11,UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $11=MIPS32_PRACC_PARAM_OUT */ MIPS32_LUI(11,UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $11 = MIPS32_PRACC_PARAM_OUT */
MIPS32_ORI(11,11,LOWER16(MIPS32_PRACC_PARAM_OUT)), MIPS32_ORI(11,11,LOWER16(MIPS32_PRACC_PARAM_OUT)),
MIPS32_NOP, MIPS32_NOP,
/* loop: */ /* loop: */
@ -488,9 +488,9 @@ int mips32_pracc_read_mem8(mips_ejtag_t *ejtag_info, uint32_t addr, int count, u
MIPS32_LUI(8,UPPER16(MIPS32_PRACC_PARAM_IN)), /* $8 = MIPS32_PRACC_PARAM_IN */ MIPS32_LUI(8,UPPER16(MIPS32_PRACC_PARAM_IN)), /* $8 = MIPS32_PRACC_PARAM_IN */
MIPS32_ORI(8,8,LOWER16(MIPS32_PRACC_PARAM_IN)), MIPS32_ORI(8,8,LOWER16(MIPS32_PRACC_PARAM_IN)),
MIPS32_LW(9,0,8), /* $9=mem[$8]; read addr */ MIPS32_LW(9,0,8), /* $9 = mem[$8]; read addr */
MIPS32_LW(10,4,8), /* $10=mem[$8+4]; read count */ MIPS32_LW(10,4,8), /* $10 = mem[$8+4]; read count */
MIPS32_LUI(11,UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $11=MIPS32_PRACC_PARAM_OUT */ MIPS32_LUI(11,UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $11 = MIPS32_PRACC_PARAM_OUT */
MIPS32_ORI(11,11,LOWER16(MIPS32_PRACC_PARAM_OUT)), MIPS32_ORI(11,11,LOWER16(MIPS32_PRACC_PARAM_OUT)),
MIPS32_NOP, MIPS32_NOP,
/* loop: */ /* loop: */

View File

@ -209,7 +209,7 @@ int mips_m4k_poll(target_t *target)
target->state = TARGET_RUNNING; target->state = TARGET_RUNNING;
} }
// LOG_DEBUG("ctrl=0x%08X", ejtag_ctrl); // LOG_DEBUG("ctrl = 0x%08X", ejtag_ctrl);
return ERROR_OK; return ERROR_OK;
} }

View File

@ -1091,7 +1091,7 @@ int target_arch_state(struct target_s *target)
if (target->state != TARGET_HALTED) if (target->state != TARGET_HALTED)
return ERROR_OK; return ERROR_OK;
retval=target->type->arch_state(target); retval = target->type->arch_state(target);
return retval; return retval;
} }
@ -1466,8 +1466,8 @@ int target_register_user_commands(struct command_context_s *cmd_ctx)
/* script procedures */ /* script procedures */
register_command(cmd_ctx, NULL, "profile", handle_profile_command, COMMAND_EXEC, "profiling samples the CPU PC"); register_command(cmd_ctx, NULL, "profile", handle_profile_command, COMMAND_EXEC, "profiling samples the CPU PC");
register_jim(cmd_ctx, "ocd_mem2array", jim_mem2array, "read memory and return as a TCL array for script processing <ARRAYNAME> <WIDTH=32/16/8> <ADDRESS> <COUNT>"); register_jim(cmd_ctx, "ocd_mem2array", jim_mem2array, "read memory and return as a TCL array for script processing <ARRAYNAME> <WIDTH = 32/16/8> <ADDRESS> <COUNT>");
register_jim(cmd_ctx, "ocd_array2mem", jim_array2mem, "convert a TCL array to memory locations and write the values <ARRAYNAME> <WIDTH=32/16/8> <ADDRESS> <COUNT>"); register_jim(cmd_ctx, "ocd_array2mem", jim_array2mem, "convert a TCL array to memory locations and write the values <ARRAYNAME> <WIDTH = 32/16/8> <ADDRESS> <COUNT>");
register_command(cmd_ctx, NULL, "fast_load_image", handle_fast_load_image_command, COMMAND_ANY, register_command(cmd_ctx, NULL, "fast_load_image", handle_fast_load_image_command, COMMAND_ANY,
"same args as load_image, image stored in memory - mainly for profiling purposes"); "same args as load_image, image stored in memory - mainly for profiling purposes");
@ -1584,7 +1584,7 @@ static int sense_handler(void)
static int prevPowerdropout = 0; static int prevPowerdropout = 0;
int retval; int retval;
if ((retval=jtag_power_dropout(&powerDropout)) != ERROR_OK) if ((retval = jtag_power_dropout(&powerDropout)) != ERROR_OK)
return retval; return retval;
int powerRestored; int powerRestored;
@ -1603,7 +1603,7 @@ static int sense_handler(void)
lastPower = current; lastPower = current;
} }
if ((retval=jtag_srst_asserted(&srstAsserted)) != ERROR_OK) if ((retval = jtag_srst_asserted(&srstAsserted)) != ERROR_OK)
return retval; return retval;
int srstDeasserted; int srstDeasserted;
@ -1681,10 +1681,10 @@ int handle_target(void *priv)
/* clear action flags */ /* clear action flags */
runSrstAsserted=0; runSrstAsserted = 0;
runSrstDeasserted=0; runSrstDeasserted = 0;
runPowerRestore=0; runPowerRestore = 0;
runPowerDropout=0; runPowerDropout = 0;
recursive = 0; recursive = 0;
} }
@ -1904,12 +1904,12 @@ static int handle_wait_halt_command(struct command_context_s *cmd_ctx, char *cmd
int target_wait_state(target_t *target, enum target_state state, int ms) int target_wait_state(target_t *target, enum target_state state, int ms)
{ {
int retval; int retval;
long long then=0, cur; long long then = 0, cur;
int once=1; int once = 1;
for (;;) for (;;)
{ {
if ((retval=target_poll(target)) != ERROR_OK) if ((retval = target_poll(target)) != ERROR_OK)
return retval; return retval;
if (target->state == state) if (target->state == state)
{ {
@ -1918,7 +1918,7 @@ int target_wait_state(target_t *target, enum target_state state, int ms)
cur = timeval_ms(); cur = timeval_ms();
if (once) if (once)
{ {
once=0; once = 0;
then = timeval_ms(); then = timeval_ms();
LOG_DEBUG("waiting for target %s...", LOG_DEBUG("waiting for target %s...",
Jim_Nvp_value2name_simple(nvp_target_state,state)->name); Jim_Nvp_value2name_simple(nvp_target_state,state)->name);
@ -2070,7 +2070,7 @@ static void handle_md_output(struct command_context_s *cmd_ctx,
(unsigned)(address + (i*size))); (unsigned)(address + (i*size)));
} }
uint32_t value=0; uint32_t value = 0;
const uint8_t *value_ptr = buffer + i * size; const uint8_t *value_ptr = buffer + i * size;
switch (size) { switch (size) {
case 4: value = target_buffer_get_u32(target, value_ptr); break; case 4: value = target_buffer_get_u32(target, value_ptr); break;
@ -2274,8 +2274,8 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
break; break;
} }
uint32_t offset=0; uint32_t offset = 0;
uint32_t length=buf_cnt; uint32_t length = buf_cnt;
/* DANGER!!! beware of unsigned comparision here!!! */ /* DANGER!!! beware of unsigned comparision here!!! */
@ -2447,13 +2447,13 @@ static int handle_verify_image_command_internal(struct command_context_s *cmd_ct
image.start_address_set = 0; image.start_address_set = 0;
if ((retval=image_open(&image, args[0], (argc == 3) ? args[2] : NULL)) != ERROR_OK) if ((retval = image_open(&image, args[0], (argc == 3) ? args[2] : NULL)) != ERROR_OK)
{ {
return retval; return retval;
} }
image_size = 0x0; image_size = 0x0;
retval=ERROR_OK; retval = ERROR_OK;
for (i = 0; i < image.num_sections; i++) for (i = 0; i < image.num_sections; i++)
{ {
buffer = malloc(image.sections[i].size); buffer = malloc(image.sections[i].size);
@ -2514,7 +2514,7 @@ static int handle_verify_image_command_internal(struct command_context_s *cmd_ct
buffer[t]); buffer[t]);
free(data); free(data);
free(buffer); free(buffer);
retval=ERROR_FAIL; retval = ERROR_FAIL;
goto done; goto done;
} }
if ((t%16384) == 0) if ((t%16384) == 0)
@ -2790,9 +2790,9 @@ static void writeData(FILE *f, const void *data, size_t len)
static void writeLong(FILE *f, int l) static void writeLong(FILE *f, int l)
{ {
int i; int i;
for (i=0; i<4; i++) for (i = 0; i<4; i++)
{ {
char c=(l >> (i*8))&0xff; char c = (l >> (i*8))&0xff;
writeData(f, &c, 1); writeData(f, &c, 1);
} }
@ -2807,7 +2807,7 @@ static void writeString(FILE *f, char *s)
static void writeGmon(uint32_t *samples, uint32_t sampleNum, char *filename) static void writeGmon(uint32_t *samples, uint32_t sampleNum, char *filename)
{ {
uint32_t i; uint32_t i;
FILE *f=fopen(filename, "w"); FILE *f = fopen(filename, "w");
if (f == NULL) if (f == NULL)
return; return;
writeString(f, "gmon"); writeString(f, "gmon");
@ -2820,42 +2820,42 @@ static void writeGmon(uint32_t *samples, uint32_t sampleNum, char *filename)
writeData(f, &zero, 1); writeData(f, &zero, 1);
/* figure out bucket size */ /* figure out bucket size */
uint32_t min=samples[0]; uint32_t min = samples[0];
uint32_t max=samples[0]; uint32_t max = samples[0];
for (i=0; i<sampleNum; i++) for (i = 0; i<sampleNum; i++)
{ {
if (min>samples[i]) if (min>samples[i])
{ {
min=samples[i]; min = samples[i];
} }
if (max<samples[i]) if (max<samples[i])
{ {
max=samples[i]; max = samples[i];
} }
} }
int addressSpace=(max-min+1); int addressSpace = (max-min+1);
static const uint32_t maxBuckets = 256 * 1024; /* maximum buckets. */ static const uint32_t maxBuckets = 256 * 1024; /* maximum buckets. */
uint32_t length = addressSpace; uint32_t length = addressSpace;
if (length > maxBuckets) if (length > maxBuckets)
{ {
length=maxBuckets; length = maxBuckets;
} }
int *buckets=malloc(sizeof(int)*length); int *buckets = malloc(sizeof(int)*length);
if (buckets == NULL) if (buckets == NULL)
{ {
fclose(f); fclose(f);
return; return;
} }
memset(buckets, 0, sizeof(int)*length); memset(buckets, 0, sizeof(int)*length);
for (i=0; i<sampleNum;i++) for (i = 0; i<sampleNum;i++)
{ {
uint32_t address=samples[i]; uint32_t address = samples[i];
long long a=address-min; long long a = address-min;
long long b=length-1; long long b = length-1;
long long c=addressSpace-1; long long c = addressSpace-1;
int index=(a*b)/c; /* danger!!!! int32 overflows */ int index = (a*b)/c; /* danger!!!! int32 overflows */
buckets[index]++; buckets[index]++;
} }
@ -2865,22 +2865,22 @@ static void writeGmon(uint32_t *samples, uint32_t sampleNum, char *filename)
writeLong(f, length); /* # of samples */ writeLong(f, length); /* # of samples */
writeLong(f, 64000000); /* 64MHz */ writeLong(f, 64000000); /* 64MHz */
writeString(f, "seconds"); writeString(f, "seconds");
for (i=0; i<(15-strlen("seconds")); i++) for (i = 0; i<(15-strlen("seconds")); i++)
writeData(f, &zero, 1); writeData(f, &zero, 1);
writeString(f, "s"); writeString(f, "s");
/*append binary memory gmon.out profile_hist_data (profile_hist_data + profile_hist_hdr.hist_size) */ /*append binary memory gmon.out profile_hist_data (profile_hist_data + profile_hist_hdr.hist_size) */
char *data=malloc(2*length); char *data = malloc(2*length);
if (data != NULL) if (data != NULL)
{ {
for (i=0; i<length;i++) for (i = 0; i<length;i++)
{ {
int val; int val;
val=buckets[i]; val = buckets[i];
if (val>65535) if (val>65535)
{ {
val=65535; val = 65535;
} }
data[i*2]=val&0xff; data[i*2]=val&0xff;
data[i*2+1]=(val >> 8)&0xff; data[i*2+1]=(val >> 8)&0xff;
@ -2916,12 +2916,12 @@ static int handle_profile_command(struct command_context_s *cmd_ctx, char *cmd,
command_print(cmd_ctx, "Starting profiling. Halting and resuming the target as often as we can..."); command_print(cmd_ctx, "Starting profiling. Halting and resuming the target as often as we can...");
static const int maxSample=10000; static const int maxSample = 10000;
uint32_t *samples=malloc(sizeof(uint32_t)*maxSample); uint32_t *samples = malloc(sizeof(uint32_t)*maxSample);
if (samples == NULL) if (samples == NULL)
return ERROR_OK; return ERROR_OK;
int numSamples=0; int numSamples = 0;
/* hopefully it is safe to cache! We want to stop/restart as quickly as possible. */ /* hopefully it is safe to cache! We want to stop/restart as quickly as possible. */
reg_t *reg = register_get_by_name(target->reg_cache, "pc", 1); reg_t *reg = register_get_by_name(target->reg_cache, "pc", 1);
@ -2946,7 +2946,7 @@ static int handle_profile_command(struct command_context_s *cmd_ctx, char *cmd,
} else } else
{ {
command_print(cmd_ctx, "Target not halted or running"); command_print(cmd_ctx, "Target not halted or running");
retval=ERROR_OK; retval = ERROR_OK;
break; break;
} }
if (retval != ERROR_OK) if (retval != ERROR_OK)
@ -4206,7 +4206,7 @@ static int target_create( Jim_GetOptInfo *goi )
if (target->tap == NULL) if (target->tap == NULL)
{ {
Jim_SetResultString( interp, "-chain-position required when creating target", -1); Jim_SetResultString( interp, "-chain-position required when creating target", -1);
e=JIM_ERR; e = JIM_ERR;
} }
if ( e != JIM_OK ){ if ( e != JIM_OK ){
@ -4389,13 +4389,13 @@ static void free_fastload(void)
if (fastload != NULL) if (fastload != NULL)
{ {
int i; int i;
for (i=0; i<fastload_num; i++) for (i = 0; i<fastload_num; i++)
{ {
if (fastload[i].data) if (fastload[i].data)
free(fastload[i].data); free(fastload[i].data);
} }
free(fastload); free(fastload);
fastload=NULL; fastload = NULL;
} }
} }
@ -4407,8 +4407,8 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
uint8_t *buffer; uint8_t *buffer;
uint32_t buf_cnt; uint32_t buf_cnt;
uint32_t image_size; uint32_t image_size;
uint32_t min_address=0; uint32_t min_address = 0;
uint32_t max_address=0xffffffff; uint32_t max_address = 0xffffffff;
int i; int i;
image_t image; image_t image;
@ -4430,8 +4430,8 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
image_size = 0x0; image_size = 0x0;
retval = ERROR_OK; retval = ERROR_OK;
fastload_num=image.num_sections; fastload_num = image.num_sections;
fastload=(struct FastLoad *)malloc(sizeof(struct FastLoad)*image.num_sections); fastload = (struct FastLoad *)malloc(sizeof(struct FastLoad)*image.num_sections);
if (fastload == NULL) if (fastload == NULL)
{ {
image_close(&image); image_close(&image);
@ -4454,8 +4454,8 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
break; break;
} }
uint32_t offset=0; uint32_t offset = 0;
uint32_t length=buf_cnt; uint32_t length = buf_cnt;
/* DANGER!!! beware of unsigned comparision here!!! */ /* DANGER!!! beware of unsigned comparision here!!! */
@ -4475,15 +4475,15 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
length -= (image.sections[i].base_address+buf_cnt)-max_address; length -= (image.sections[i].base_address+buf_cnt)-max_address;
} }
fastload[i].address=image.sections[i].base_address+offset; fastload[i].address = image.sections[i].base_address+offset;
fastload[i].data=malloc(length); fastload[i].data = malloc(length);
if (fastload[i].data == NULL) if (fastload[i].data == NULL)
{ {
free(buffer); free(buffer);
break; break;
} }
memcpy(fastload[i].data, buffer+offset, length); memcpy(fastload[i].data, buffer+offset, length);
fastload[i].length=length; fastload[i].length = length;
image_size += length; image_size += length;
command_print(cmd_ctx, "%u byte written at address 0x%8.8x", command_print(cmd_ctx, "%u byte written at address 0x%8.8x",
@ -4522,10 +4522,10 @@ static int handle_fast_load_command(struct command_context_s *cmd_ctx, char *cmd
return ERROR_FAIL; return ERROR_FAIL;
} }
int i; int i;
int ms=timeval_ms(); int ms = timeval_ms();
int size=0; int size = 0;
int retval=ERROR_OK; int retval = ERROR_OK;
for (i=0; i<fastload_num;i++) for (i = 0; i<fastload_num;i++)
{ {
target_t *target = get_current_target(cmd_ctx); target_t *target = get_current_target(cmd_ctx);
command_print(cmd_ctx, "Write to 0x%08x, length 0x%08x", command_print(cmd_ctx, "Write to 0x%08x, length 0x%08x",
@ -4537,7 +4537,7 @@ static int handle_fast_load_command(struct command_context_s *cmd_ctx, char *cmd
} }
size += fastload[i].length; size += fastload[i].length;
} }
int after=timeval_ms(); int after = timeval_ms();
command_print(cmd_ctx, "Loaded image %f kBytes/s", (float)(size/1024.0)/((float)(after-ms)/1000.0)); command_print(cmd_ctx, "Loaded image %f kBytes/s", (float)(size/1024.0)/((float)(after-ms)/1000.0));
return retval; return retval;
} }

View File

@ -87,7 +87,7 @@ extern const Jim_Nvp nvp_target_debug_reason[];
enum target_endianess enum target_endianess
{ {
TARGET_ENDIAN_UNKNOWN=0, TARGET_ENDIAN_UNKNOWN = 0,
TARGET_BIG_ENDIAN = 1, TARGET_LITTLE_ENDIAN = 2 TARGET_BIG_ENDIAN = 1, TARGET_LITTLE_ENDIAN = 2
}; };

View File

@ -295,8 +295,8 @@ int xscale_read_dcsr(target_t *target)
static void xscale_getbuf(jtag_callback_data_t arg) static void xscale_getbuf(jtag_callback_data_t arg)
{ {
uint8_t *in=(uint8_t *)arg; uint8_t *in = (uint8_t *)arg;
*((uint32_t *)in)=buf_get_u32(in, 0, 32); *((uint32_t *)in) = buf_get_u32(in, 0, 32);
} }
int xscale_receive(target_t *target, uint32_t *buffer, int num_words) int xscale_receive(target_t *target, uint32_t *buffer, int num_words)
@ -304,7 +304,7 @@ int xscale_receive(target_t *target, uint32_t *buffer, int num_words)
if (num_words == 0) if (num_words == 0)
return ERROR_INVALID_ARGUMENTS; return ERROR_INVALID_ARGUMENTS;
int retval=ERROR_OK; int retval = ERROR_OK;
armv4_5_common_t *armv4_5 = target->arch_info; armv4_5_common_t *armv4_5 = target->arch_info;
xscale_common_t *xscale = armv4_5->arch_info; xscale_common_t *xscale = armv4_5->arch_info;
@ -351,7 +351,7 @@ int xscale_receive(target_t *target, uint32_t *buffer, int num_words)
jtag_add_runtest(1, jtag_get_end_state()); /* ensures that we're in the TAP_IDLE state as the above could be a no-op */ jtag_add_runtest(1, jtag_get_end_state()); /* ensures that we're in the TAP_IDLE state as the above could be a no-op */
/* repeat until all words have been collected */ /* repeat until all words have been collected */
int attempts=0; int attempts = 0;
while (words_done < num_words) while (words_done < num_words)
{ {
/* schedule reads */ /* schedule reads */
@ -397,7 +397,7 @@ int xscale_receive(target_t *target, uint32_t *buffer, int num_words)
if (attempts++==1000) if (attempts++==1000)
{ {
LOG_ERROR("Failed to receiving data from debug handler after 1000 attempts"); LOG_ERROR("Failed to receiving data from debug handler after 1000 attempts");
retval=ERROR_TARGET_TIMEOUT; retval = ERROR_TARGET_TIMEOUT;
break; break;
} }
} }
@ -886,7 +886,7 @@ int xscale_update_vectors(target_t *target)
} }
else else
{ {
retval=target_read_u32(target, 0xffff0000 + 4*i, &xscale->high_vectors[i]); retval = target_read_u32(target, 0xffff0000 + 4*i, &xscale->high_vectors[i]);
if (retval == ERROR_TARGET_TIMEOUT) if (retval == ERROR_TARGET_TIMEOUT)
return retval; return retval;
if (retval != ERROR_OK) if (retval != ERROR_OK)
@ -905,7 +905,7 @@ int xscale_update_vectors(target_t *target)
} }
else else
{ {
retval=target_read_u32(target, 0x0 + 4*i, &xscale->low_vectors[i]); retval = target_read_u32(target, 0x0 + 4*i, &xscale->low_vectors[i]);
if (retval == ERROR_TARGET_TIMEOUT) if (retval == ERROR_TARGET_TIMEOUT)
return retval; return retval;
if (retval != ERROR_OK) if (retval != ERROR_OK)
@ -973,7 +973,7 @@ int xscale_arch_state(struct target_s *target)
int xscale_poll(target_t *target) int xscale_poll(target_t *target)
{ {
int retval=ERROR_OK; int retval = ERROR_OK;
armv4_5_common_t *armv4_5 = target->arch_info; armv4_5_common_t *armv4_5 = target->arch_info;
xscale_common_t *xscale = armv4_5->arch_info; xscale_common_t *xscale = armv4_5->arch_info;
@ -1028,11 +1028,11 @@ int xscale_debug_entry(target_t *target)
/* clear external dbg break (will be written on next DCSR read) */ /* clear external dbg break (will be written on next DCSR read) */
xscale->external_debug_break = 0; xscale->external_debug_break = 0;
if ((retval=xscale_read_dcsr(target)) != ERROR_OK) if ((retval = xscale_read_dcsr(target)) != ERROR_OK)
return retval; return retval;
/* get r0, pc, r1 to r7 and cpsr */ /* get r0, pc, r1 to r7 and cpsr */
if ((retval=xscale_receive(target, buffer, 10)) != ERROR_OK) if ((retval = xscale_receive(target, buffer, 10)) != ERROR_OK)
return retval; return retval;
/* move r0 from buffer to register cache */ /* move r0 from buffer to register cache */
@ -1253,7 +1253,7 @@ int xscale_enable_single_step(struct target_s *target, uint32_t next_pc)
} }
} }
if ((retval=xscale_set_reg_u32(ibcr0, next_pc | 0x1)) != ERROR_OK) if ((retval = xscale_set_reg_u32(ibcr0, next_pc | 0x1)) != ERROR_OK)
return retval; return retval;
return ERROR_OK; return ERROR_OK;
@ -1266,7 +1266,7 @@ int xscale_disable_single_step(struct target_s *target)
reg_t *ibcr0 = &xscale->reg_cache->reg_list[XSCALE_IBCR0]; reg_t *ibcr0 = &xscale->reg_cache->reg_list[XSCALE_IBCR0];
int retval; int retval;
if ((retval=xscale_set_reg_u32(ibcr0, 0x0)) != ERROR_OK) if ((retval = xscale_set_reg_u32(ibcr0, 0x0)) != ERROR_OK)
return retval; return retval;
return ERROR_OK; return ERROR_OK;
@ -1297,7 +1297,7 @@ int xscale_resume(struct target_s *target, int current, uint32_t address, int ha
} }
/* update vector tables */ /* update vector tables */
if ((retval=xscale_update_vectors(target)) != ERROR_OK) if ((retval = xscale_update_vectors(target)) != ERROR_OK)
return retval; return retval;
/* current = 1: continue on current pc, otherwise continue at <address> */ /* current = 1: continue on current pc, otherwise continue at <address> */
@ -1451,56 +1451,56 @@ static int xscale_step_inner(struct target_s *target, int current, uint32_t addr
} }
LOG_DEBUG("enable single-step"); LOG_DEBUG("enable single-step");
if ((retval=xscale_enable_single_step(target, next_pc)) != ERROR_OK) if ((retval = xscale_enable_single_step(target, next_pc)) != ERROR_OK)
return retval; return retval;
/* restore banked registers */ /* restore banked registers */
if ((retval=xscale_restore_context(target)) != ERROR_OK) if ((retval = xscale_restore_context(target)) != ERROR_OK)
return retval; return retval;
/* send resume request (command 0x30 or 0x31) /* send resume request (command 0x30 or 0x31)
* clean the trace buffer if it is to be enabled (0x62) */ * clean the trace buffer if it is to be enabled (0x62) */
if (xscale->trace.buffer_enabled) if (xscale->trace.buffer_enabled)
{ {
if ((retval=xscale_send_u32(target, 0x62)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x62)) != ERROR_OK)
return retval; return retval;
if ((retval=xscale_send_u32(target, 0x31)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x31)) != ERROR_OK)
return retval; return retval;
} }
else else
if ((retval=xscale_send_u32(target, 0x30)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x30)) != ERROR_OK)
return retval; return retval;
/* send CPSR */ /* send CPSR */
if ((retval=xscale_send_u32(target, buf_get_u32(armv4_5->core_cache->reg_list[ARMV4_5_CPSR].value, 0, 32))) != ERROR_OK) if ((retval = xscale_send_u32(target, buf_get_u32(armv4_5->core_cache->reg_list[ARMV4_5_CPSR].value, 0, 32))) != ERROR_OK)
return retval; return retval;
LOG_DEBUG("writing cpsr with value 0x%8.8" PRIx32 "", buf_get_u32(armv4_5->core_cache->reg_list[ARMV4_5_CPSR].value, 0, 32)); LOG_DEBUG("writing cpsr with value 0x%8.8" PRIx32 "", buf_get_u32(armv4_5->core_cache->reg_list[ARMV4_5_CPSR].value, 0, 32));
for (i = 7; i >= 0; i--) for (i = 7; i >= 0; i--)
{ {
/* send register */ /* send register */
if ((retval=xscale_send_u32(target, buf_get_u32(armv4_5->core_cache->reg_list[i].value, 0, 32))) != ERROR_OK) if ((retval = xscale_send_u32(target, buf_get_u32(armv4_5->core_cache->reg_list[i].value, 0, 32))) != ERROR_OK)
return retval; return retval;
LOG_DEBUG("writing r%i with value 0x%8.8" PRIx32 "", i, buf_get_u32(armv4_5->core_cache->reg_list[i].value, 0, 32)); LOG_DEBUG("writing r%i with value 0x%8.8" PRIx32 "", i, buf_get_u32(armv4_5->core_cache->reg_list[i].value, 0, 32));
} }
/* send PC */ /* send PC */
if ((retval=xscale_send_u32(target, buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32))) != ERROR_OK) if ((retval = xscale_send_u32(target, buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32))) != ERROR_OK)
return retval; return retval;
LOG_DEBUG("writing PC with value 0x%8.8" PRIx32, buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32)); LOG_DEBUG("writing PC with value 0x%8.8" PRIx32, buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32));
target_call_event_callbacks(target, TARGET_EVENT_RESUMED); target_call_event_callbacks(target, TARGET_EVENT_RESUMED);
/* registers are now invalid */ /* registers are now invalid */
if ((retval=armv4_5_invalidate_core_regs(target)) != ERROR_OK) if ((retval = armv4_5_invalidate_core_regs(target)) != ERROR_OK)
return retval; return retval;
/* wait for and process debug entry */ /* wait for and process debug entry */
if ((retval=xscale_debug_entry(target)) != ERROR_OK) if ((retval = xscale_debug_entry(target)) != ERROR_OK)
return retval; return retval;
LOG_DEBUG("disable single-step"); LOG_DEBUG("disable single-step");
if ((retval=xscale_disable_single_step(target)) != ERROR_OK) if ((retval = xscale_disable_single_step(target)) != ERROR_OK)
return retval; return retval;
target_call_event_callbacks(target, TARGET_EVENT_HALTED); target_call_event_callbacks(target, TARGET_EVENT_HALTED);
@ -1531,7 +1531,7 @@ int xscale_step(struct target_s *target, int current, uint32_t address, int hand
/* if we're at the reset vector, we have to simulate the step */ /* if we're at the reset vector, we have to simulate the step */
if (current_pc == 0x0) if (current_pc == 0x0)
{ {
if ((retval=arm_simulate_step(target, NULL)) != ERROR_OK) if ((retval = arm_simulate_step(target, NULL)) != ERROR_OK)
return retval; return retval;
current_pc = buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32); current_pc = buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32);
@ -1545,7 +1545,7 @@ int xscale_step(struct target_s *target, int current, uint32_t address, int hand
if (handle_breakpoints) if (handle_breakpoints)
if ((breakpoint = breakpoint_find(target, buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32)))) if ((breakpoint = breakpoint_find(target, buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32))))
{ {
if ((retval=xscale_unset_breakpoint(target, breakpoint)) != ERROR_OK) if ((retval = xscale_unset_breakpoint(target, breakpoint)) != ERROR_OK)
return retval; return retval;
} }
@ -1930,20 +1930,20 @@ int xscale_read_memory(struct target_s *target, uint32_t address, uint32_t size,
return ERROR_TARGET_UNALIGNED_ACCESS; return ERROR_TARGET_UNALIGNED_ACCESS;
/* send memory read request (command 0x1n, n: access size) */ /* send memory read request (command 0x1n, n: access size) */
if ((retval=xscale_send_u32(target, 0x10 | size)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x10 | size)) != ERROR_OK)
return retval; return retval;
/* send base address for read request */ /* send base address for read request */
if ((retval=xscale_send_u32(target, address)) != ERROR_OK) if ((retval = xscale_send_u32(target, address)) != ERROR_OK)
return retval; return retval;
/* send number of requested data words */ /* send number of requested data words */
if ((retval=xscale_send_u32(target, count)) != ERROR_OK) if ((retval = xscale_send_u32(target, count)) != ERROR_OK)
return retval; return retval;
/* receive data from target (count times 32-bit words in host endianness) */ /* receive data from target (count times 32-bit words in host endianness) */
buf32 = malloc(4 * count); buf32 = malloc(4 * count);
if ((retval=xscale_receive(target, buf32, count)) != ERROR_OK) if ((retval = xscale_receive(target, buf32, count)) != ERROR_OK)
return retval; return retval;
/* extract data from host-endian buffer into byte stream */ /* extract data from host-endian buffer into byte stream */
@ -1971,12 +1971,12 @@ int xscale_read_memory(struct target_s *target, uint32_t address, uint32_t size,
free(buf32); free(buf32);
/* examine DCSR, to see if Sticky Abort (SA) got set */ /* examine DCSR, to see if Sticky Abort (SA) got set */
if ((retval=xscale_read_dcsr(target)) != ERROR_OK) if ((retval = xscale_read_dcsr(target)) != ERROR_OK)
return retval; return retval;
if (buf_get_u32(xscale->reg_cache->reg_list[XSCALE_DCSR].value, 5, 1) == 1) if (buf_get_u32(xscale->reg_cache->reg_list[XSCALE_DCSR].value, 5, 1) == 1)
{ {
/* clear SA bit */ /* clear SA bit */
if ((retval=xscale_send_u32(target, 0x60)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x60)) != ERROR_OK)
return retval; return retval;
return ERROR_TARGET_DATA_ABORT; return ERROR_TARGET_DATA_ABORT;
@ -2007,15 +2007,15 @@ int xscale_write_memory(struct target_s *target, uint32_t address, uint32_t size
return ERROR_TARGET_UNALIGNED_ACCESS; return ERROR_TARGET_UNALIGNED_ACCESS;
/* send memory write request (command 0x2n, n: access size) */ /* send memory write request (command 0x2n, n: access size) */
if ((retval=xscale_send_u32(target, 0x20 | size)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x20 | size)) != ERROR_OK)
return retval; return retval;
/* send base address for read request */ /* send base address for read request */
if ((retval=xscale_send_u32(target, address)) != ERROR_OK) if ((retval = xscale_send_u32(target, address)) != ERROR_OK)
return retval; return retval;
/* send number of requested data words to be written*/ /* send number of requested data words to be written*/
if ((retval=xscale_send_u32(target, count)) != ERROR_OK) if ((retval = xscale_send_u32(target, count)) != ERROR_OK)
return retval; return retval;
/* extract data from host-endian buffer into byte stream */ /* extract data from host-endian buffer into byte stream */
@ -2045,16 +2045,16 @@ int xscale_write_memory(struct target_s *target, uint32_t address, uint32_t size
} }
} }
#endif #endif
if ((retval=xscale_send(target, buffer, count, size)) != ERROR_OK) if ((retval = xscale_send(target, buffer, count, size)) != ERROR_OK)
return retval; return retval;
/* examine DCSR, to see if Sticky Abort (SA) got set */ /* examine DCSR, to see if Sticky Abort (SA) got set */
if ((retval=xscale_read_dcsr(target)) != ERROR_OK) if ((retval = xscale_read_dcsr(target)) != ERROR_OK)
return retval; return retval;
if (buf_get_u32(xscale->reg_cache->reg_list[XSCALE_DCSR].value, 5, 1) == 1) if (buf_get_u32(xscale->reg_cache->reg_list[XSCALE_DCSR].value, 5, 1) == 1)
{ {
/* clear SA bit */ /* clear SA bit */
if ((retval=xscale_send_u32(target, 0x60)) != ERROR_OK) if ((retval = xscale_send_u32(target, 0x60)) != ERROR_OK)
return retval; return retval;
return ERROR_TARGET_DATA_ABORT; return ERROR_TARGET_DATA_ABORT;
@ -2330,7 +2330,7 @@ int xscale_set_watchpoint(struct target_s *target, watchpoint_t *watchpoint)
{ {
armv4_5_common_t *armv4_5 = target->arch_info; armv4_5_common_t *armv4_5 = target->arch_info;
xscale_common_t *xscale = armv4_5->arch_info; xscale_common_t *xscale = armv4_5->arch_info;
uint8_t enable=0; uint8_t enable = 0;
reg_t *dbcon = &xscale->reg_cache->reg_list[XSCALE_DBCON]; reg_t *dbcon = &xscale->reg_cache->reg_list[XSCALE_DBCON];
uint32_t dbcon_value = buf_get_u32(dbcon->value, 0, 32); uint32_t dbcon_value = buf_get_u32(dbcon->value, 0, 32);

View File

@ -366,7 +366,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
LOG_DEBUG("%s %d", op_name, xsdrsize); LOG_DEBUG("%s %d", op_name, xsdrsize);
for ( attempt=0; attempt<limit; ++attempt ) for ( attempt = 0; attempt<limit; ++attempt )
{ {
scan_field_t field; scan_field_t field;
@ -836,7 +836,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
if (limit < 1) if (limit < 1)
limit = 1; limit = 1;
for ( attempt=0; attempt<limit; ++attempt ) for ( attempt = 0; attempt<limit; ++attempt )
{ {
scan_field_t field; scan_field_t field;

View File

@ -12,7 +12,7 @@ monitor reg sp 0x20004000
monitor reg pc 0x20002000 monitor reg pc 0x20002000
stepi stepi
arm-elf-gcc -mthumb -mcpu=cortex-m3 -nostdlib -Ttest.ld test.c arm-elf-gcc -mthumb -mcpu = cortex-m3 -nostdlib -Ttest.ld test.c
*/ */
@ -20,7 +20,7 @@ int j;
void _start() void _start()
{ {
int i; int i;
for (i=0; i<1000; i++) for (i = 0; i<1000; i++)
{ {
j++; j++;
} }