电子星辰 发表于 2018-5-25 15:25 我是用的Cube,没有设置Serial Wire,谢谢 |
2.1将B0拉高->重启->下载->B0拉低。 下载进关闭SWD模式的程序时可使用此方法,也可用jink或串口下载没有禁止swd模式的程序。在此要提醒,①使用CubeMX建立工程时,需设置Pinout->SYS->Debug为Serial Wire状态。②在使用swd模式时最好使用五针,VCC、SWDIO、SWCLK、GND、REST,系统可将其复位,在其未关闭SWD模式时执行SWD下载(未验证,有验证的确认一下)。 2.2、检查芯片有没有虚焊/漏焊,可以用手按住芯片使其接触良好进行下载。 2.3、检查SWDIO和SWCLK有没有反接,检查下载线接触是否良好。 2.4、检查B0/B1都处于低电平状态。10K电阻下拉至地。 2.5、检查供电电压及各个电源引脚是否供电良好。 在此处遇到问题,现象:内核有时能检测到有时又检测不到,重复下载出现不同状态的报错。原因是模拟电源基准电源芯片焊接错误,模拟供电引脚电压为零。 2.6、确认jink/SWD没有问题,下载其他芯片是否成功。 指示灯不亮,断开jink与板子连接还是不亮或常显红色,jink问题,重刷固件! 指示灯为绿色,下载其他芯片失败,显示no sw-dp found,可能原因MDK4.6对CM0+的内核支持不完善,在segger的官网下了个补丁,替换了一下。替换之前备份JL2CM3.dll文件,若不是该问题可替换回来。 http://www.segger.com/IDE_Integration_Keil.html#knownproblems(转载-爱吃水煮鱼) 2.7、Debug选项中->Reset选项Autodetect与Sysresetreq来回切换尝试。 2.8、选择Cortex-M/R JINK/J-Trace(两处:options for target ->debug中与options for target ->utilities)。 2.9、确认芯片型号以及flash大小。 2.10、options for target->target->code Generation选项中只勾选Use MicorLIB。 2.11、芯片挂了 2.12、jlink能读到内核,下载程序时在即将完成时弹出Error: Flash Download failed - Cortex-M3。检查复位电路是否有问题(BOM单标注10K,焊接人员将其焊接成100R,电阻过小导致jlink不能将芯片复位)。 |