调试STM32下载器问题:
我这里需要说明的一点就是当我们实际连接板子的时候,很多时候查看Jlink是否连接是判断板子能否正常工作的一个比较好的方法。
那么当我们打开Keil里面的下载器设置的时候,不能发现Jlink的ID号,JTAG与SWD都没法识别的时候。当然前面我分析了很多问题。这里还有一个问题,那我需要说明的一点就是查看自己的硬件电路是否有问题。
我记得当时调试M0的时候,就出现Jlink的SWD模式一直没法连接。很是郁闷,我一开始还以为是我没连接PA13,PA14。但是仔细查看,改写下代码发现,是由于芯片的ADC参考电压地方被我悬空了。记住这里如果代码里面不对ADC进行初始化的时候,是可以查到SWD的。但是一旦初始化ADC之后,那就不能继续查看了。由于此时芯片已经死掉。最简单的方法请记住:
上电之后,将板子的RST引脚接地。查看Jlink的SWD模式是有的了。这时将硬件参考电压连接好之后,按下载键,程序此时开始下载,当下载的时候,拔掉RST引线。程序就自动下载进去了。
这点是很多人在调试的时候,经常会遇到的,希望和大家分享一下!
调试STM8的st-link
STM8的st-link经常无法连接,这一点一直是困扰大家的。那么这里我们尽量不要去升级板子的驱动。解决方法首先将RST引脚接地,让板子不要工作,看是否可以下载程序,有的时候,由于程序的逻辑错误,会使得st-link不能正常连接。属于正常。如果接地之后,可以下载程序,先将板子的程序清掉,重新工作即可。尽量断电后复位工作。
我们的SWIM信号线是有时钟的,那我们这边调试将SWIM的时钟分频为原来的一半,运行第一次可以,第二次芯片程序直接不让烧,那么这里我不知道有没有遇到这样的问题。具体为什么。我也不是很清楚,但是解决办法就是讲RST接地,下载程序,拔掉RST线,让程序下载。
那么还有的时候,我们一直程序下载不下去,我们先看是否st-link真的坏了。我们可以让st-link先调试STM32,如果32位单片机正常工作。可能的原因是由于8位的一个控制芯片出了故障。这就需要进行修理了。这就是所有的方法全部尝试了,最后的解决方法。
希望可以帮到大家!
|