使用MM32-Link MINI对MM32G0001恢复出厂设置

描述

工程师在开发产品的过程中使用调试仿真工具下载程序,用于调试程序是否按预期的业务逻辑实现了产品功能,但在开发过程中可能会遇到一些特殊情况需要对MCU恢复出厂设置。

工程师在开发产品中调试产品功能时出现以下行为时需对MCU恢复出厂设置:

MCU程序运行立刻进入低功耗停机模式或待机模式(注:未配置正确的唤醒源或唤醒引脚唤醒时间不够)。

MCU工程软件程序设置了选项字节对Flash区的固件读保护。

MCU端基于SWD协议的程序下载接口PA13和PA14被复用成其它外设功能,程序运行时下载口被复用的外设功能占用。

用户应用层软件误操作擦除了芯片选项字节导致芯片自锁,导致SWD无法继续下载程序。

本示例应用举例以MM32G0001为例,因为用户程序误操作等情况导致芯片自锁,使得调试器无法调试、读取或下载程序,那么MCU开发过程中遇到以上这些行为现象时,可以通过MM32- Link MINI和MM32-Link Utility上位机软件对MCU进行恢复出厂设置,解决SWD程序下载口被外设功能复用等占用问题。

1

需准备的工具

MM32-Link MINI调试器

MM32-Link升级工具(MM32-Link MINI调试器固件升级工具)

MM32-Link Utility(MM32-Link MINI调试器上位机软件)

如下图1所示可通过灵动官网www.mindmotion.com.cn下载MCU恢复出厂设置所需工具软件,单击灵动官网导航条中的支持栏,然后单击开发工具栏中的调试与下载工具,如下图2所示,在弹出的网页中,单击MM32-Link MINI仿真器。

Flash存储

图1

Flash存储

图2

如下图3所示,在弹出的网页中分别单击下载MM32-Link升级工具和MM32-Link Utility上位机软件,该软件与MM32-Link MINI配套使用。

Flash存储

图3

MM32-Link升级工具和MM32-Link Utility上位机软件下载完成后,在电脑端分别双击运行MM32-Link升级工具和MM32-Link Utility软件,按照软件安装向导的提示安装好MM32-Link升级工具和MM32-Link Utility软件。

2

对MM32-Link MINI进行固件升级

如下图4所示,MM32-Link MINI调试仿真器与电脑USB接口连接,然后双击MM32_Link Upgrade快捷方式图标运行MM32-Link Upgrade软件,如下图5所示。

Flash存储

图4

如下图5所示,通过MM32_Link Upgrade V1.01为MM32-Link MINI更新固件,在Choose Version栏中的Version下拉选项选择固件版本为20230608,然后单击Upgrade按钮更新MM32-Link MINI固件,稍等片刻在Upgrade Logs栏会打印输出MM32-Link固件更新成功信息。

Flash存储

图5

3

SWD口PA13和PA14复用为GPIO功能

如下图6所示,本演示示例以MDK Keil IDE环境打开LibSamples_MM32G0001库函数例程中的GPIO_SWD_Remap例程,该例程把基于SWD协议的程序下载口PA13和PA14复用成GPIO功能,使用该例程为本示例后文用于演示恢复出厂设置做准备。

Flash存储

图6

如下图7和图8所示,分别为MM32-Link MINI接线图以及通过20pin排线与MM32G0001核心板连接实物图,其中MM32-Link MINI调试仿真器的DIO和CLK接口分别连接MM32G0001核心板的SWD接口PA13和SWCLK接口PA14,MM32-LINK MINI调试仿真器的TVCC和GND分别连接MM32G0001核心板的VDD和GND,并把核心板MCU端的VDD连接到MM32-Link MINI的VREF参考脚(注:如果MM32-Link MINI内部短接了VREF脚无需外接VDD),使得MM32-Link MINI识别MM32G0001核心板端的供电电压,以便于匹配SWD时序电平。

Flash存储

图7

Flash存储

图8

在MDK Keil IDE环境中按快捷键F7编译LibSamples_MM32G0001_v0.9.1库函数例程中的GPIO_SWD_Remap为GPIO功能的例程。如下图9 Build Output窗口所示提示编译成功。按快捷键F8把编译的程序通过MM32-Link MINI下载到MM32G0001核心板。如下图10 Build Output窗口打印Logo提示程序下载成功。

