From 3aee451f275efe0176af3bcbaf12aec7361893aa Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Sun, 15 Jun 2014 18:33:30 +0400 Subject: [PATCH] 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 Reviewed-on: http://openocd.zylin.com/2173 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/flash/nor/kinetis.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/flash/nor/kinetis.c b/src/flash/nor/kinetis.c index 42677a385..6f47461e5 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;