zephyr/doc/guides/debugging/host-tools.rst

105 lines
3.6 KiB
ReStructuredText

.. _debug-host-tools:
Debug Host Tools
################
This guide describes the software tools you can run on your host workstation to
debug Zephyr applications.
Zephyr's west tool has built-in support for all of these in its ``debug``,
``debugserver``, and ``attach`` commands, provided your board hardware supports
them and your Zephyr board directory's :file:`board.cmake` file declares that
support properly. See :ref:`west-build-flash-debug` for more information on
these commands.
.. _jlink-debug-host-tools:
J-Link Debug Host Tools
***********************
Segger provides a suite of debug host tools for Linux, macOS, and Windows
operating systems:
- J-Link GDB Server: GDB remote debugging
- J-Link Commander: Command-line control and flash programming
- RTT Viewer: RTT terminal input and output
- SystemView: Real-time event visualization and recording
These debug host tools are compatible with the following debug probes:
- :ref:`lpclink2-jlink-onboard-debug-probe`
- :ref:`opensda-jlink-onboard-debug-probe`
- :ref:`jlink-external-debug-probe`
- :ref:`stlink-v21-onboard-debug-probe`
Check if your SoC is listed in `J-Link Supported Devices`_.
Download and install the `J-Link Software and Documentation Pack`_ to get the
J-Link GDB Server and Commander, and to install the associated USB device
drivers. RTT Viewer and SystemView can be downloaded separately, but are not
required.
Note that the J-Link GDB server does not yet support Zephyr RTOS-awareness.
.. _openocd-debug-host-tools:
OpenOCD Debug Host Tools
************************
OpenOCD is a community open source project that provides GDB remote debugging
and flash programming support for a wide range of SoCs. A fork that adds Zephyr
RTOS-awareness is included in the Zephyr SDK; otherwise see `Getting OpenOCD`_
for options to download OpenOCD from official repositories.
These debug host tools are compatible with the following debug probes:
- :ref:`opensda-daplink-onboard-debug-probe`
- :ref:`jlink-external-debug-probe`
- :ref:`stlink-v21-onboard-debug-probe`
Check if your SoC is listed in `OpenOCD Supported Devices`_.
.. note:: On Linux, openocd is available though the `Zephyr SDK
<https://www.zephyrproject.org/developers/#downloads>`_.
Windows users should use the following steps to install
openocd:
- Download openocd for Windows from here: `OpenOCD Windows`_
- Copy bin and share dirs to ``C:\Program Files\OpenOCD\``
- Add ``C:\Program Files\OpenOCD\bin`` to 'Path'
.. _pyocd-debug-host-tools:
pyOCD Debug Host Tools
**********************
pyOCD is an open source project from Arm that provides GDB remote debugging and
flash programming support for Arm Cortex-M SoCs. It is distributed on PyPi and
installed when you complete the :ref:`gs_python_deps` step in the Getting
Started Guide. pyOCD includes support for Zephyr RTOS-awareness.
These debug host tools are compatible with the following debug probes:
- :ref:`opensda-daplink-onboard-debug-probe`
- :ref:`stlink-v21-onboard-debug-probe`
Check if your SoC is listed in `pyOCD Supported Devices`_.
.. _J-Link Software and Documentation Pack:
https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack
.. _J-Link Supported Devices:
https://www.segger.com/downloads/supported-devices.php
.. _Getting OpenOCD:
http://openocd.org/getting-openocd/
.. _OpenOCD Supported Devices:
https://github.com/zephyrproject-rtos/openocd/tree/master/tcl/target
.. _pyOCD Supported Devices:
https://github.com/mbedmicro/pyOCD/tree/master/pyocd/target/builtin
.. _OpenOCD Windows:
http://gnutoolchains.com/arm-eabi/openocd/