X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Ftcl.c;h=6ab710bb61ad058f81432aea13927f7327362c2c;hb=8438dee786d857723e29eef23f897df6b194a793;hp=6598652c2bbf5da16b0c5e16d04b89b5d8d39268;hpb=04ee41de52065f648752c13652b3428260f1ac2a;p=openocd.git diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c index 6598652c2b..6ab710bb61 100644 --- a/src/flash/nor/tcl.c +++ b/src/flash/nor/tcl.c @@ -726,7 +726,7 @@ static const struct command_registration flash_exec_command_handlers[] = { .name = "write_image", .handler = &handle_flash_write_image_command, .mode = COMMAND_EXEC, - .usage = " [erase] [unlock] [offset] [type]", + .usage = "[erase] [unlock] [offset] [type]", .help = "write an image to flash" }, { @@ -813,15 +813,33 @@ COMMAND_HANDLER(handle_flash_bank_command) return retval; } - return ERROR_OK; + flash_bank_add(c); + return ERROR_OK; } +COMMAND_HANDLER(handle_flash_banks_command) +{ + if (CMD_ARGC != 0) + return ERROR_INVALID_ARGUMENTS; + + unsigned n = 0; + for (struct flash_bank *p = flash_bank_list(); p; p = p->next, n++) + { + LOG_USER("#%u: %s at 0x%8.8" PRIx32 ", size 0x%8.8" PRIx32 ", " + "buswidth %u, chipwidth %u", n, + p->driver->name, p->base, p->size, + p->bus_width, p->chip_width); + } + return ERROR_OK; +} -static int jim_flash_banks(Jim_Interp *interp, int argc, Jim_Obj *const *argv) +static int jim_flash_list(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { - if (argc != 1) { - Jim_WrongNumArgs(interp, 1, argv, "no arguments to flash_banks command"); + if (argc != 1) + { + Jim_WrongNumArgs(interp, 1, argv, + "no arguments to 'flash list' command"); return JIM_ERR; } @@ -888,8 +906,14 @@ static const struct command_registration flash_config_command_handlers[] = { { .name = "banks", .mode = COMMAND_ANY, - .jim_handler = &jim_flash_banks, - .help = "return information about the flash banks", + .handler = &handle_flash_banks_command, + .help = "return readable information about the flash banks", + }, + { + .name = "list", + .mode = COMMAND_ANY, + .jim_handler = &jim_flash_list, + .help = "returns a list of details about the flash banks", }, COMMAND_REGISTRATION_DONE };