aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2014-06-15 18:33:30 +0400
committerSpencer Oliver <spen@spen-soft.co.uk>2014-06-18 20:32:06 +0000
commit3aee451f275efe0176af3bcbaf12aec7361893aa (patch)
tree4fe8dd1589ea4c7de86ff4636043bde714bb8b87 /src/flash/nor
parentbbc2f13f33389008826006e31bc5afdda4e3602e (diff)
flash/nor/kinetis: prevent segfaulting with an HLA
HLAs do not provide direct DAP access, so the best we can do about it is skipping it. Change-Id: I877ef8fd2d86e40e7442a637cdba182cfd60e05a Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2173 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Diffstat (limited to 'src/flash/nor')
-rw-r--r--src/flash/nor/kinetis.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/flash/nor/kinetis.c b/src/flash/nor/kinetis.c
index 42677a38..6f47461e 100644
--- a/src/flash/nor/kinetis.c
+++ b/src/flash/nor/kinetis.c
@@ -298,6 +298,11 @@ COMMAND_HANDLER(kinetis_mdm_mass_erase)
struct cortex_m_common *cortex_m = target_to_cm(target);
struct adiv5_dap *dap = cortex_m->armv7m.arm.dap;
+ if (!dap) {
+ LOG_ERROR("Cannot perform mass erase with a high-level adapter");
+ return ERROR_FAIL;
+ }
+
int retval;
const uint8_t original_ap = dap->ap_current;
@@ -379,6 +384,11 @@ COMMAND_HANDLER(kinetis_check_flash_security_status)
struct cortex_m_common *cortex_m = target_to_cm(target);
struct adiv5_dap *dap = cortex_m->armv7m.arm.dap;
+ if (!dap) {
+ LOG_WARNING("Cannot check flash security status with a high-level adapter");
+ return ERROR_OK;
+ }
+
uint32_t val;
int retval;
const uint8_t origninal_ap = dap->ap_current;