最新做了一项目,在指导客户烧录程序的时候发现一个问题。。。
用j-flash5.12下载代码,之前没怎么用过这个。。
首先发现的是,第一次,也就是空片子的时候能烧录进去,如果在不断电的前提下,可以反复烧录。。
如果断电之后就烧录不进去了,会报错。。
报错截图如下:
最开始怀疑是线路问题,复位问题,所有问题都反复测试,没问题。。。
最奇怪的是,同样的条件,在keil里面就能正常烧录,在j-flash就烧录不进去。。
但是用stlink就能烧录进去,我用stlink烧录另外一个hex文件进去,然后在用jflash烧录就能烧录进去。。
反复测试,发现跟hex文件有关,经过不断的排查,最后找到原因:
// HAL_ADC_Start_DMA(&hadc,ADC_ConvertedValue,adc_chmax*adc_sample);//注销掉这一行就没问题
可能有点绕:
最后终结一下,如果我的代码打开上门那条语句会导致用j-flash 再第一次烧录后断电,烧录第二次就烧录不进去。。
但是用keil+jlink就没问题,j-flash+jlink就不行。。。 用stlink也可以烧录进去。。。
还有一种办法可以烧录进去,那就是 boot0接VCC也可以烧录进去,但是这样程序就不能从flash处运行了,明显不可以这样做。。
求大神解答,如果实在不行就只能用jlink下载了。。
|