最近,一些不熟悉MM32MCU的用户遇到了无法下载MCU的情况,然后向我们报告该芯片存在问题,最后由技术工程师跟进。
实际上,这是由用户程序错误或不规则操作引起的。
并不是说芯片有问题。
如果遇到这种情况,请不要担心,本文将解释如何解决编程失败以及出现此类问题的原因。
不能对MM32进行编程的原因有很多。
我们从硬件和软件两个方面进行分析:硬件原因:1.使用的调试器不支持调试和下载MM32MCU,IAR / KEIL上的仿真器选择/配置不正确,并且MM32MCU已获得官方Segger认证。
在Segger官方网站上,J-Link驱动程序6.40或更高版本支持MM32MCU系列。
MM32MCU支持MM32-Link,U-link,J-Link,DAP-Link等。
使用SWD / JTAG(M3)执行内核,外围设备和FLASH访问。
2. MM32MCU的最小系统不完整,复位电路设计错误,MCU电源不正常等,导致设备无法识别。
MM32MCU支持2.0-5.5v宽电压电源。
用户自行设计产品PCB时,建议用户保留VCC,SWDIO,SWCLK,GND和NRST的五线下载端口模式。
设计电路时,请参考演示板。
3. SWD PA13和PA14的两个引脚被焊接,外部硬件被上拉或下拉,调试器被错误地连接或断开。
软件原因:1.程序下载错误。
MM32MCU有五个系列:F,L,SPIN,W和P。
我们具有用于不同MCU的不同库,启动文件和例程。
下载程序前,请检查您的MCU版本。
对应于要下载的程序,例如,MM32F031C6T6分为q版本和n版本。
由于两个模型的时钟域配置不同,因此无法直接共享程序。
2. MCU处于读/写保护状态。
当MCU处于读保护状态时,FLASH空间处于写保护状态。
目前,无法使用SWD协议访问内核,外围设备和FLASH,并且无法进行下载调试。
3. MCU处于低功耗状态。
当MCU处于不同模式和低功耗状态时,MCU的外围区域将处于关机状态。
调试器识别出MCU处于关机状态,无法下载和调试。
4. SWD的两个引脚PA13和PA14与其他功能或通用IO复用,而PA13和PA14被配置为其他工作模式。
此时,PA13和PA14无法在SWD模式下工作,并且无法通过SWD协议执行调试器。
下载并调试。
5.程序下载过程中发生错误。
由于下载速度和调试器版本的特性,在下载过程中发生错误,导致MCU进入HardFault状态(程序运行),并且此时无法执行下载调试。
q