diff options
author | Paul Fertser <fercerpav@gmail.com> | 2014-06-15 18:33:30 +0400 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2014-06-18 20:32:06 +0000 |
commit | 3aee451f275efe0176af3bcbaf12aec7361893aa (patch) | |
tree | 4fe8dd1589ea4c7de86ff4636043bde714bb8b87 | |
parent | bbc2f13f33389008826006e31bc5afdda4e3602e (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>
-rw-r--r-- | src/flash/nor/kinetis.c | 10 |
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; |