pyocd.core.exceptions.TransferError: No ACK received

Issue

Mbed studio seems to be incapable of connecting to a device that is displaying the Mbed os error LED pattern (4 long, 4 short blinks).

Error displayed:

– from Output window:

pyocd.core.exceptions.TransferError: No ACK received

– from UI popup:

PyOCD deploy failed, deploying using mass storage device...

Temporary solution

When I move to ST-Link, and select Mode: Connect Under Reset, a successful connection to the device is made.

What's next?
Is there a setting that we can use to enable Connect Under Reset on Mbed studio?

Hello,

ussually is good to share info about your setup - MbedOs version, board name and MbedStudio version.
I do not know what is default, but I remember this parameter was possible to set in Custom target setting - Debug flags (connect_mode=under-reset), that is available under target selector.

BR, Jan

1 Like

Hi @JohnnyK

Thank you for the response on this - your suggestion seems to help so far. I’ll run it through one of our more difficult PCBs and provide a further update. Thanks!

Regarding system details, agreed - we are running a custom PCB, with Mbed studio pinned at 1.4.1 due to vendor library incompatibility with later versions, and Mbed OS 6.8.0 which matches the vendor library. I weighed including these details but opted for a simplified post to start - as the same issues were observed on latest versions on other hardware. I believe that the vendor’s bootloader timing may be causing difficult link timing on this one - will update with more information as it is discovered.

Thanks again!

Mark

Update:

Connecting under reset seems to work well on my more troublesome boards. I’ll update this post with a bit more information for reference (for myself and others).

One item to note, the syntax in Mbed 1.4.1 for connecting under reset is actually different than what is listed in the help output of pyocd. The syntax is as follows:

--connect=under_reset

Thanks!