-
-
Notifications
You must be signed in to change notification settings - Fork 837
Description
Hello.
I have bmda v2.0.0 on Windows 10, connected to picoprobe (on a RPi2040-Zero board), connected to a target (py32f003).
While the setup detects by target successfully, its ability to flash is very unreliable. So far only when the chip is blank the flash succeeds, while producing a lot of errors in bmda output (several screens of dap_write_single failed (fault = 2), see below). When the chip is not erased, the flashing fails with roughly this output:
gdb output:
Target voltage: Unknown
Available Targets:
No. Att Driver
1 PY32Fxxx M0+
0x080011ea in etl::variant<etl::monostate, unsigned char, etl::to_arithmetic_status>::~variant() ()
Loading section .isr_vector, size 0xc0 lma 0x8000000
Error writing data to flash
Loading section .text, size 0x318c lma 0x80000c0
Section .isr_vector, range 0x80000000
target memory fault, section .rodata, range 0x800324c -- 0x80035b0
-Can't kill process
- Can't detach process.
x80000c0: MIS-MATCHED!
Section .text, range 0x80000c0 -- 0x800324c: MIS-MATCHED!
Kill the program being debugged? (y or n) [answered Y; input not from terminal]
bmda output:
D:\Cloud\Programming\BlackMagicProbe>blackmagic-bmda.exe
Listening on TCP port: 2000
Access resulted in fault
dap_read_single failed (fault = 4)
Access resulted in fault
dap_read_single failed (fault = 4)
Access resulted in fault
dap_read_single failed (fault = 4)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
Access resulted in no response
Recovering and re-trying access
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
Access resulted in no response
Recovering and re-trying access
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_read_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
dap_write_single failed (fault = 2)
Access has invalid ack 8
Access resulted in no response
Recovering and re-trying access
TARGET LOST.
I tried to use PyOCD with same picoprobe and target (no changes in hardware), it worked without any issues. I also used it to erase the chip to then try to flash with bmda.
I also have a blackmagic probe on a chinese stlink, using it with hosted bmda also works, so I don't think it is a problem with target MCU.