X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Ftcl.c;h=5bc0958be7fd11c02aa8494d65cc0b297c136f7f;hp=cf6fa080377bbb2f727d984ab35c2a175335e242;hb=1f3ca0b5b81d9f9e4565cf177797a17ad37ef2c3;hpb=2d57e80801b605833118e133c79a97b67ace7e93 diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c index cf6fa08037..5bc0958be7 100644 --- a/src/flash/nor/tcl.c +++ b/src/flash/nor/tcl.c @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * ***************************************************************************/ #ifdef HAVE_CONFIG_H #include "config.h" @@ -101,12 +101,13 @@ COMMAND_HANDLER(handle_flash_info_command) protect_state); } - *buf = '\0'; /* initialize buffer, otherwise it migh contain garbage if driver - *function fails */ - retval = p->driver->info(p, buf, sizeof(buf)); - command_print(CMD_CTX, "%s", buf); - if (retval != ERROR_OK) - LOG_ERROR("error retrieving flash info"); + if (p->driver->info != NULL) { + retval = p->driver->info(p, buf, sizeof(buf)); + if (retval == ERROR_OK) + command_print(CMD_CTX, "%s", buf); + else + LOG_ERROR("error retrieving flash info"); + } } return retval; @@ -604,6 +605,24 @@ void flash_set_dirty(void) } } +COMMAND_HANDLER(handle_flash_padded_value_command) +{ + if (CMD_ARGC != 2) + return ERROR_COMMAND_SYNTAX_ERROR; + + struct flash_bank *p; + int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &p); + if (ERROR_OK != retval) + return retval; + + COMMAND_PARSE_NUMBER(u8, CMD_ARGV[1], p->default_padded_value); + + command_print(CMD_CTX, "Default padded value set to 0x%" PRIx8 " for flash bank %u", \ + p->default_padded_value, p->bank_number); + + return retval; +} + static const struct command_registration flash_exec_command_handlers[] = { { .name = "probe", @@ -699,6 +718,13 @@ static const struct command_registration flash_exec_command_handlers[] = { .help = "Turn protection on or off for a range of sectors " "in a given flash bank.", }, + { + .name = "padded_value", + .handler = handle_flash_padded_value_command, + .mode = COMMAND_EXEC, + .usage = "bank_id value", + .help = "Set default flash padded value", + }, COMMAND_REGISTRATION_DONE }; @@ -711,7 +737,6 @@ static int flash_init_drivers(struct command_context *cmd_ctx) return register_commands(cmd_ctx, parent, flash_exec_command_handlers); } - COMMAND_HANDLER(handle_flash_bank_command) { if (CMD_ARGC < 7) { @@ -764,6 +789,7 @@ COMMAND_HANDLER(handle_flash_bank_command) COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], c->size); COMMAND_PARSE_NUMBER(int, CMD_ARGV[3], c->chip_width); COMMAND_PARSE_NUMBER(int, CMD_ARGV[4], c->bus_width); + c->default_padded_value = 0xff; c->num_sectors = 0; c->sectors = NULL; c->next = NULL;