====== OpenOCD ====== OpenOCD is the software part of a debugger. Together with a hardware adapter OpenOCD is a complete debugger and can be used as a replacement for an expensive debugger such as the BDI3000 from Abatron. * [[:installation#install_libraries_to_access_the_hardware|Download and Installation]] * [[openocd:starting_openocd|Starting OpenOCD]] * [[openocd:using_openocd|Details of Using OpenOCD]] The hardware adapter forms the electrical interface to the processor and must also be matched to the processor. The adapter is already integrated on the Zybo board. For the Microzed board you need a [[https://wiki.bu.ost.ch/infoportal/embedded_systems/jtaghs3/start|JTAG-HS3 adapter]]. ===== The OpenOCD Toolchain ===== OpenOCD starts running as a server and waits for connections from clients (telnet, GDB) and processes the commands issued through those channels. OpenOCD will launch the GDB and telnet server even if it cannot establish a connection with the target. In general, it is possible for the JTAG controller to be unresponsive until the target is set up correctly via e.g. GDB monitor commands in a GDB init script. ==== Using Telnet Connection ==== [{{:openocd:cliopenocdtoolchain.png?600|//OpenOCD toolchain using telnet connection from eclipse plugin//}}] Make sure to have the necessary plugin installed, see [[:installation#install_libraries_to_access_the_hardware|Download and Installation]]. ===== Using GDB Connection ===== [{{:openocd:gdbopenocdtoolchain.png|//OpenOCD toolchain using GDB connection//}}] This toolchain uses OpenOCD in combination with the GNU debugger, the GDB. The GDB can be used to load a deep application onto the target. For this it must have been packed in an ELF format. If debug information in STABS or DWARF format is also provided, the debugger can also be used to debug the deep application directly to the target. === Installation of the GDB === The "GNU Arm Embedded Toolchain" includes the GDB debugger. The toolchain can be downloaded from [[https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads|]]. === How to Use the GDB === [[.:how_to_use_gdb|Using the GDB with deep]]