diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-02-28 10:44:41 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-02-28 10:44:41 +0000 |
commit | 86ca2270f40d650a849e778518e7aa9c2c713341 (patch) | |
tree | 76d0f52c9637707506e8df254f733d32c5b9b269 /src/flash/at91sam7.c | |
parent | b008ff7ae1f5e646311b3901772be8c9ddaecd0c (diff) |
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
Diffstat (limited to 'src/flash/at91sam7.c')
-rw-r--r-- | src/flash/at91sam7.c | 25 |
1 files changed, 20 insertions, 5 deletions
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) |