X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fflash%2Fnor%2Fstr9x.c;h=85cbe6a4fe4cbbd215bcf89b2130f5aab26a491e;hb=cc85ebc5acb03a51aafad2e3d913a3c894d93407;hp=be8c00b698c7bfc47c0f51326a5f952c52a30acc;hpb=08d4411b59dd8bd0e7d8009003b71d23acbf6eee;p=fw%2Fopenocd diff --git a/src/flash/nor/str9x.c b/src/flash/nor/str9x.c index be8c00b69..85cbe6a4f 100644 --- a/src/flash/nor/str9x.c +++ b/src/flash/nor/str9x.c @@ -19,9 +19,7 @@ * GNU General Public License for more details. * * * * 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., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H @@ -347,7 +345,7 @@ static int str9x_protect(struct flash_bank *bank, } static int str9x_write_block(struct flash_bank *bank, - uint8_t *buffer, uint32_t offset, uint32_t count) + const uint8_t *buffer, uint32_t offset, uint32_t count) { struct target *target = bank->target; uint32_t buffer_size = 32768; @@ -390,11 +388,12 @@ static int str9x_write_block(struct flash_bank *bank, &write_algorithm) != ERROR_OK) { LOG_WARNING("no working area available, can't do block memory writes"); return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; - }; + } - target_write_buffer(target, write_algorithm->address, - sizeof(str9x_flash_write_code), - (uint8_t *)str9x_flash_write_code); + uint8_t code[sizeof(str9x_flash_write_code)]; + target_buffer_set_u32_array(target, code, ARRAY_SIZE(str9x_flash_write_code), + str9x_flash_write_code); + target_write_buffer(target, write_algorithm->address, sizeof(code), code); /* memory buffer */ while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) { @@ -458,7 +457,7 @@ static int str9x_write_block(struct flash_bank *bank, } static int str9x_write(struct flash_bank *bank, - uint8_t *buffer, uint32_t offset, uint32_t count) + const uint8_t *buffer, uint32_t offset, uint32_t count) { struct target *target = bank->target; uint32_t words_remaining = (count / 2); @@ -606,12 +605,6 @@ COMMAND_HANDLER(str9x_handle_part_id_command) } #endif -static int get_str9x_info(struct flash_bank *bank, char *buf, int buf_size) -{ - snprintf(buf, buf_size, "str9x flash driver info"); - return ERROR_OK; -} - COMMAND_HANDLER(str9x_handle_flash_config_command) { struct target *target = NULL; @@ -674,7 +667,7 @@ static const struct command_registration str9x_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -struct flash_driver str9x_flash = { +const struct flash_driver str9x_flash = { .name = "str9x", .commands = str9x_command_handlers, .flash_bank_command = str9x_flash_bank_command, @@ -686,5 +679,5 @@ struct flash_driver str9x_flash = { .auto_probe = str9x_probe, .erase_check = default_flash_blank_check, .protect_check = str9x_protect_check, - .info = get_str9x_info, + .free_driver_priv = default_flash_free_driver_priv, };