X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Flpc2000.c;h=106c2bad32827abbeb122e8df5988508136aa0e7;hp=2708d5352d0a3d40f69420eb1ba296c5f7339d42;hb=fb1a9b2cb2f844a17d26dfeb3d26849364d93e26;hpb=fbcb57baf842a84898dcc1cbe9a8b56d2a0028e1 diff --git a/src/flash/lpc2000.c b/src/flash/lpc2000.c index 2708d5352d..106c2bad32 100644 --- a/src/flash/lpc2000.c +++ b/src/flash/lpc2000.c @@ -30,18 +30,18 @@ /* flash programming support for Philips LPC2xxx devices * currently supported devices: * variant 1 (lpc2000_v1): - * - 2104|5|6 - * - 2114|9 - * - 2124|9 + * - 2104 | 5|6 + * - 2114 | 9 + * - 2124 | 9 * - 2194 - * - 2212|4 - * - 2292|4 + * - 2212 | 4 + * - 2292 | 4 * * variant 2 (lpc2000_v2): * - 213x * - 214x - * - 2101|2|3 - * - 2364|6|8 + * - 2101 | 2|3 + * - 2364 | 6|8 * - 2378 */ @@ -49,7 +49,7 @@ static int lpc2000_register_commands(struct command_context_s *cmd_ctx); static int lpc2000_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank); static int lpc2000_erase(struct flash_bank_s *bank, int first, int last); static int lpc2000_protect(struct flash_bank_s *bank, int set, int first, int last); -static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count); +static int lpc2000_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count); static int lpc2000_probe(struct flash_bank_s *bank); static int lpc2000_erase_check(struct flash_bank_s *bank); static int lpc2000_protect_check(struct flash_bank_s *bank); @@ -92,7 +92,7 @@ static int lpc2000_build_sector_list(struct flash_bank_s *bank) if (lpc2000_info->variant == 1) { int i = 0; - u32 offset = 0; + uint32_t offset = 0; /* variant 1 has different layout for 128kb and 256kb flashes */ if (bank->size == 128 * 1024) @@ -148,7 +148,7 @@ static int lpc2000_build_sector_list(struct flash_bank_s *bank) { int num_sectors; int i; - u32 offset = 0; + uint32_t offset = 0; /* variant 2 has a uniform layout, only number of sectors differs */ switch (bank->size) @@ -233,7 +233,7 @@ static int lpc2000_build_sector_list(struct flash_bank_s *bank) * 0x20 to 0x2b: command result table * 0x2c to 0xac: stack (only 128b needed) */ -static int lpc2000_iap_call(flash_bank_t *bank, int code, u32 param_table[5], u32 result_table[2]) +static int lpc2000_iap_call(flash_bank_t *bank, int code, uint32_t param_table[5], uint32_t result_table[2]) { int retval; lpc2000_flash_bank_t *lpc2000_info = bank->driver_priv; @@ -241,12 +241,12 @@ static int lpc2000_iap_call(flash_bank_t *bank, int code, u32 param_table[5], u3 mem_param_t mem_params[2]; reg_param_t reg_params[5]; armv4_5_algorithm_t armv4_5_info; - u32 status_code; + uint32_t status_code; /* regrab previously allocated working_area, or allocate a new one */ if (!lpc2000_info->iap_working_area) { - u8 jump_gate[8]; + uint8_t jump_gate[8]; /* make sure we have a working area */ if (target_alloc_working_area(target, 172, &lpc2000_info->iap_working_area) != ERROR_OK) @@ -258,7 +258,7 @@ static int lpc2000_iap_call(flash_bank_t *bank, int code, u32 param_table[5], u3 /* write IAP code to working area */ target_buffer_set_u32(target, jump_gate, ARMV4_5_BX(12)); target_buffer_set_u32(target, jump_gate + 4, ARMV4_5_B(0xfffffe, 0)); - if((retval = target->type->write_memory(target, lpc2000_info->iap_working_area->address, 4, 2, jump_gate)) != ERROR_OK) + if ((retval = target_write_memory(target, lpc2000_info->iap_working_area->address, 4, 2, jump_gate)) != ERROR_OK) { return retval; } @@ -298,7 +298,7 @@ static int lpc2000_iap_call(flash_bank_t *bank, int code, u32 param_table[5], u3 init_reg_param(®_params[4], "lr_svc", 32, PARAM_OUT); buf_set_u32(reg_params[4].value, 0, 32, lpc2000_info->iap_working_area->address + 0x4); - target->type->run_algorithm(target, 2, mem_params, 5, reg_params, lpc2000_info->iap_working_area->address, lpc2000_info->iap_working_area->address + 0x4, 10000, &armv4_5_info); + target_run_algorithm(target, 2, mem_params, 5, reg_params, lpc2000_info->iap_working_area->address, lpc2000_info->iap_working_area->address + 0x4, 10000, &armv4_5_info); status_code = buf_get_u32(mem_params[1].value, 0, 32); result_table[0] = target_buffer_get_u32(target, mem_params[1].value); @@ -318,8 +318,8 @@ static int lpc2000_iap_call(flash_bank_t *bank, int code, u32 param_table[5], u3 static int lpc2000_iap_blank_check(struct flash_bank_s *bank, int first, int last) { - u32 param_table[5]; - u32 result_table[2]; + uint32_t param_table[5]; + uint32_t result_table[2]; int status_code; int i; @@ -410,8 +410,8 @@ static int lpc2000_flash_bank_command(struct command_context_s *cmd_ctx, char *c static int lpc2000_erase(struct flash_bank_s *bank, int first, int last) { lpc2000_flash_bank_t *lpc2000_info = bank->driver_priv; - u32 param_table[5]; - u32 result_table[2]; + uint32_t param_table[5]; + uint32_t result_table[2]; int status_code; if (bank->target->state != TARGET_HALTED) @@ -465,17 +465,17 @@ static int lpc2000_protect(struct flash_bank_s *bank, int set, int first, int la return ERROR_OK; } -static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count) +static int lpc2000_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count) { lpc2000_flash_bank_t *lpc2000_info = bank->driver_priv; target_t *target = bank->target; - u32 dst_min_alignment; - u32 bytes_remaining = count; - u32 bytes_written = 0; + uint32_t dst_min_alignment; + uint32_t bytes_remaining = count; + uint32_t bytes_written = 0; int first_sector = 0; int last_sector = 0; - u32 param_table[5]; - u32 result_table[2]; + uint32_t param_table[5]; + uint32_t result_table[2]; int status_code; int i; working_area_t *download_area; @@ -497,7 +497,7 @@ static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 if (offset % dst_min_alignment) { - LOG_WARNING("offset 0x%x breaks required alignment 0x%x", offset, dst_min_alignment); + LOG_WARNING("offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32, offset, dst_min_alignment); return ERROR_FLASH_DST_BREAKS_ALIGNMENT; } @@ -514,21 +514,21 @@ static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 /* check if exception vectors should be flashed */ if ((offset == 0) && (count >= 0x20) && lpc2000_info->calc_checksum) { - u32 checksum = 0; + uint32_t checksum = 0; int i = 0; for (i = 0; i < 8; i++) { - LOG_DEBUG("0x%2.2x: 0x%8.8x", i * 4, buf_get_u32(buffer + (i * 4), 0, 32)); + LOG_DEBUG("0x%2.2x: 0x%8.8" PRIx32, i * 4, buf_get_u32(buffer + (i * 4), 0, 32)); if (i != 5) checksum += buf_get_u32(buffer + (i * 4), 0, 32); } checksum = 0 - checksum; - LOG_DEBUG("checksum: 0x%8.8x", checksum); + LOG_DEBUG("checksum: 0x%8.8" PRIx32, checksum); - u32 original_value=buf_get_u32(buffer + (5 * 4), 0, 32); - if (original_value!=checksum) + uint32_t original_value = buf_get_u32(buffer + (5 * 4), 0, 32); + if (original_value != checksum) { - LOG_WARNING("Verification will fail since checksum in image(0x%8.8x) written to flash was different from calculated vector checksum(0x%8.8x).", + 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 ").", original_value, checksum); LOG_WARNING("To remove this warning modify build tools on developer PC to inject correct LPC vector checksum."); } @@ -545,7 +545,7 @@ static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 while (bytes_remaining > 0) { - u32 thisrun_bytes; + uint32_t thisrun_bytes; if (bytes_remaining >= lpc2000_info->cmd51_max_buffer) thisrun_bytes = lpc2000_info->cmd51_max_buffer; else if (bytes_remaining >= 1024) @@ -589,8 +589,8 @@ static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 } else { - u8 *last_buffer = malloc(thisrun_bytes); - u32 i; + uint8_t *last_buffer = malloc(thisrun_bytes); + uint32_t i; memcpy(last_buffer, buffer + bytes_written, bytes_remaining); for (i = bytes_remaining; i < thisrun_bytes; i++) last_buffer[i] = 0xff; @@ -598,7 +598,7 @@ static int lpc2000_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 free(last_buffer); } - LOG_DEBUG("writing 0x%x bytes to address 0x%x", thisrun_bytes, bank->base + offset + bytes_written); + LOG_DEBUG("writing 0x%" PRIx32 " bytes to address 0x%" PRIx32 , thisrun_bytes, bank->base + offset + bytes_written); /* Write data */ param_table[0] = bank->base + offset + bytes_written; @@ -667,7 +667,7 @@ static int lpc2000_info(struct flash_bank_s *bank, char *buf, int buf_size) { lpc2000_flash_bank_t *lpc2000_info = bank->driver_priv; - snprintf(buf, buf_size, "lpc2000 flash driver variant: %i, clk: %i", lpc2000_info->variant, lpc2000_info->cclk); + snprintf(buf, buf_size, "lpc2000 flash driver variant: %i, clk: %" PRIi32 , lpc2000_info->variant, lpc2000_info->cclk); return ERROR_OK; } @@ -675,8 +675,8 @@ static int lpc2000_info(struct flash_bank_s *bank, char *buf, int buf_size) static int lpc2000_handle_part_id_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { flash_bank_t *bank; - u32 param_table[5]; - u32 result_table[2]; + uint32_t param_table[5]; + uint32_t result_table[2]; int status_code; if (argc < 1) @@ -708,7 +708,7 @@ static int lpc2000_handle_part_id_command(struct command_context_s *cmd_ctx, cha } else { - command_print(cmd_ctx, "lpc2000 part id: 0x%8.8x", result_table[0]); + command_print(cmd_ctx, "lpc2000 part id: 0x%8.8" PRIx32 , result_table[0]); } return ERROR_OK;