外部晶振会导致无法下载程序
产品需要改版,新打的板子发现下载程序经常下载不进去,然后用一个新板子尝试只焊了F103的芯片,下载一切正常,然后焊上晶振,供电后用示波器看晶振工作正常,就会出现和我之前焊的板子一样的问题,无法下载,error:flash Program fail, cortex-M3 。
移除晶振,下载又正常了。 焊上晶振,下载又不正常了?
换了好几次芯片问题依旧。
我发现在下载的时候按下板子上的芯片复位按键,只有在这个瞬间操作,可以下载成功,但是多次之后,烧写器无法识别芯片了。。。
然后用st-link unity 下载了一次程序,芯片就报废了,下载器再也找不到芯片了。。。。。
芯片型号是 stm32f103RC
应该不是晶振的问题
查看一下加上晶振有电路短路没有主要看一下硬件和 BOOT引脚电平
不能识别芯片的原因有很多 我们旧的板子待机是200毫安,新板子的待机也是200毫安,说明没有短路,这次改版的一个重要原因就是之前使用的是内部晶振,这次想使用上外部晶振。
以最小系统的原则精简硬件,板子 上只有一个芯片,晶振,和boot脚跳线上拉或者下拉的电阻。。
boot脚悬空或者下拉,晶振是工作的,但是不能正常下载,boot脚上拉之后,晶振就不工作了。下载正常。。。
芯片的型号是stm32f103rc,64脚的。 外部晶振和在线下载不能共存了。。。boot0和boot1上下拉都试过了。。。。。
还有没有其他的可能性? 把你的原理图、PCB、晶振数据手册发上来。一般是人为原因,从没遇到过此问题。 楼主在boot模式下,是不是可以通过STLINK读取到设备?你外部晶振焊接的多大的?系统配置的外部时钟是多大的? 我怀疑试是芯片设计的问题,boot0拉高,外部晶振不工作,(如果外部晶振在工作,复位后晶振就不工作了),这个时候下载就正常了,boot0拉低,下载不了(外部晶振在工作),只要把外部晶振移除了,就可以正常工作了,
这个现像就是外部晶振和在线下载不兼容,
导致我现在调试软件用内部晶振,跑程序就用外部晶振。。。这样确实很麻烦。。。 有时候可以读到,8M的村田晶振,为了省电,主频32M,apb1,apb2都是16M 应该是楼主把SWD下载端口初始化成输出口所致。检查一下代码,
页:
[1]
2