X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fflash%2Fflash.c;h=72ba12715bc751ad43fd6ef0de18c6886316a88d;hb=93180753be73daa7bf90e02585a7192fa6960a96;hp=64269c2df3a9b2cfa845038ccac748033c100b96;hpb=2ded1b60e6fce2f613fe878fa55cce719a538467;p=openocd diff --git a/src/flash/flash.c b/src/flash/flash.c index 64269c2d..72ba1271 100644 --- a/src/flash/flash.c +++ b/src/flash/flash.c @@ -78,6 +78,7 @@ extern flash_driver_t tms470_flash; extern flash_driver_t ecosflash_flash; extern flash_driver_t lpc288x_flash; extern flash_driver_t ocl_flash; +extern flash_driver_t pic32mx_flash; flash_driver_t *flash_drivers[] = { &lpc2000_flash, @@ -94,6 +95,7 @@ flash_driver_t *flash_drivers[] = { &ecosflash_flash, &lpc288x_flash, &ocl_flash, + &pic32mx_flash, NULL, }; @@ -144,7 +146,7 @@ int flash_register_commands(struct command_context_s *cmd_ctx) { flash_cmd = register_command(cmd_ctx, NULL, "flash", NULL, COMMAND_ANY, NULL); - register_command(cmd_ctx, flash_cmd, "bank", handle_flash_bank_command, COMMAND_CONFIG, "flash_bank [driver_options ...]"); + register_command(cmd_ctx, flash_cmd, "bank", handle_flash_bank_command, COMMAND_CONFIG, "flash bank [driver_options ...]"); return ERROR_OK; } @@ -316,14 +318,17 @@ int handle_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char /* put flash bank in linked list */ if (flash_banks) { + int bank_num = 0; /* find last flash bank */ - for (p = flash_banks; p && p->next; p = p->next); + for (p = flash_banks; p && p->next; p = p->next) bank_num++; if (p) p->next = c; + c->bank_number = bank_num + 1; } else { flash_banks = c; + c->bank_number = 0; } found = 1; @@ -466,7 +471,6 @@ int handle_flash_erase_check_command(struct command_context_s *cmd_ctx, char *cm j, p->sectors[j].offset, p->sectors[j].size, p->sectors[j].size>>10, erase_state); } - } return ERROR_OK; @@ -658,7 +662,6 @@ int handle_flash_write_image_command(struct command_context_s *cmd_ctx, char *cm command_print(cmd_ctx, "auto erase enabled"); } - if (argc < 1) { return ERROR_COMMAND_SYNTAX_ERROR; @@ -743,7 +746,6 @@ int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cmd, char if(count == 0) return ERROR_OK; - switch(cmd[4]) { case 'w': @@ -804,7 +806,6 @@ int handle_flash_fill_command(struct command_context_s *cmd_ctx, char *cmd, char return retval; } - if(err == ERROR_OK) { float speed;