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仿真器。

1.png

图1

2.png

图2

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

3.png

图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.png

图4

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

5.png

图5

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

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

6.png

图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.png

图7

8.png

图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提示程序下载成功。

9.png

图9

10.png

图10

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

11.png

图11

4►对MM32G0001恢复出厂设置

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

12.png

图12

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

13.png

图13

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

14.png

图14

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

15.png

图15

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

16.png

图16

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

17.png

图17

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

18.png

图18

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

19.png

图19

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

20.png

图20

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

21.png

图21

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

22.png

图22

5►恢复了出厂设置验证

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

23.png

图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环境中重新下载新的例程。

24.png

图24

来源:灵动MM32MCU

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 54

1.png

来源:灵动MM32MCU

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 22

灵动股份推出全新超值型 MM32G0001 系列 MCU。2023 年初,灵动首次发布了其主打高性价比的 MM32G 系列,目前已陆续推出了 G0140,G0160 和 G5330 系列产品。为进一步丰富 MM32G 系列产品组合,灵动和上下游合作伙伴通力合作,打造出全新入门级超值型 MM32G0001 系列 MCU。MM32G0001 系列 MCU 搭载 48MHz Arm® Cortex®-M0 内核,提供 16KB Flash 和 2KB SRAM,并提供丰富的外设资源。MM32G0001 系列 MCU 适用于多种多样的入门级 32 位MCU市场,可覆盖广泛的 8/16 位 MCU 升级需求。

优化 Flash 技术,降低产品成本,助力 8/16 位 MCU 升级

以 Arm 为内核的 32 位 MCU 投入市场已经近 20 年的历史,目前 32 位 MCU 已逐步覆盖应用市场的方方面面,但不容忽视的是 8/16 位 MCU 因其价格便宜、简单易用、小封装丰富等特点,依然牢牢占据着入门级 MCU 市场的主力位置。虽然很多 32 位 MCU 厂商都推出了其 8/16 位的替换产品,但始终因为价格和易用性等因素无法完全撼动 8 位单片机的低成本优势。但同时我们也观察到,很多主流的 8/16 位 MCU 产品都具有一些明显的特征:如采用较为传统的工艺,配置 EEPROM,可提供几个 KB 的小容量 Flash甚至是OTP(一次可编程)或者MTP(多次可编程,如几十次或上百次),以及较小的 RAM 配比,如几百个字节。随着工艺的发展,老工艺的成本劣势越来越凸显,在先进工艺上小 Flash 和 EEPROM 的实现也不再经济,因此从工艺角度看, 8/16 位 MCU 的发展已经达到瓶颈。而随着先进工艺的发展,32 位 MCU 有机会采用最新的技术把成本做到和 8/16 位 MCU 相当甚至更优的水平。

正是观察到了上述趋势,灵动与合作伙伴华虹宏力紧密配合,依托于华虹宏力20多年夯实可靠的嵌入式闪存技术上做的优化,采用更稳定和经大规模量产验证的 12 寸晶圆工艺平台,对产品的功能、性能和成本进行了全方位的打磨,在保持MM32品质目标的前提下,推出了这款极具性价比的 MM32G0001 系列 MCU 产品。

不同于市面上部分出现在低温或高温环境下代码遗失、读写次数降级的嵌入式MCU产品,MM32G0001在各种温度范围内的闪存擦写寿命与数据保存能力、抗干扰性、芯片复位可靠性等性能都已得到充分验证。

MM32G0001 产品配置和特色

1.jpg

MM32G0001 的简要配置如下:

  • 内核

    Arm Cortex-M0,主频可达 48MHz

  • 存储

    16KB Flash,2KB SRAM

  • 通信接口

    2 组 USART 接口,支持 3 线 SPI 模式;1 组 SPI 接口,主机模式速度可达 24Mbps;1 组 I2C 接口

  • 定时器

    3 组 16 位定时器,其中包含 1 组可输出 4 路互补 PWM 的高级定时器;1 组独立时钟看门狗

  • 模拟

    1 组 12 位 8 通道 ADC,速度可达 1MSPS

  • 兼容性

    引脚兼容 MM32F0010 系列

MM32G0001 在提供了极致的性价比的同时,也保证了产品的质量稳定、可靠,并通过了大量的测试和验证。作为 8/16 位升级的首选,MM32G0001 具有以下特色亮点:

  • 高主频

    相较于常见的 8/16 位MCU,性能提升了 3~4 倍

  • 大 SRAM

    Flash:SRAM 配比为8:1,满足升级需求

  • 10 万次擦写

    Flash 支持 10 万次擦写,可替代片上 EEPROM,并为众多使用8/16位OTP/MTP MCU的用户提供代码升级的便利性和健壮性

  • 丰富的通信接口

    提供多种可灵活配置的接口:2个经优化的USART、1个SPI和1个I2C,轻松实现各种接口类应用,如 USART 转 SPI、USART 转 I2C、SPI IO 扩展、I2C IO 扩展等

  • 高速 ADC

    高达 1MSPS 采样率的 12 位 ADC,模拟性能不减配

  • 可驱动三相电机

    提供三相互补 PWM 输出,支持硬件死区

  • 内置高精度时钟

    全温度范围内偏差不超过 ±2%

  • 最高 105°C Tj结温范围

  • ±5KV HBM ESD,±2KV CDM ESD,±300mA 高温 Latch Up 闩锁值

  • 2.0~5.5V 宽压设计

    适用于各种供电电压场景

MM32G0001 产品组合

MM32G0001现可提供 TSSOP20,QFN20 和 SOP8 三种封装,提供 -40~85°C 工业级和 -20~70°C 消费级环境温度选项,本次共推出 5 款型号可供选择。

此外,MM32G0001 还支持为特定客户和应用定制 DFN、DIP 和 SOP 等常见的小引脚封装,可联系灵动了解详情。

MM32G0001 的产品组合如下:

2.png

产品供货情况和支持

在硬件配套方面,MM32G0001 支持两种类型的开发板:

用户可根据需要任意选择两款不同配置的开发板。

MM32G0001 现已提供完整的样片、开发板和软件开发包支持。

3.png

MM32G0001 系列已全面量产并可接受大批量订单。有关样片申请与芯片购买事宜,请洽灵动股份的销售、官方代理商和方案设计公司。

更多有关MM32G0001的详细信息,请点击访问:

https://www.mindmotion.com.cn/products/mm32mcu/mm32g/mm32g_value_line/mm32g0001/

来源:灵动MM32MCU

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 177
订阅 RSS - MM32G0001