打印
[MM32软件]

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

[复制链接]
1775|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 MindMotion 于 2023-10-20 11:42 编辑

工程师在开发产品的过程中使用调试仿真工具下载程序,用于调试程序是否按预期的业务逻辑实现了产品功能,但在开发过程中可能会遇到一些特殊情况需要对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仿真器。


图-1


图-2

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


图-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所示。


图-4

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


图-5

3. SWD口PA13和PA14复用为GPIO功能

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


图-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时序电平。


图-7


图-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窗口打印**提示程序下载成功。


图-9


图-10

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


图-11

4. 对MM32G0001恢复出厂设置

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


图-12

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


图-13

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


图-14

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


图-15

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


图-16

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


图-17

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


图-18


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


图-19


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



图-20

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


图-21

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


图-22

5. 恢复了出厂设置验证

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



图-23

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


图-24



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:上海灵动微电子股份有限公司
简介:上海灵动微电子股份有限公司成立于 2011 年,是中国本土通用 32 位 MCU 产品及解决方案供应商。 灵动股份的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。目前已量产近 300 多款型号,累计交付超 4 亿颗,在本土通用 32 位 MCU 公司中位居前列。

86

主题

104

帖子

5

粉丝