-
Notifications
You must be signed in to change notification settings - Fork 9
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
Feature request: full JTAG support #2
Comments
It's theoretically possible, though I'm not sure that the JTAG throughput will be satisfactory - the CMSIS-DAP commands for JTAG are very close to just passing bit-banging commands over USB HID, so the best-case performance would look similar to using a different adapter with a JTAG clock rate of 256KHz. If you want to try it out yourself, here are the steps to do it:
In software, the source still includes a copy of the reference CMSIS-DAP JTAG bit-banging code, so enabling it is really just a matter of changing some defines and hooking up the relevant JTAG pin definitions. |
I think that PB8 can be used for RTCK without dealing with the option bytes, since it is pulled down by default as BOOT0 should be when powered up. |
That seems reasonable, since RTCK should only ever be a delayed copy of JTCK. |
I am in the process of building one based on this hardware idea, although some changes are made:
|
@xcvista , did you build a working prototype? (HW + FW) |
@ildar I have several versions of hardware but I have little time for the software now. |
There are some scenarios where it is necessary to us the full JTAG interface instead of the SWD interface to connect the DAP to the DUT, for example a JTAG daisy chain, a Cortex-A target like the Raspberry Pi, or when the older ARM7/ARM9/ARM11 chips gets involved. Is it possible to implement full JTAG on top of the current hardware and software?
JTAG uses a few existing SWD pins along with a few more:
The RTCK pin worths some special mentioning: it is used on ARM7/ARM9/ARM11/Cortex-A chips to implement adaptive JTAG clocking. However this feature is entirely optional. You can just pull this pin down with a resistor and ignore it otherwise, if you have no plan on implementing JTAG adaptive clocking. There do exist some chips (like NXP LPC2103) that uses the pull down on RTCK to detect the presence of a debugger though.
The text was updated successfully, but these errors were encountered: