SWD模式下载失败的问题
如图所示,是我的SWD接口和复位接口第一次下载成功,但是之后下载一直报错如下:
JLink info:
------------
DLL: V4.92 , compiled Sep 30 2014 09:33:42
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N : 20090928
Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found Cortex-M3 r1p1, Little endian.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
* JLink Info: TPIU fitted.
* JLink Info: ETM fitted.
ROMTableAddr = 0xE00FF003
**JLink Warning: Could not set S_RESET_ST
Target info:
------------
Device: STM32F103RC
VTarget = 3.300V
State of Pins:
TCK: 0, TDI: 0, TDO: 1, TMS: 0, TRES: 1, TRST: 1
Hardware-Breakpoints: 6
Software-Breakpoints: 8192
Watchpoints: 4
JTAG speed: 1000 kHz
Erase Done.
Programming Failed!
Error: Flash Download failed-"Cortex-M3"
Flash Load finished at 16:11:43
后来按照网上的方法,取消勾选后reset and run之后,下载时快速按一下复位键,显示如下:
JLink info:
------------
DLL: V4.92 , compiled Sep 30 2014 09:33:42
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N : 20090928
Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found Cortex-M3 r1p1, Little endian.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
* JLink Info: TPIU fitted.
* JLink Info: ETM fitted.
ROMTableAddr = 0xE00FF003
**JLink Warning: S_RESET_ST not cleared
**JLink Warning: CPU did not halt after reset.
**JLink Warning: CPU could not be halted
* JLink Info: Core did not halt after reset, trying to disable WDT.
**JLink Warning: CPU did not halt after reset.
**JLink Warning: CPU could not be halted
**JLink Warning: S_RESET_ST not cleared
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found Cortex-M3 r1p1, Little endian.
Target info:
------------
Device: STM32F103RC
VTarget = 3.300V
State of Pins:
TCK: 0, TDI: 0, TDO: 1, TMS: 0, TRES: 1, TRST: 1
Hardware-Breakpoints: 6
Software-Breakpoints: 8192
Watchpoints: 4
JTAG speed: 1000 kHz
Erase Done.
Programming Done.
Verify OK.
Flash Load finished at 16:06:48
调试后发现硬件软件均没有问题,将下载器从JLINK更换成STLINK就可以正常下载程序了
你用的标准库还是cubemx生成的hal库
有可能是你把SWD模式禁用了禁用以后只能使用SWD模式下载一次程序之后下载需要按下复位键下载
取消的方式也很简单标准库的话默认使能SWD模式去掉禁用语句就可以 cubemx的话默认是禁止SWD模式使能的方法就是在SYS-Debug中选择serial wire项就启用SWD模式了
关于keil中的设置问题如果取消勾选resert and run以后下载完程序需要重新上电才能运行比较麻烦还是勾选上就可以
设计上复位引脚的电阻是50欧姆吗太小了复位时电源消耗太大换成1K以上下载接口没有问题 最后一句已经提示Flash在16:06:48下载完成了呀! 直接去掉R6,R7电阻再次测试下 或者用别人成熟的方案
按照提示是下载成功了。
重新上一次电,应该就可以跑了。如果还跑不起来,那有可能是你程序的问题。 toofree 发表于 2020-1-3 20:37
按照提示是下载成功了。
重新上一次电,应该就可以跑了。如果还跑不起来,那有可能是你程序的问题。 ...
但是问题还是没解决,总不能每次下载程序都按一次复位键。。 mylovemcu 发表于 2020-1-4 08:09
你用的标准库还是cubemx生成的hal库
有可能是你把SWD模式禁用了禁用以后只能使用SWD模式下载一次程序 ...
我用的是标准库,但是并没有写禁用SWD语句 mylovemcu 发表于 2020-1-4 08:09
你用的标准库还是cubemx生成的hal库
有可能是你把SWD模式禁用了禁用以后只能使用SWD模式下载一次程序 ...
是否需要写使能SWD语句?我用的是正点原子stm32f103rct6的标准库 harper2xs 发表于 2020-1-6 09:01
是否需要写使能SWD语句?我用的是正点原子stm32f103rct6的标准库
标准库默认是使能SWD的你可以看一下寄存器看是不是这的问题
页:
[1]
2