Replies: 1 comment
-
Shortly after editing, I got the code working with quad buffer and not corrupted data. I can now mostly use this with PSoC tools, particularly debugging, but still get issues sometimes when programming to flash. Once I get this working near 100% I'll push commits to my fork. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
You don't have issues enabled, so using this to ask.
The CMSIS-DAP demo is somewhat operational with PSoC vendor tools (PSoC Creator, PSoC Programmer). Chip ID and programming operations work correctly. Read operations and debug do not work.
Looking at the USB data for the fault, it looks like when the tools want to read bulk data, the host sends at least 3 Transfer requests in rapid succession before the MCU responds with any data. In some sequences, one or two response packets will be completely missing: Host 3 packets, MCU 1 packet, Host 3 packets, MCU 3 packets (two lost). Sometimes there will be a FAULT code in response to a Transfer - likely from data being clobbered and invalid requests being made to the target.
I've tried various approaches in the MCU code over the last couple of days but can't seem to solve this. Any ideas? I can attach the USB captures for analysis if you're willing to take a look.
EDIT: It takes writing about it to make fast progress. Not even 30 minutes after writing this, I fixed my quad buffer on EP1 code. Now reading works without erroring (although data still corrupted 75% of the time) and debug to work in the vendor IDE. If you would like, I can provide a patch to test once this is fully functional.
Beta Was this translation helpful? Give feedback.
All reactions