This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UniFlash Step Action Erasing IC

Hi,

    Do you know about step action IC  for erasing after push-button Erase Entire Flash as in the picture below ?  

Thanks

  • Hi Nat,

    I believe this will call the JTAG debugger to issue a mass erase through I’m aware that this is accomplished through setting the CHIP_ERASE_REQ in the WUC TAP (Section 6.8 of the TRM).  I will loop in the Tools Team to verify this.

    Regards,
    Ryan

  • The Tools Team confirmed my assumption.  The “Erase Entire Flash” button results in DPActiveDebugSession.expression.evaluate("MassErase()") which is executed as such:

    hotmenu MassErase()
    {
        GEL_TextOut("Initializing.\n", "MassErase()");
        _isMassErase = 1;
    
        // Disconnect from target. This must be done for each module in the device debug sub-system hierarchy.
        DisconnectIfConnected(); // Cortex
        GEL_EvalOnTarget("<parent>", "DisconnectIfConnected()", 1); // DAP (Cortex' parent)
        GEL_EvalOnTarget("<parent>", "GEL_EvalOnTarget(\"<parent>\",\"DisconnectIfConnected()\", 1)", 1); // Icepick (DAP's parent)
    
        // Do board reset
        GEL_TextOut("Issuing Board Reset.\n", "MassErase()");
        GEL_AdvancedReset("Board Reset");
    
        // Reconnect to Icepick
        GEL_EvalOnTarget("<parent>", "GEL_EvalOnTarget(\"<parent>\",\"ConnectIfDisconnected()\", 1)", 1);
    
        // Issue mass erase from Icepick and disconnect
        GEL_EvalOnTarget("<parent>", "GEL_EvalOnTarget(\"<parent>\",\"IP_CC26xx_CHIPERASE = 1\", 1)", 1);
        GEL_EvalOnTarget("<parent>", "GEL_EvalOnTarget(\"<parent>\",\"DisconnectIfConnected()\", 1)", 1);
    
        // Workaround on engineering devices. Disconnect and reconnect for chip erase to take effect.
        ConnectIfDisconnected();
        DisconnectIfConnected();
        _isMassErase = 0;
    
        GEL_TextOut("Mass erase complete.\n", "MassErase()");
    }
    

    The IP_CC26xx_CHIPERASE register is a virtual register defined by the XDS driver, and writing 1 to it will result in the XDS probe setting CHIP_ERASE_REQ in the WUC TAP.

    Regards,
    Ryan

  • Hi Ryan,

       

    sorry I reply lated, Thank you for the support from you and your team . For this information I will send to my team
    to resolve the issue again.

    Thank you so much 

    Best Regards,

    Nat