Feature: implementation of jtagtap_cycle for JLink backend#2182
Merged
dragonmux merged 3 commits intoblackmagic-debug:mainfrom Feb 6, 2026
Merged
Feature: implementation of jtagtap_cycle for JLink backend#2182dragonmux merged 3 commits intoblackmagic-debug:mainfrom
jtagtap_cycle for JLink backend#2182dragonmux merged 3 commits intoblackmagic-debug:mainfrom
Conversation
91d9770 to
1bb302e
Compare
dragonmux
requested changes
Feb 2, 2026
Member
dragonmux
left a comment
There was a problem hiding this comment.
Couple of things we notice reviewing this, but with them fixed we'll be happy to merge this.
1bb302e to
d8a5c4d
Compare
dragonmux
reviewed
Feb 6, 2026
Member
dragonmux
left a comment
There was a problem hiding this comment.
The suggested other way to express the cycle logic we think fits quite well - doesn't need byte ordering shenanigans, or wide shift and subtract - with the first block of the #if/#else removed and the two small notes below addressed, we'll be happy to merge this.
8b6f9af to
6af9486
Compare
6af9486 to
82a0581
Compare
dragonmux
approved these changes
Feb 6, 2026
Member
dragonmux
left a comment
There was a problem hiding this comment.
LGTM, merging. Thank you for the contribution and this improvement to the J-Link backend!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Detailed description
jtagtap_cycle()in jlink.c backend used by BMDA. (and it didn't even exist until very recently)Tracking: #2180.
Note that
jlink_jtag_init()used to rely on a directjlink_transfer()of a baked byte buffer with 56 idle clocks and SWD-to-JTAG switch sequence, I replaced that with ajlink_jtag_cycle()call for 56-5=51 clocks and a shorter, 16-bit sequence. The caveat is that new function may raise an exception, and at scan time it results in immediate SIGABRT because it's unhandled (by any TRY-CATCH up the callsite). It also happens to be the first 0xCF opcode transfer. If such behaviour is unwanted, discard commit 1.Tested on J-Link V9 against a RISC-V MCU.
Your checklist for this pull request
Closing issues