使用DAPLink,发现无法debug,也无法下载,会报如下错误:
0000971 W Overlapping memory regions in file ./packs/Keil.STM32L4xx_DFP.2.3.0-small.pack (STM32L412C8Tx); deleting outer region. Further warnings will be suppressed for this file. [cmsis_pack]
0001241 I Target type is stm32f405rg [board]
0001479 C Unexpected ACK value (5) returned by probe [__main__]
[2mTraceback (most recent call last):
File "pyocd\probe\cmsis_dap_probe.py", line 345, in read_dp
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 976, in read_reg
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 970, in read_reg_cb
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 154, in get_result
File "pyocd\utility\concurrency.py", line 29, in _locking
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 790, in flush
File "pyocd\utility\concurrency.py", line 29, in _locking
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 1056, in _read_packet
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 473, in decode_data
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 442, in _decode_transfer_block_data
File "pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 365, in _check_response
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: Unexpected ACK value (5) returned by probe
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "pyocd\__main__.py", line 161, in run
File "pyocd\subcommands\gdbserver_cmd.py", line 190, in invoke
File "pyocd\core\session.py", line 386, in __enter__
File "pyocd\core\session.py", line 523, in open
File "pyocd\board\board.py", line 124, in init
File "pyocd\core\soc_target.py", line 147, in init
File "pyocd\utility\sequencer.py", line 213, in invoke
File "pyocd\utility\sequencer.py", line 208, in invoke
File "pyocd\coresight\dap.py", line 406, in _connect
File "pyocd\coresight\dap.py", line 180, in connect
File "pyocd\coresight\dap.py", line 221, in _connect_dp
File "pyocd\coresight\dap.py", line 248, in read_idr
File "pyocd\probe\cmsis_dap_probe.py", line 348, in read_dp
pyocd.core.exceptions.TransferError: Unexpected ACK value (5) returned by probe[0m
我发现问题了,rt-studio带的pyocd0.1.6存在bug,他可能会将stm32f405芯片,识别为L4系列的芯片,我更换了ulink,就可以debug了,然后换了另一个板子,上面还是f405,daplink也可以使用。现在看来,某些情况下,pyocd不太可靠。
这个问题到现在也还没有明确解决方法。
我真的要破口大骂,什么破studio,连daplink下载程序都搞不定。
临时措施:我目前通过按住复位,点击下载后松开复位的方式,可以完成下载。
不按复位直接下载的命令行输出内容如下
开始下载程序:2025-02-24 22:20:04
G:\program_files_x86\RT-ThreadStudio>cd /d G:\program_files_x86\RT-ThreadStudio\repo\Extract\Debugger_Support_Packages\RealThread\PyOCD\0.2.3
G:\program_files_x86\RT-ThreadStudio\repo\Extract\Debugger_Support_Packages\RealThread\PyOCD\0.2.3>pyocd.exe flash --target=STM32F407VE --erase=auto --frequency=1000000 G:\program_files_x86\RT-ThreadStudio\workspace\start_rtt01\Debug\rtthread.bin
0000652 W Overlapping memory regions in file packs\Keil.STM32L4xx_DFP.2.3.0-small.pack (STM32L412C8Tx); deleting outer region. Further warnings will be suppressed for this file. [cmsis_pack]
0001079 C No ACK received [__main__]
执行完毕, 耗时:1751ms.
按住复位,点击下载后松开复位的命令行输出内容如下
开始下载程序:2025-02-24 22:20:10
G:\program_files_x86\RT-ThreadStudio>cd /d G:\program_files_x86\RT-ThreadStudio\repo\Extract\Debugger_Support_Packages\RealThread\PyOCD\0.2.3
G:\program_files_x86\RT-ThreadStudio\repo\Extract\Debugger_Support_Packages\RealThread\PyOCD\0.2.3>pyocd.exe flash --target=STM32F407VE --erase=auto --frequency=1000000 G:\program_files_x86\RT-ThreadStudio\workspace\start_rtt01\Debug\rtthread.bin
0000645 W Overlapping memory regions in file packs\Keil.STM32L4xx_DFP.2.3.0-small.pack (STM32L412C8Tx); deleting outer region. Further warnings will be suppressed for this file. [cmsis_pack]
0001207 I Loading G:\program_files_x86\RT-ThreadStudio\workspace\start_rtt01\Debug\rtthread.bin [load_cmd]
[---|---|---|---|---|---|---|---|---|----]
[========================================]
0006987 I Erased 65536 bytes (1 sector), programmed 6144 bytes (6 pages), skipped 65536 bytes (64 pages) at 12.11 kB/s [loader]
0007010 E Error during board uninit: [session]
执行完毕, 耗时:7672ms.
他奶奶的(破口大骂)
使用pyocd + daplink 下载 STM32H7 也有问题 https://club.rt-thread.org/ask/question/4ece0057dce4d2dc.html