]> git.sur5r.net Git - openocd/blobdiff - src/flash/flash.c
Fix 'make maintainer-clean' courtesy of Zach Welch <zw@superlucidity.net>
[openocd] / src / flash / flash.c
index 4df585bbc75dd9a11b008d59b03e9d4790024ddc..72ba12715bc751ad43fd6ef0de18c6886316a88d 100644 (file)
@@ -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> <base> <size> <chip_width> <bus_width> <target> [driver_options ...]");
+       register_command(cmd_ctx, flash_cmd, "bank", handle_flash_bank_command, COMMAND_CONFIG, "flash bank <driver> <base> <size> <chip_width> <bus_width> <target> [driver_options ...]");
        return ERROR_OK;
 }
 
@@ -157,11 +159,6 @@ static int jim_flash_banks(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                return JIM_ERR;
        }
 
-       if (!flash_banks)
-       {
-               return JIM_ERR;
-       }
-
        Jim_Obj *list=Jim_NewListObj(interp, NULL, 0);
        for (p = flash_banks; p; p = p->next)
        {
@@ -188,10 +185,10 @@ static int jim_flash_banks(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 
 int flash_init_drivers(struct command_context_s *cmd_ctx)
 {
+       register_jim(cmd_ctx, "ocd_flash_banks", jim_flash_banks, "return information about the flash banks");
+
        if (flash_banks)
        {
-               register_jim(cmd_ctx, "ocd_flash_banks", jim_flash_banks, "return information about the flash banks");
-
                register_command(cmd_ctx, flash_cmd, "info", handle_flash_info_command, COMMAND_EXEC,
                                                 "print info about flash bank <num>");
                register_command(cmd_ctx, flash_cmd, "probe", handle_flash_probe_command, COMMAND_EXEC,
@@ -321,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;
@@ -471,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;
@@ -663,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;
@@ -748,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':
@@ -809,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;