产品需要改版, 新打的板子发现下载程序经常下载不进去,然后用一个新板子尝试只焊了F103的芯片,下载一切正常,然后焊上晶振,供电后用示波器看晶振工作正常,就会出现和我之前焊的板子一样的问题,无法下载,error:flash Program fail, cortex-M3 。 移除晶振,下载又正常了。 焊上晶振,下载又不正常了? 换了好几次芯片问题依旧。 我发现在下载的时候按下板子上的芯片复位按键,只有在这个瞬间操作,可以下载成功,但是多次之后,烧写器无法识别芯片了。。。 然后用st-link unity 下载了一次程序,芯片就报废了,下载器再也找不到芯片了。。。。。 |
楼主按复位键能侥幸成功,因为此时是上电缺省状态(HSI)!而你一接晶振就有问题说明你的下载程序还没有成功切换到HSE,导致二者冲突!而一去掉又正常了,此时是HSI在工作
库函数将这一过程帮大家自动完成的!
大多数仿真器可以通过内部复位,瞬间连接目标芯片,进入SWD调试模式。
如果没有引出复位管脚,并且SWD还被程序给禁用了,那么就只好自求多福。在某次按下复位按键,快速释放复位键的时候,与仿真器连接相配合,有可能会连接成功。
如果引出了USART1串口的话,可以进ISP模式下载程序。
评分
查看全部评分
以最小系统的原则精简硬件,板子 上只有一个芯片,晶振,和boot脚跳线上拉或者下拉的电阻。。
boot脚悬空或者下拉,晶振是工作的,但是不能正常下载,boot脚上拉之后,晶振就不工作了。下载正常。。。
芯片的型号是stm32f103rc,64脚的。
查看一下加上晶振 有电路短路没有 主要看一下硬件和 BOOT引脚电平
不能识别芯片的原因有很多
评分
查看全部评分
还有没有其他的可能性?
这个现像就是外部晶振和在线下载不兼容,
导致我现在调试软件用内部晶振,跑程序就用外部晶振。。。这样确实很麻烦。。。
评分
查看全部评分
toofree 说的也对,程序下载完之后,系统提示
**JLink Warning: Could not set S_RESET_ST