]> git.sur5r.net Git - openocd/blobdiff - src/flash/flash.h
More robust handling of unknown target state for step/continue packet.
[openocd] / src / flash / flash.h
index b707b511c2f7034d62b22b332f2c55c50cdbd69a..e2f788554f066e31cd5e9b46146adbbd86e7f066 100644 (file)
@@ -40,20 +40,16 @@ typedef struct flash_driver_s
        char *name;
        int (*register_commands)(struct command_context_s *cmd_ctx);
        int (*flash_bank_command)(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank);
-       /* low level flash erase. Only invoke from flash_driver_erase()
-        * 
-        * Will only be invoked when target is halted. 
-        */
+
+       /* use flash_driver_erase() wrapper to invoke */
        int (*erase)(struct flash_bank_s *bank, int first, int last);
-       /* invoked only from flash_driver_protect().
-        *  
-        * Only invoked if target is halted
-        */
+
+       /* use flash_driver_protect() wrapper to invoke */
        int (*protect)(struct flash_bank_s *bank, int set, int first, int last);
-       /* low level flash write. Will only be invoked if the target is halted.
-        * use the flash_driver_write() wrapper to invoke.
-        */
+
+       /* use the flash_driver_write() wrapper to invoke. */
        int (*write)(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count);
+
        int (*probe)(struct flash_bank_s *bank);
        int (*erase_check)(struct flash_bank_s *bank);
        int (*protect_check)(struct flash_bank_s *bank);
@@ -81,8 +77,11 @@ extern int flash_init_drivers(struct command_context_s *cmd_ctx);
 extern int flash_erase_address_range(target_t *target, u32 addr, u32 length);
 extern int flash_write(target_t *target, image_t *image, u32 *written, int erase);
 extern void flash_set_dirty(void);
+extern int flash_get_bank_count();
+int default_flash_blank_check(struct flash_bank_s *bank);
 
 extern flash_bank_t *get_flash_bank_by_num(int num);
+extern flash_bank_t *get_flash_bank_by_num_noprobe(int num);
 extern flash_bank_t *get_flash_bank_by_addr(target_t *target, u32 addr);
 
 #define                ERROR_FLASH_BANK_INVALID                (-900)