在利用STM32的时候,偶尔会碰着无法正常下载程序的的征象,可以通过下面几个方面来排查问题
1,首先确认下载器STLink或者JLink能够正常事情,通过电脑设备管理器如果能看到对应下载器的驱动安装正常,基本能够打消下载器的问题。
2、确认电路板下载接口没有问题。通过丈量下载接口JTAG/SWD电压可以确认下载口是否事情正常。
通过STM32F103的参考手册,可以看到JTAG的几个下载接口的电平
相应的SWD接口:
3、如果确认了下载器和电路板下载接口都没有问题,接下来打消软件设置方面的问题
1)是否进入了休眠模式后把下载接口关闭了?
在调试STM32低功耗功能的时候可能会碰着进入休眠模式,比如STOP后就无法下载程序了。这个时候如果程序中有对应的唤醒办法,比如按键唤醒,可以先唤醒 STM32退出STOP休眠再下载;如果没有唤醒方法,可以考试测验上电的瞬间下载程序,如果有复位按键可以按着复位按键,松开后的同时下载程序。
在调试休眠模式的时候只管即便在进入休眠模式前添加足够的延时或者设置得当的唤醒模式。
2)STM32进入加密模式?
有的时候为了安全或者产品出厂的时候会进行对STM32内核加密,一旦加密后再利用下载器下载或者读取程序都会出错,这个时候须要先解锁再对STM32进行下载操作,比较大略的解锁办法是利用Jflash的解锁功能,对应的Jflash也有加密功能。
3、如果利用STM32cubeMX天生代码,也会碰着一种常见的无法下载的问题。
在利用STM32cubeMX天生的代码下载程序的时候,第一次可以下载,而后再次下载就会提示失落败,这个时候很大的可能是在配置程序中关闭了下载功能,
精确是的该当选择下载功能
4、除了上面几种常见了,可能还会存在其他的情形下无法下载程序,总体的办理问题的思路是先从下载器-->下载接口-->软件程序 这个流程