Lines Matching +full:plug +full:- +full:in
11 This section is a quick hands-on reference to start debugging your
12 application with QEMU. Most content in this section is already covered in
19 In this quick reference, you'll find shortcuts, specific environmental
23 The simplest way to debug an application running in QEMU is using the GNU
24 Debugger and setting a local GDB server in your development system through QEMU.
27 debugging purposes. The build system generates the image in the build
46 .. code-block:: bash
48 qemu -s -S <image>
54 * ``-S`` Do not start CPU at startup; rather, you must type 'c' in the
56 * ``-s`` Shorthand for :literal:`-gdb tcp::1234`: open a GDB server on
65 .. code-block:: console
69 QEMU will write the console output to the path specified in
70 :makevar:`${QEMU_PIPE}` via CMake, typically :file:`qemu-fifo` within the build
71 directory. You may monitor this file during the run with :command:`tail -f
72 qemu-fifo`.
79 .. code-block:: console
81 west build -t debugserver_qemu
93 If the option is unset, then the QEMU invocation will lack a ``-s`` or a
94 ``-gdb`` parameter. You can then use the :envvar:`QEMU_EXTRA_FLAGS` shell
95 environment variable to pass in your own listen device configuration.
102 .. code-block:: bash
110 Substitute the correct :ref:`ZEPHYR_BASE <important-build-vars>` for your
119 .. code-block:: none
127 GDB provides a curses-based interface that runs in the terminal. Pass the ``--tui``
133 The GDB version on your development system might not support the ``--tui``
139 loads the symbol table from the ELF binary file, in this instance,
142 .. code-block:: bash
144 ddd --gdb --debugger "gdb zephyr.elf"
147 change depending on the toolchain you are using and your cross-development
150 :command:`ddd` may not be installed in your
152 it. For example, use :command:`sudo apt-get install ddd` on an Ubuntu system.
164 unlike when you run a native application in GDB directly. If you just
179 The `GNU MCU Eclipse plug-ins`_ provide a mechanism to debug ARM projects in
180 Eclipse with pyOCD, Segger J-Link, and OpenOCD debugging tools.
182 The following tutorial demonstrates how to debug a Zephyr application in
183 Eclipse with pyOCD in Windows. It assumes you have already installed the GCC
191 #. In Eclipse, install the `GNU MCU Eclipse plug-ins`_ by opening the menu
192 ``Window->Eclipse Marketplace...``, searching for ``GNU MCU Eclipse``, and
196 ``Window->Preferences``, navigating to ``MCU``, and setting the ``Global
202 #. Set up a GNU Arm Embedded toolchain as described in
207 .. code-block:: console
214 usually done in Zephyr, CMake will warn:
222 different CMake generator specified by the ``-G"Eclipse CDT4 - Ninja"``
224 :file:`.project`, in addition to the usual ninja build files.
226 .. zephyr-app-commands::
229 :host-os: win
231 :gen-args: -G"Eclipse CDT4 - Ninja"
235 #. In Eclipse, import your generated project by opening the menu
236 ``File->Import...`` and selecting the option ``Existing Projects into
237 Workspace``. Browse to your application build directory in the choice,
238 ``Select root directory:``. Check the box for your project in the list of
244 #. Open the menu ``Run->Debug Configurations...``.
249 - In the Main tab:
251 - Project: ``my_zephyr_app@build``
252 - C/C++ Application: :file:`zephyr/zephyr.elf`
254 - In the Debugger tab:
256 - pyOCD Setup
258 - Executable path: :file:`${pyocd_path}\\${pyocd_executable}`
259 - Uncheck "Allocate console for semihosting"
261 - Board Setup
263 - Bus speed: 8000000 Hz
264 - Uncheck "Enable semihosting"
266 - GDB Client Setup
268 - Executable path example (use your ``GNUARMEMB_TOOLCHAIN_PATH``):
269 :file:`C:\\gcc-arm-none-eabi-6_2017-q2-update\\bin\\arm-none-eabi-gdb.exe`
271 - In the SVD Path tab:
273 - File path: :file:`<workspace
277 This is optional. It provides the SoC's memory-mapped register
285 Support for Zephyr RTOS awareness is implemented in `pyOCD v0.11.0`_ and later.
286 It is compatible with GDB PyOCD Debugging in Eclipse, but you must enable
287 CONFIG_DEBUG_THREAD_INFO=y in your application.
306 In above example, the I2C controller is named ``io_i2c_ctrl7_port0`` and the target device address
311 the address, length and contents values are in hexadecimal, but lack the ``0x`` prefix
319 - W - write message
320 - R - read message
321 - Sr - restart bit
322 - P - stop bit
342 display0: some-display@a {
345 sensor3: some-sensor@b {
350 i2c-dump-allowlist {
351 compatible = "zephyr,i2c-dump-allowlist";
356 The filters nodes are identified by the compatible string with ``zephyr,i2c-dump-allowlist`` value.
359 In the above example, the communication with device ``display0`` and ``sensor3`` will be displayed
360 in the log.
364 .. _Eclipse IDE for C/C++ Developers: https://www.eclipse.org/downloads/packages/eclipse-ide-cc-dev…
365 .. _GNU MCU Eclipse plug-ins: https://gnu-mcu-eclipse.github.io/plugins/install/