Closed gerryqd closed 2 years ago
试下OpenOCD,如果问题依然存在,说明更可能是硬件接触不良。 如果问题消失,需要排查pyOCD。
嗯, 这个实验过了。基本排除硬件连接问题。 Openocd 没问题。 应该要从固件和 pyocd 上找原因。 这不就找您来了。 :)
Openocd 好是好,但是, 添加新的 CPU支持麻烦, 特别是 flash 的烧写。 pyocd 就好很多。 直接加载已有的算法固件,直接烧写。 老大麻烦看看?
最新pyocd对CMSIS-DAP V2免驱了,不需要用zadig换驱动,但出现了你指出的问题。换成老版本,用zadig打驱动后测试,恢复正常。
Desktop> pip install pyocd==0.27.0
Desktop> pyocd list
# Probe Unique ID
---------------------------------------------------
0 ARM CMSIS-DAP v2 GD32F350.745B343935380B0
Desktop> pyocd-gdbserver
0000413:WARNING:gdb_server:pyocd-gdbserver is deprecated; please use the new combined pyocd tool.
0000563:WARNING:board:Generic 'cortex_m' target type is selected by default; is this intentional? You will be able to debug most devices, but not program flash. To set the target type use the '--target' argument or 'target_override' option. Use 'pyocd list --targets' to see available targets types.
0000563:INFO:board:Target type is cortex_m
0000615:INFO:dap:DP IDR = 0x2ba01477 (v1 rev2)
0000620:INFO:ap:AHB-AP#0 IDR = 0x24770011 (AHB-AP var1 rev2)
0000628:INFO:rom_table:AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=43b part=4c4)
0000628:INFO:rom_table:[0]<e000e000:SCS-M4 class=14 designer=43b part=00c>
0000628:INFO:rom_table:[1]<e0001000:DWT class=14 designer=43b part=002>
0000628:INFO:rom_table:[2]<e0002000:FPB class=14 designer=43b part=003>
0000628:INFO:cortex_m:CPU core #0 is Cortex-M4 r0p1
0000628:INFO:cortex_m:FPU present: FPv4-SP
0000644:INFO:dwt:1 hardware watchpoints
0000644:INFO:fpb:2 hardware breakpoints, 0 literal comparators
0000644:INFO:server:Semihost server started on port 4444 (core 0)
0000644:INFO:gdbserver:GDB server started on port 3333 (core 0)
I tried to use the probe with latest pyocd, For "pyocd list" command, the probe can be recognized,
While if I tried to connect the chip via below command,
pyocd cmd -t stm32f103c8
It reports something as below,
pyocd.core.exceptions.TransferError: No ACK received
Only in very seldom case, the connection can be established, while also not stable enough.
Could you help to have a check?