This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
openocd:using_openocd [2021/01/14 17:05] – created ursgraf | openocd:using_openocd [2022/09/16 10:32] (current) – [Problems] ursgraf | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Details of Using OpenOCD ====== | ====== Details of Using OpenOCD ====== | ||
OpenOCD starts with a board configuration file. Therein, a configuration file for the processor, the debug interface and a file with initialization sripts can be found. | OpenOCD starts with a board configuration file. Therein, a configuration file for the processor, the debug interface and a file with initialization sripts can be found. | ||
+ | ===== Scan Chain ===== | ||
+ | Our scan chain contains the PL (programmable logic) and the PS (processing system). | ||
+ | < | ||
+ | Open On-Chip Debugger 0.10.0 | ||
+ | Licensed under GNU GPL v2 | ||
+ | For bug reports, read | ||
+ | http:// | ||
+ | srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst | ||
+ | adapter_nsrst_delay: | ||
+ | Info : auto-selecting first available session transport " | ||
+ | adapter speed: 1000 kHz | ||
+ | adapter speed: 10000 kHz | ||
+ | Info : ftdi: if you experience problems at higher adapter clocks, try the command " | ||
+ | Info : clock speed 10000 kHz | ||
+ | Info : JTAG tap: zynq_pl.bs tap/device found: 0x13722093 (mfg: 0x049 (Xilinx), part: 0x3722, ver: 0x1) | ||
+ | Info : JTAG tap: zynq.dap tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) | ||
+ | Info : zynq.cpu0: hardware has 6 breakpoints, | ||
+ | Info : zynq.cpu1: hardware has 6 breakpoints, | ||
+ | | ||
+ | -- ------------------- -------- ---------- ---------- ----- ----- ------ | ||
+ | 0 zynq_pl.bs | ||
+ | | ||
+ | | ||
+ | 1 zynq.dap | ||
+ | </ | ||
+ | |||
+ | ===== Using Telnet Terminal ===== | ||
+ | Usually, deep will open a telnet connection to the OpenOCD server running on the host (through the OpenOCDinterface). For testing purposes it is convenient to open a second telnet connection, e.g. with a terminal program such as Putty. | ||
+ | |||
+ | ===== Targets ===== | ||
+ | The PS includes two targets, // | ||
+ | < | ||
+ | TargetName | ||
+ | -- ------------------ ---------- ------ ------------------ ------------ | ||
+ | 0* zynq.cpu0 | ||
+ | | ||
+ | </ | ||
+ | The star denotes the current target, e.g. the '' | ||
+ | |||
+ | When halting the running targets with '' | ||
+ | < | ||
+ | target halted in ARM state due to debug-request, | ||
+ | cpsr: 0x60000113 pc: 0x00101834 | ||
+ | MMU: disabled, D-Cache: disabled, I-Cache: disabled | ||
+ | target halted in ARM state due to debug-request, | ||
+ | cpsr: 0x60000193 pc: 0xffffff34 | ||
+ | MMU: disabled, D-Cache: disabled, I-Cache: disabled | ||
+ | </ | ||
+ | The output shows the state of the two targets. <WRAP center round important 60%> | ||
+ | The first three lines always show the state of the current target, the next three lines the other target. If cpu1 is current, its state will be listed first followed by the state of cpu0. | ||
+ | </ | ||
+ | |||
+ | ===== Problems ===== | ||
+ | Bad USB cable connections can lead to errors such as | ||
+ | < | ||
+ | Info : accepting ' | ||
+ | Info : JTAG tap: zynq_pl.bs tap/device found: 0x13722093 (mfg: 0x049 (Xilinx), part: 0x3722, ver: 0x1) | ||
+ | Info : JTAG tap: zynq.dap tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) | ||
+ | Warn : zynq.cpu0: ran after reset and before halt ... | ||
+ | Warn : zynq.cpu1: ran after reset and before halt ... | ||
+ | Error: DSCR_DTR_RX_FULL, | ||
+ | </ | ||
+ | In such a case, try another cable. |