-
-
Notifications
You must be signed in to change notification settings - Fork 781
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: JTAG correctness #1384
Fix: JTAG correctness #1384
Conversation
…ap_init()'s calling jtagtap_soft_reset() duplicates work
…n not initialising jtag_proc.tap_idle_cycles, breaking things subtly
… don't overcomplicate things
…e far too narrow and it was causing clock glitch pulses
… handling in jtagtap_tdi_tdo_seq() broken, and added lots of documentation on what's going on
… fix a setup-and-hold timing violation
…AVR support branches
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM as far as I can tell. Only way to know for sure is to use it on as many targets as possible. And that is only possible by merging it to main at the moment. 🤞 (HITL CI wen? ;) )
Ahahaha, indeed! and unfortunately not the last time we're going to have to touch jtagtap.c either as we know there's at least one more problem based on how JTAG-PDI ran today.. |
Detailed description
In this PR we address several JTAG bugs (including a regression from PR #1131) which were impacting the ability for the firmware to correctly talk to RISC-V targets, among others. There are still issues with the timings being very tight on many devices, but this does at least appear to be reliable and gives reasonable clocking waveforms too as shown in the capture below.
This blocks PR #1380 till merged and must be applied on top of that PR if wishing to test RISC-V with BMP or other BMD firmware platforms.
Your checklist for this pull request
make PROBE_HOST=native
)make PROBE_HOST=hosted
)Closing issues