summaryrefslogtreecommitdiff
path: root/src/flash/str9xpec.c
diff options
context:
space:
mode:
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-11-21 16:37:17 +0000
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-11-21 16:37:17 +0000
commit8c634335b41a805998e5bae05328bb47057cce0b (patch)
treea94daded00dbe298d61fde9bca57b3a3de033daf /src/flash/str9xpec.c
parent89d0e422c9698dd9a1fcbd7d4b6c8490633b0029 (diff)
downloadopenocd+libswd-8c634335b41a805998e5bae05328bb47057cce0b.tar.gz
openocd+libswd-8c634335b41a805998e5bae05328bb47057cce0b.tar.bz2
openocd+libswd-8c634335b41a805998e5bae05328bb47057cce0b.tar.xz
openocd+libswd-8c634335b41a805998e5bae05328bb47057cce0b.zip
- reset_run now works as expected on cortex-m3
- str9xpec erase status checked on option byte programming - stm32x flash driver now supports sector protection - surplus exit removed from flash.c - openocd.texi documentation added git-svn-id: svn://svn.berlios.de/openocd/trunk@212 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/flash/str9xpec.c')
-rw-r--r--src/flash/str9xpec.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/flash/str9xpec.c b/src/flash/str9xpec.c
index a89a5a5a..eb08eb24 100644
--- a/src/flash/str9xpec.c
+++ b/src/flash/str9xpec.c
@@ -791,10 +791,10 @@ int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count)
} while(!(status & ISC_STATUS_BUSY));
if ((status & ISC_STATUS_ERROR) != STR9XPEC_ISC_SUCCESS)
- return ERROR_FLASH_OPERATION_FAILED;
+ return ERROR_FLASH_OPERATION_FAILED;
//if ((status & ISC_STATUS_INT_ERROR) != STR9XPEC_ISC_INTFAIL)
- // return ERROR_FLASH_OPERATION_FAILED;
+ // return ERROR_FLASH_OPERATION_FAILED;
dwords_remaining--;
bytes_written += 8;
@@ -854,7 +854,7 @@ int str9xpec_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count)
return ERROR_FLASH_OPERATION_FAILED;
//if ((status & ISC_STATUS_INT_ERROR) != STR9XPEC_ISC_INTFAIL)
- // return ERROR_FLASH_OPERATION_FAILED;
+ // return ERROR_FLASH_OPERATION_FAILED;
}
free(scanbuf);
@@ -1001,7 +1001,10 @@ int str9xpec_write_options(struct flash_bank_s *bank)
chain_pos = str9xpec_info->chain_pos;
/* erase config options first */
- str9xpec_erase_area( bank, 0xFE, 0xFE );
+ status = str9xpec_erase_area( bank, 0xFE, 0xFE );
+
+ if ((status & ISC_STATUS_ERROR) != STR9XPEC_ISC_SUCCESS)
+ return status;
if (!str9xpec_info->isc_enable) {
str9xpec_isc_enable( bank );