Feature: TI ICEPick support #2160
Merged
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
In this PR we introduce support for TI's ICEPick Type C which is found on the AM335x parts in front of the ADIv5 TAPs on the JTAG chain, allowing BMD to set the scan chain up to actually see any of the subsequent TAPs and enumerate them. This forms the basis too for the ICEPick Type D found on the TMS570, albeit with some differences.
NB: when a scan chain features an ICEPick on it, the debugger must not touch nRST ever, as doing so blows the ICEPick config away 🙃; similarly, if the scan chain features more than one component with one of these and they are anything other than the last item on the scan chan, things will also break and not work right. Scan is required to be restarted after (re-)configuring one of these and so messing with the scan chain geometry etc. This has deleterious effects in the JTAG discovery code if not right at the end.
Please also note that it is expected any future PRs that make use of this will rewrite this section of the Meson build file to properly specify the dependency. An example can be found as an experimental commit (permalinked here):
blackmagic/src/target/meson.build
Lines 378 to 394 in 70b7c6a
Your checklist for this pull request
Closing issues