我昨天试了,其实并不是芯片的问题,JLINK的补丁也只是用于JLINK下载软件,只是下载软件中多了支持HK的芯片和对HK烧结的专用界面。实际上STLINK和JLINK仿真器都是可以下烧程序的,真正不识别芯片的原因是:
1、仿真器到目标芯片的下载线长度太长;
2、下载线的质量太差,现在很多排线的线芯太细。且为铁芯导线,导致芯片识别异常。
这个问题就是线损太大造成的,之前我在用STM8和STM32时也发生过,但这次因为一开始可正常识别和烧录芯片,后来突然没办法识别了,也没往这一方面考虑。
所以建议下载线(仿真器到目标芯片)长度在20cm以内,且选用质量好一点的铜导线,如24AWG的锡包铜排线或纯铜排线。
另外:因芯片的SWD引脚被复用于其它功能,如普通IO口,串口等,导致第二次下载不识别芯片,此时可以按下列步骤操作:
1、仿真器连接芯片,但VCC不供;
2、将芯片的NRST引脚电平强制拉低,如有复位键时,可按下复位键不放;
3、芯片上电(VCC);
4、软件对芯片的识别(此时在KEIL的Options for Target—>Debug—>STLINK或JLINK—>Settings中应该可以识别到芯片);
5、下载;
6、立即释放NRST电平或复位键释放;
7、开始烧写。
以上是我这次仿真器识别不了芯片总结出的一些经验,在排除接触不良、芯片损坏等因素后,重点检查仿真器到目标芯片的线损,供参考。
|