uint8_t (*page)[FLASH_PAGE_SIZE] )
{
/* Only pages 4...7 are user writable */
- if( (pagenum < 4) || (pagenum > 7) )
+ if ((pagenum < 4) || (pagenum > 7))
{
- LOG_ERROR( "Refuse to burn index sector page %" PRIu32, pagenum );
+ LOG_ERROR("Refuse to burn index sector page %d", pagenum);
return ERROR_COMMAND_ARGUMENT_INVALID;
}
bank->base + pagenum * FLASH_PAGE_SIZE,
4, FLASH_PAGE_SIZE / 4, (uint8_t *)page) != ERROR_OK )
{
- LOG_ERROR( "Index sector write failed @ page %" PRIu32, pagenum );
+ LOG_ERROR("Index sector write failed @ page %d", pagenum);
target_write_u32( target, FCTR, FCTR_FS_CS | FCTR_FS_WEB );
return ERROR_FLASH_OPERATION_FAILED;
/* Wait for the end of the write operation. If it's not over after one
* second, something went dreadfully wrong... :-(
*/
- if( lpc2900_wait_status( bank, INTSRC_END_OF_BURN, 1000 ) != ERROR_OK )
+ if (lpc2900_wait_status(bank, INTSRC_END_OF_BURN, 1000) != ERROR_OK)
{
- LOG_ERROR( "Index sector write failed @ page %" PRIu32, pagenum );
- target_write_u32( target, FCTR, FCTR_FS_CS | FCTR_FS_WEB );
+ LOG_ERROR("Index sector write failed @ page %d", pagenum);
+ target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
return ERROR_FLASH_OPERATION_FAILED;
}
* FPTR.TR = -------------------------------
* 512
*
- * The result is the
+ * The result is the
*/
uint32_t tr_val = (uint32_t)((((time / 1e6) * clock) + 511.0) / 512.0);
static int lpc2900_handle_signature_command( struct command_context_s *cmd_ctx,
char *cmd, char **args, int argc )
{
- flash_bank_t *bank;
uint32_t status;
uint32_t signature[4];
return ERROR_FLASH_BANK_INVALID;
}
- /* Get the bank descriptor */
- bank = get_flash_bank_by_num( strtoul(args[0], NULL, 0) );
- if( !bank )
- {
- command_print( cmd_ctx, "flash bank '#%s' is out of bounds", args[0] );
- return ERROR_OK;
- }
+ flash_bank_t *bank;
+ int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ if (ERROR_OK != retval)
+ return retval;
if( bank->target->state != TARGET_HALTED )
{
static int lpc2900_handle_read_custom_command( struct command_context_s *cmd_ctx,
char *cmd, char **args, int argc )
{
- flash_bank_t *bank;
-
-
if( argc < 2 )
{
return ERROR_COMMAND_SYNTAX_ERROR;
}
- /* Get the bank descriptor */
- bank = get_flash_bank_by_num( strtoul(args[0], NULL, 0) );
- if( !bank )
- {
- command_print( cmd_ctx, "flash bank '#%s' is out of bounds", args[0] );
- return ERROR_OK;
- }
+ flash_bank_t *bank;
+ int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ if (ERROR_OK != retval)
+ return retval;
+
lpc2900_flash_bank_t *lpc2900_info = bank->driver_priv;
lpc2900_info->risky = 0;
static int lpc2900_handle_password_command(struct command_context_s *cmd_ctx,
char *cmd, char **args, int argc)
{
- flash_bank_t *bank;
-
-
if (argc < 2)
{
return ERROR_COMMAND_SYNTAX_ERROR;
}
- /* Get the bank descriptor */
- bank = get_flash_bank_by_num(strtoul(args[0], NULL, 0));
- if (!bank)
- {
- command_print(cmd_ctx, "flash bank '#%s' is out of bounds", args[0]);
- return ERROR_OK;
- }
+ flash_bank_t *bank;
+ int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ if (ERROR_OK != retval)
+ return retval;
+
lpc2900_flash_bank_t *lpc2900_info = bank->driver_priv;
#define ISS_PASSWORD "I_know_what_I_am_doing"
return ERROR_COMMAND_SYNTAX_ERROR;
}
- /* Get the bank descriptor */
- flash_bank_t *bank = get_flash_bank_by_num(strtoul(args[0], NULL, 0));
- if (!bank)
- {
- command_print(cmd_ctx, "flash bank '#%s' is out of bounds", args[0]);
- return ERROR_OK;
- }
+ flash_bank_t *bank;
+ int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ if (ERROR_OK != retval)
+ return retval;
+
lpc2900_flash_bank_t *lpc2900_info = bank->driver_priv;
/* Check if command execution is allowed. */
char *filename = args[1];
char *type = (argc >= 3) ? args[2] : NULL;
- int retval = image_open(&image, filename, type);
+ retval = image_open(&image, filename, type);
if (retval != ERROR_OK)
{
return retval;
if( (image.sections[0].base_address != 0) ||
(image.sections[0].size != ISS_CUSTOMER_SIZE) )
{
- LOG_ERROR("Incorrect image file size. Expected %" PRIu32 ", got %" PRIu32,
+ LOG_ERROR("Incorrect image file size. Expected %d, "
+ "got %" PRIu32,
ISS_CUSTOMER_SIZE, image.sections[0].size);
return ERROR_COMMAND_SYNTAX_ERROR;
}
}
/* Get the bank descriptor */
- flash_bank_t *bank = get_flash_bank_by_num(strtoul(args[0], NULL, 0));
- if (!bank)
- {
- command_print(cmd_ctx, "flash bank '#%s' is out of bounds", args[0]);
- return ERROR_OK;
- }
+ flash_bank_t *bank;
+ int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ if (ERROR_OK != retval)
+ return retval;
+
lpc2900_flash_bank_t *lpc2900_info = bank->driver_priv;
/* Check if command execution is allowed. */
lpc2900_info->risky = 0;
/* Read sector range, and do a sanity check. */
- int first = strtoul(args[1], NULL, 0);
- int last = strtoul(args[2], NULL, 0);
+ int first, last;
+ COMMAND_PARSE_NUMBER(int, args[1], first);
+ COMMAND_PARSE_NUMBER(int, args[2], last);
if( (first >= bank->num_sectors) ||
(last >= bank->num_sectors) ||
(first > last) )
uint8_t page[FLASH_PAGE_SIZE];
int sector;
- int retval;
/* Sectors in page 6 */
if( (first <= 4) || (last >= 8) )
}
/* Get the bank descriptor */
- flash_bank_t *bank = get_flash_bank_by_num(strtoul(args[0], NULL, 0));
- if (!bank)
- {
- command_print(cmd_ctx, "flash bank '#%s' is out of bounds", args[0]);
- return ERROR_OK;
- }
+ flash_bank_t *bank;
+ int retval = flash_command_get_bank_by_num(cmd_ctx, args[0], &bank);
+ if (ERROR_OK != retval)
+ return retval;
+
lpc2900_flash_bank_t *lpc2900_info = bank->driver_priv;
/* Check if command execution is allowed. */
page[0x30 + 3] = 0x7F;
/* Write to page 5 */
- int retval;
if( (retval = lpc2900_write_index_page( bank, 5, &page ))
!= ERROR_OK )
{
* Reject it if we can't meet the requirements for program time
* (if clock too slow), or for erase time (clock too fast).
*/
- lpc2900_info->clk_sys_fmc = strtoul(args[6], NULL, 0) * 1000;
+ uint32_t clk_sys_fmc;
+ COMMAND_PARSE_NUMBER(u32, args[6], clk_sys_fmc);
+ lpc2900_info->clk_sys_fmc = clk_sys_fmc * 1000;
uint32_t clock_limit;
/* Check program time limit */
}
/* Skip the current sector if it is secured */
- if( bank->sectors[start_sector].is_protected )
+ if (bank->sectors[start_sector].is_protected)
{
- LOG_DEBUG( "Skip secured sector %" PRIu32, start_sector );
+ LOG_DEBUG("Skip secured sector %d",
+ start_sector);
/* Stop if this is the last sector */
- if( start_sector == bank->num_sectors - 1 )
+ if (start_sector == bank->num_sectors - 1)
{
break;
}
}
/* Show detected device */
- LOG_INFO("Flash bank %" PRIu32
+ LOG_INFO("Flash bank %d"
": Device %s, %" PRIu32
- " KiB in %" PRIu32 " sectors",
+ " KiB in %d sectors",
bank->bank_number,
lpc2900_info->target_name, bank->size / KiB,
bank->num_sectors);
* that has more than 19 sectors. Politely ask for a fix then.
*/
bank->sectors[i].size = 0;
- LOG_ERROR("Never heard about sector %" PRIu32 " (FIXME please)", i);
+ LOG_ERROR("Never heard about sector %d", i);
}
offset += bank->sectors[i].size;