105 lines
3.6 KiB
ReStructuredText
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/
|