最近搞stm32,犯了个贼那啥的错误,把f407的程序下到f427里面,导致无法下载程序,电脑可以识别到jlink但是单片机不行。于是上网找办法,我的单板是通过四脚烧录器烧进去的,所以可用方法有限,希望这篇文章能帮助到有同样问题的人。
在网上看到的普遍办法是拉高boot0并拉低boot1,使用系统存储器模式烧录。
一般开发板会有帽子,用的都是主闪存模式,也就是串口烧录,但是芯片自锁显然不能用这个方法。自己做的板子就找对应的boot,物理拉高拉低。比如我这个stm32f427就是138脚和48脚(pb2可复用)
做好这一步按照网上的办法,同时按下复位键下载一个正常的程序就可以了。
本来是这样的。
但是我是谁啊,显然我没成功。
网上的jflash什么办法都试过了,但是卡在了connecting to cpu via connect under reset failed这一步。
nmd,wsm,这种事显然很奇怪啊。但是仔细一分析,不对啊,我这不是按住rest键了么,而且检查了boot0和boot1没有虚焊有电压,那就只有一个可能,复位键没有触发。
说起来我的板子是双供电,虽然rest所用的电压只有一个,但是双电源确实会干扰(别问为什么记住就行了),也就是rest他没有rest,我rest了。于是把usb供电去掉,只剩下下程序的部分,检查boot0和boot1情况,具备条件,开整,可以了。
也可以识别到jlink了
好欸!