最近一款STM32F0的产品打样,烧录不正常,串口可以但SWD不行,反复确认后最终解决问题,附件(内有示例图片参考)心得为大家参考。
先说说问题现象:
1.出现检测不到目标板;
2.按复位键检测到后用SWD下载显示檫除失败,超时。
3.烧录到一半出现内部指令错误。
总结如下:
1. 如果出现不能烧录,将BOOT0 接3.3V。先用“FlyMcu”串口连接后,点“清除芯片”将Flash檫除。 2. 按正确的接线方式连接好“SWD”接口:SWDIO ,SWCLK ,GND。 3. 为了BOOT0可靠接地,直接将BOOT0 接地。 4. 目标板上电,按一下复位按钮。(如果需要按住复位按钮才能检测到目标板说明电路存在缺陷,比如SWCLK受其他共用电路影响) 5. 在keill –Debuge-setings下检查目标板是否连接OK。 6. 点 download 将程序下载到Flash。(1-6步骤是解决烧录檫除程序超时的问题,或SWD不能下载程序。) 7. 如果出现目标板检测不到先检查接线是否正确, 8.如果用SWD烧录过程中出错一般要检查3.3V是否OK,纹波大或不稳定。SWDIO,SWCLK引脚是否共用其他电路造成信号不稳定烧录失败,这点很重要。
|