打印
[其他]

灵动微电子MM32 MCU烧录经验分享

[复制链接]
220|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OKAKAKO|  楼主 | 2024-2-19 20:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 OKAKAKO 于 2024-2-19 20:39 编辑

昨天我遇到了MM32无法下载的问题,在网络上也进行了查找,感觉这篇文章很好,下面分享给大家!按照这个文章思路进行了排查发现是自己做的PCB硬件上SWD引脚虚焊问题。分享的文章如下:

最近有部分刚接触MM32 MCU的用户朋友们碰到了MCU无法进行下载的情况,然后跟我们反馈芯片有问题,最后经过技术工程师跟进,其实都是用户程序使用错误或者操作不规范等原因造成的,并非芯片有问题。

MM32无法进行烧写原因有多种情况,我们从硬件和软件两个方面分析:

硬件原因:
1、使用的调试器不支持调试下载MM32 MCU,IAR/KEIL上仿真器选择/配置不正确,MM32 MCU已经获得Segger官方认证。在Segger官网J-Link驱动6.40以上版本支持MM32 MCU系列,MM32 MCU支持如MM32-Link、U-link、J-Link、DAP-Link等使用SWD/JTAG(M3)等方式对内核、外设、FLASH进行访问。

2、MM32 MCU最小系统不完整,复位电路设计错误、MCU供电不正常等也会出现无法识别设备Device等情况。MM32 MCU支持宽电压2.0-5.5v供电,在用户自己设计产品PCB时,建议用户预留VCC、SWDIO、SWCLK、GND、NRST五线下载口方式。大家在进行电路设计时请参考demo板进行设计。

3、SWD的两个引脚PA13、PA14引脚虚焊,外部硬件有上拉或下拉,与调试器连接不正确或未连通等情况。

软件原因:
1、程序下载错误,MM32 MCU有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状态(程序跑飞),此时无法进行下载调试。

使用特权

评论回复
沙发
yangxiaor520| | 2024-2-20 07:52 | 只看该作者
很好的经验总结,值得学习和收藏。

使用特权

评论回复
板凳
victory007| | 2024-2-21 10:29 | 只看该作者
低功耗状态怎么恢复下载?

使用特权

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

本版积分规则

153

主题

1075

帖子

3

粉丝