From 86ca2270f40d650a849e778518e7aa9c2c713341 Mon Sep 17 00:00:00 2001 From: oharboe Date: Thu, 28 Feb 2008 10:44:41 +0000 Subject: Pavel Chromy cleaned up checks for halted, error messages, etc. git-svn-id: svn://svn.berlios.de/openocd/trunk@374 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/flash/at91sam7.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'src/flash/at91sam7.c') diff --git a/src/flash/at91sam7.c b/src/flash/at91sam7.c index a1f055f0..99a8a9af 100644 --- a/src/flash/at91sam7.c +++ b/src/flash/at91sam7.c @@ -314,11 +314,6 @@ int at91sam7_read_part_info(struct flash_bank_s *bank) u32 cidr, status; int sectornum; - if (bank->target->state != TARGET_HALTED) - { - return ERROR_TARGET_NOT_HALTED; - } - /* Read and parse chip identification register */ target_read_u32(target, DBGU_CIDR, &cidr); @@ -584,6 +579,11 @@ int at91sam7_protect_check(struct flash_bank_s *bank) at91sam7_flash_bank_t *at91sam7_info = bank->driver_priv; + if (bank->target->state != TARGET_HALTED) + { + return ERROR_TARGET_NOT_HALTED; + } + if (at91sam7_info->cidr == 0) { at91sam7_read_part_info(bank); @@ -738,6 +738,11 @@ int at91sam7_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count) u32 first_page, last_page, pagen, buffer_pos; u8 flashplane; + if (bank->target->state != TARGET_HALTED) + { + return ERROR_TARGET_NOT_HALTED; + } + if (at91sam7_info->cidr == 0) { at91sam7_read_part_info(bank); @@ -806,6 +811,11 @@ int at91sam7_probe(struct flash_bank_s *bank) at91sam7_flash_bank_t *at91sam7_info = bank->driver_priv; at91sam7_info->probed = 0; + if (bank->target->state != TARGET_HALTED) + { + return ERROR_TARGET_NOT_HALTED; + } + if (at91sam7_info->cidr == 0) { at91sam7_read_part_info(bank); @@ -836,6 +846,11 @@ int at91sam7_info(struct flash_bank_s *bank, char *buf, int buf_size) int printed, flashplane; at91sam7_flash_bank_t *at91sam7_info = bank->driver_priv; + if (bank->target->state != TARGET_HALTED) + { + return ERROR_TARGET_NOT_HALTED; + } + at91sam7_read_part_info(bank); if (at91sam7_info->cidr == 0) -- cgit v1.2.3