This is an automated email from Gerrit.

Per Ekman ([email protected]) just uploaded a new patch set to Gerrit, which 
you can find at http://openocd.zylin.com/1762

-- gerrit

commit 58b355a7a88f047463d61ecf0039f452d507cd94
Author: Per Ekman <[email protected]>
Date:   Thu Oct 24 11:54:32 2013 +0200

    kinetis : Fix broken check for mass erase.
    
    If the flash is not ready (MDM_STAT_FREADY is 0) then
    dap_syssec_kinetis_mdmap() would act as if the MDM_STAT_SYSSEC bit was
    set and erase the flash. Wait until MDM_STAT_FREADY is set before
    checking the MDM_STAT_SYSSEC bit.
    
    Change-Id: I5c3352f625599016625ed9be8787033f49bfacea
    Signed-off-by: Per Ekman <[email protected]>

diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index 68af7f3..e878259 100644
--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -671,14 +671,16 @@ int dap_syssec_kinetis_mdmap(struct adiv5_dap *dap)
         * it's important that the device is out of
         * reset here
         */
-       retval = dap_queue_ap_read(dap, MDM_REG_STAT, &val);
-       if (retval != ERROR_OK)
-               return retval;
-       dap_run(dap);
+       do {
+               retval = dap_queue_ap_read(dap, MDM_REG_STAT, &val);
+               if (retval != ERROR_OK)
+                       return retval;
+               dap_run(dap);
 
-       LOG_DEBUG("MDM_REG_STAT %08X", val);
+               LOG_DEBUG("MDM_REG_STAT %08X", val);
+       } while (! (val & MDM_STAT_FREADY));
 
-       if ((val & (MDM_STAT_SYSSEC|MDM_STAT_FREADY)) != (MDM_STAT_FREADY)) {
+       if ((val & MDM_STAT_SYSSEC)) {
                LOG_DEBUG("MDMAP: system is secured, masserase needed");
 
                if (!(val & MDM_STAT_FMEEN))

-- 

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to