最近遇到的一个芯片调试问题,跟大家分享下!

2019-07-20 22:08发布

本帖最后由 xiaoxiaoyuwu 于 2016-5-19 15:13 编辑

最近在调试stm32f405芯片的USB HID通讯的时候,遇到烧写程序烧写一次后,就不能再次烧写。一直怀疑是芯片的问题或者调试器的问题,从stlink到jlink徘徊,甚至怀疑过keil的问题。但是一次偶然的机会,就解决了。详细遇到的bug和怎么解决的。希望对大家有所帮助。

1.      当你编译烧写一个程序之后
QQ图片20160519145351.png

2.      当你再次编译,写入的时候出现了 QQ图片20160519145514.png 当发现配置都完全正确,但是依旧不能写入程序时,你是不是怀疑过你芯片的问题?是不是怀疑过你的stlink的问题?怀疑电路的问题?等等…….
3.      无论你怎样操作stlink,还是没办法去连接设备,无论你选择 Normal or HotPlug mode. QQ图片20160519145737.png QQ图片20160519145750.png

4.      解决问题的办法
(1)      重启设备(stm32模块)的电源
(2)      重新打开stlink软件,并连接设备
(3)      整个芯片 (Flash memory erased.) QQ图片20160519145947.png QQ图片20160519150008.png
(4)      检查你原程序中的时钟设置以及你实际使用的晶振的情况。 QQ图片20160519150023.png


注意:实际使用的时钟晶振为25M,但是在配置的过程中却使用的是8M。所以时钟导致芯片没有正常工作。故烧写程序出现故障。把它的时钟改成25M后,就可以正常烧入程序了。


总结:不要去轻易的去怀疑芯片的问题/烧入器的问题/电路的问题。首先先检查程序的问题,比如时钟的问题/GPIO配置的问题等。








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。