Flash存储

图9

Flash存储

图10

MM32G0001需要重新上电,GPIO_SWD_Remap的程序才会执行。然后按快捷键F8重新烧录程序,如下图11所示,提示SWD通信失败,原因是MM32G0001的SWD程序烧录接口PA13和PA14已经被复用为GPIO功能并正在运行GPIO翻转功能的程序,因此提示SWD通信失败。遇到这种情况可以通过MM32-Link MINI结合MM32-Link Utility上位机软件对MM32G0001恢复出厂设置,恢复SWD下载程序功能。

Flash存储

图11

4

对MM32G0001恢复出厂设置

保持MM32-Link MINI与电脑端和MM32G0001核心板的连接,双击MM32-Link Utility快捷方式图标启动MM32-Link Utility软件,该软件会自动与MM32-Link MINI建立连接。启动后的界面如下图12所示。

Flash存储

图12

如下图13所示,在MM32-Link Utility V1.08上位机软件的菜单栏单击Setting->MM32-Link Config

Flash存储

图13

如下图14所示,在弹出的MM32-Link Config界面可以配置MM32-Link MINI调试器仿真器的TVCC引脚对外输出3.3V或5V电压给目标芯片MCU供电,本示例配置TVCC对外输出5V供电给MM32G0001核心板LDO输入转3.3V输出给MM32G0001供电,同时也可配置是否开启蜂鸣器声音提示和下载程序的Speed。

Flash存储

图14

如下图15所示,单击MM32-Link Utility V1.08软件菜单栏的Project->New Project或按快捷键Ctrl+N键新建MM32-Link Utility恢复出厂设置工程。

Flash存储

图15

如下图16所示,在弹出的New Project窗口中Base选项卡Project栏中Name栏自定义填写待恢复出厂设置的MCU的型号或系列名称,本示例以MM32G0001为例作为填写,在Chip Choose栏Series系列下拉选项卡中选择MM32G0001系列,Part No下拉选项选择MCU的具体型号,本示例选择MM32G0001A6T,在File栏单击“…”按钮,选择MM32G001库函数例程中的任意一个例程,这里以选择GPIO_LED_Toggle例程为例(如果只是恢复出厂设置File栏也可不做加载选择,本示例为了演示新建工程的操作步骤作为选择项)。

Flash存储

图16

如下图17所示,进入GPIO_LED_Toggle例程Objects目标文件夹加载GPIO_LED_Toggle.hex文件,然后单击打开即可。

Flash存储

图17

如下图18所示,在New Project界面的Descript栏中用户可以自定义新建恢复出厂设置的工程描述本示例自定义Factory Reset描述,即恢复出厂设置,然后单击OK。

Flash存储

图18

如下图19所示为新建好的MM32G0001恢复出厂设置的工程,即Factory Reset工程。

Flash存储

图19

如下图20所示,单击MM32-Link Utility V1.08软件菜单栏Operate->Erase Chip使得MM32G0001恢复出厂设置。

Flash存储

图20

如下图21所示,MM32-Link Utility V1.08 上位机软件Logo栏打印信息提示为Chip erase--->Successfully,此时MM32G0001已成功恢复到出厂设置。

Flash存储

图21

如下图22所示在MM32-Link Utility V1.08软件菜单栏单击Operate->Disconnect断开MM32-LINK MINI与MM32-Link Utility软件的连接,然后重新给MCU上电恢复出厂设置即刻生效。

Flash存储

图22

5

恢复了出厂设置验证

如下图23所示,使用MDK Keil IDE打开LibSamples_MM32G0001库函数例程中的GPIO_LED_Toggle翻转例程,按快捷键F7编译工程。

Flash存储

图23

在MDK Keil IDE环境下按快捷键F8下载MM32G0001库函数例程中的GPIO_LED_Toggle翻转例程到MM32G0001核心板,以验证MM32G0001是否通过MM32-LINK MINI使用MM32-Link Utility上位机软件恢复了出厂设置。如下图24所示,在MDK Keil IDE的Build Output打印的Logo信息提示下载的程序的工程名称为GPIO_LED_Toggle,Programming Done.Verify OK. 说明MM32G0001通过MM32-LINK MINI使用MM32-Link Utility上位机软件恢复了出厂设置,并可以在MDK Keil IDE环境中重新下载新的例程。

Flash存储

图24


审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分