From: Rodrigo L. Rosa Date: Tue, 30 Aug 2011 21:26:05 +0000 (-0700) Subject: fix error handling during halt X-Git-Tag: v0.6.0-rc1~584^2~4 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1d4f294c3c61ef8ad7a5cc89f3cfbd61ecaaf846;p=openocd fix error handling during halt the user can execute halt, but no enter_debug_mode. modified the error handling to suite this. the new implementation of unlocking will use enter_debug_mode, and should not get the same errors as the user would, because not being able to enter debug mode is actually success when checking for locked flash. --- diff --git a/src/target/dsp5680xx.c b/src/target/dsp5680xx.c index 4cd3ff5b..cc00f409 100644 --- a/src/target/dsp5680xx.c +++ b/src/target/dsp5680xx.c @@ -475,14 +475,14 @@ static int eonce_enter_debug_mode(struct target * target, uint16_t * eonce_statu if((data_read_from_dr&0x30) == 0x30){ LOG_DEBUG("EOnCE successfully entered debug mode."); target->state = TARGET_HALTED; - return ERROR_OK; + retval = ERROR_OK; }else{ + LOG_DEBUG("Failed to set EOnCE module to debug mode."); retval = ERROR_TARGET_FAILURE; - err_check(retval,"Failed to set EOnCE module to debug mode."); } if(eonce_status!=NULL) *eonce_status = data_read_from_dr; - return ERROR_OK; + return retval; } /** @@ -551,7 +551,7 @@ static int dsp5680xx_halt(struct target *target){ return ERROR_OK; } retval = eonce_enter_debug_mode(target,&eonce_status); - err_check_propagate(retval); + err_check(retval,"Failed to halt target."); retval = eonce_pc_store(target); err_check_propagate(retval); //TODO is it useful to store the pc?