APM32F003常见烧录问题解决指南
本帖最后由 Alden 于 2025-11-10 18:11 编辑#技术资源# #申请原创#
在单片机开发调试过程中可能会遇到芯片无法烧录调试的情况,最近正好测试了下APM32F003比较容易遇到的烧录调试问题和对应的解决方案。
1、复用了烧录引脚
APM32F003的烧录引脚是PD1(SWDIO)、PD2(SWCLK)这两个引脚除了烧录功能,还可以复用成普通IO或者做外设功能引脚使用。
APM32F003烧录引脚的复用比较简单,直接当普通IO初始化或者开启对应的外设就会复用过去,需要注意APM32F003的ADC扫描模式是固定从AIN0通道到AIN”n”通道,而PD2(SWCLK)是AIN3,如果扫描的通道大于3就会复用了烧录引脚,也就会影响烧录功能。
对应解决方案:
硬件设计参考开发板将复位脚RESET引到烧录接口上,如果遇到无法烧录keil识别不到ID的情况,尝试将复位脚接到烧录器RESET上由烧录器复位MCU释放烧录脚实现烧录。
如果硬件上没有将复位脚引到烧录接口上的话,可以使用镊子夹复位电容或者其他方式将复位引脚拉低让芯片保持复位状态,在复位状态下,烧录器是能识别到芯片ID的,在Keil上确认能识别到ID后表示芯片状态和接线都正常,在点烧录的同时释放复位引脚,这需要一点手法,多尝试下也能烧录。
2、芯片进入了读保护
APM32F003有加读保护的功能防止量产产品的代码被读出,用户可能误操作导致芯片锁住无法烧录的情况。以及在极海官网《APM32F003x6 勘误手册》上提到,在main中操作选项字节被意外打断可能导致芯片被锁住,主要的场景是上电立即操作选项字节,可能由于电源不稳定,操作被打断芯片自锁了。建议使用离线烧录器来配置选项字节。如果要在main中编程选项字节,也可以在编程前加一段延时,避免刚上电电源不稳定的情况下操作。
在确保接线正确的情况下,确认芯片在复位状态下能识别到ID.
如果芯片自锁状态,烧录器是能在kail上识别到ID的,但下载会报错。
如果是这种情况有两个方法解决
1、使用支持APM32F003型号的烧录器,配置选项字节解除读保护。
2、如果没有离线烧录器,比较简单的方法就是可以尝试使用下面的例程,例程配置的是将代码烧录到SRAM中,读保护状态下SRAM是可以访问的,烧录后进行Debug仿真,跑一遍解除读保护的操作,芯片就能解锁。
@21小跑堂 顶顶贴~最近好多刚入手学习APM32的工程师们会关注的烧录问题,感谢@Alden 大佬的优质内容
页:
[1]