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

Guru**** 2587365 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1073178/uniflash-step-action-erasing-ic

您好,

  您是否知道 按钮擦除整个闪存后删除的步骤操作 IC,如下图所示?   

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Nat 您好,

    我相信这将调用 JTAG 调试 器发出大量擦除,因为我知道这是通过在 WUC TAP (TRM 第6.8节)中设置 CHIPLE_ERATE_REQ 实现的。  我将与工具团队联系以验证这一点。

    此致,
    瑞安

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    工具团队确认了我的假设。   “擦除整个闪存”按钮将生成 DPActiveDebugSession.Expression.Evaluate ("MassEras()") ,其执行方式如下:

    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()");
    }
    

     IP_CC26xx_CHIPERASE 寄存器是由 XDS 驱动程序定义的虚拟寄存器,向其写入1将导致 WUC TAP 中的 XDS 探测器设置 CHICE_ERAK_REQ。

    此致,
    瑞安

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,瑞安,

      

    很抱歉,我的回复很遗憾,感谢您和您的团队的支持。 有关此信息,我将发送给我的团队 
    以再次解决问题。

    非常感谢  

    此致,

    NAT