jtag
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
jtag [2016/01/12 15:26] – created kingkevin | jtag [2016/02/10 15:58] – [ST-Link v2 (clone)] kingkevin | ||
---|---|---|---|
Line 24: | Line 24: | ||
{{: | {{: | ||
{{: | {{: | ||
+ | |||
+ | ^ STM32F103C8 signal ^ STM32F103C8 pin ^ adapter pin ^ adapter signal ^ | ||
+ | | PA7 | 17 | 1 | JRST | | ||
+ | | AMS1117 | | 2 | 3V3 | | ||
+ | | USB VCC | | 3 | 5V | | ||
+ | | PA4 | 14 | 4 | JTCK/SWCLK | | ||
+ | | PB11 | 22 | 5 | SWIM | | ||
+ | | PA14 | 37 | 6 | JTMS/SWDIO | | ||
+ | | USB GND | | 7 | GND | | ||
+ | | PA5 | 15 | 8 | JTDO | | ||
+ | | PB6 | 42 | 9 | SWIM_RST | | ||
+ | | PA6 | 16 | 10 | JTDI | | ||
+ | | PB12,PB14 | 25,27 | | 100 ohms | | ||
+ | | PB5 | 41 | | LED | | ||
+ | |||
+ | the adapter pins are protected with a 220 ohms resistor. | ||
+ | |||
* one [[http:// | * one [[http:// | ||
{{: | {{: | ||
Line 33: | Line 50: | ||
This is newer variant of JTAG which requires only 2 signal lines instead of 4+. | This is newer variant of JTAG which requires only 2 signal lines instead of 4+. | ||
But but aware, they both have different pinouts on the connector. | But but aware, they both have different pinouts on the connector. | ||
+ | The second one offers 2 more power ports at the expense of JTAG TDI and TDO/SWO. | ||
- | These JTAG adapter | + | These JTAG adapters |
And ironically enough I in turn use them to program and debug STM32F1xx ARM Cortex M3 micro-controllers. | And ironically enough I in turn use them to program and debug STM32F1xx ARM Cortex M3 micro-controllers. | ||
Line 132: | Line 150: | ||
Debug: 389 846 pld.c:207 handle_pld_init_command(): | Debug: 389 846 pld.c:207 handle_pld_init_command(): | ||
</ | </ | ||
+ | |||
+ | Now you can also use it, here with an STM32F1 micro-controller: | ||
+ | <code bash> | ||
+ | openocd --file interface/ | ||
+ | |||
+ | Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-16: | ||
+ | Licensed under GNU GPL v2 | ||
+ | For bug reports, read | ||
+ | http:// | ||
+ | Warn : Adapter driver ' | ||
+ | Info : only one transport option; autoselect ' | ||
+ | adapter speed: 1000 kHz | ||
+ | adapter_nsrst_delay: | ||
+ | jtag_ntrst_delay: | ||
+ | none separate | ||
+ | cortex_m reset_config sysresetreq | ||
+ | Info : No lowlevel driver configured, will try them all | ||
+ | Info : usb blaster interface using libftdi | ||
+ | Error: unable to get latency timer | ||
+ | Info : This adapter doesn' | ||
+ | Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) | ||
+ | Info : JTAG tap: stm32f1x.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) | ||
+ | Info : stm32f1x.cpu: | ||
+ | </ | ||
+ | |||
+ | ==== SEGGER J-Link (clone) ==== | ||
+ | |||
+ | The [[http:// | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | It supports JTAG, SWD, SWO, RTCK, and voltage reference. | ||
+ | That makes it the most complete JTAG adapter I have. | ||
===== tricks ===== | ===== tricks ===== | ||
Line 144: | Line 197: | ||
Thus it sometimes is useful to just list the TAPs available on a chain to know which devices are present. | Thus it sometimes is useful to just list the TAPs available on a chain to know which devices are present. | ||
- | This is easily done with urJTAG: | + | This is easily done with urJTAG |
<code bash> | <code bash> | ||
jtag | jtag | ||
Line 172: | Line 225: | ||
OpenOCD also scans the chain if no target is provided (the adapter still need to be defined): | OpenOCD also scans the chain if no target is provided (the adapter still need to be defined): | ||
<code bash> | <code bash> | ||
- | openocd --file interface/ | + | openocd --file interface/ |
+ | |||
+ | Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-16:26) | ||
Licensed under GNU GPL v2 | Licensed under GNU GPL v2 | ||
For bug reports, read | For bug reports, read | ||
Line 178: | Line 233: | ||
Warn : Adapter driver ' | Warn : Adapter driver ' | ||
Info : only one transport option; autoselect ' | Info : only one transport option; autoselect ' | ||
- | adapter speed: 1000 kHz | ||
- | adapter_nsrst_delay: | ||
- | jtag_ntrst_delay: | ||
- | none separate | ||
- | cortex_m reset_config sysresetreq | ||
Info : No lowlevel driver configured, will try them all | Info : No lowlevel driver configured, will try them all | ||
Info : usb blaster interface using libftdi | Info : usb blaster interface using libftdi | ||
Error: unable to get latency timer | Error: unable to get latency timer | ||
Info : This adapter doesn' | Info : This adapter doesn' | ||
- | Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) | + | Warn : There are no enabled taps. AUTO PROBING MIGHT NOT WORK!! |
- | Info : JTAG tap: stm32f1x.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) | + | Info : JTAG tap: auto0.tap tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) |
- | Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints | + | Info : JTAG tap: auto1.tap tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) |
+ | Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 4 -expected-id 0x3ba00477" | ||
+ | Warn : AUTO auto1.tap - use "jtag newtap auto1 tap -irlen 5 -expected-id 0x16410041" | ||
+ | Warn : gdb services need one or more targets defined | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | While the ST-Link v2 is mainly meant to be used as SWD adapter, it also supports JTAG. Both are implemented with the High Level Adapter (HLA) driver. But it seems scan chain is [[http:// | ||
+ | <code bash> | ||
+ | openocd --file interface/ | ||
+ | |||
+ | Open On-Chip Debugger 0.10.0-dev-00189-g554313b (2016-01-12-16: | ||
+ | Licensed under GNU GPL v2 | ||
+ | For bug reports, read | ||
+ | http:// | ||
+ | hla_jtag | ||
+ | adapter speed: 100 kHz | ||
+ | Info : clock speed 100 kHz | ||
+ | Error: BUG: current_target out of bounds | ||
</ | </ |
jtag.txt · Last modified: 2024/01/07 17:49 by 127.0.0.1