Lines Matching +full:i2c +full:- +full:command
11 This section is a quick hands-on reference to start debugging your
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
60 Running QEMU via :command:`ninja`
65 .. code-block:: console
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`.
74 Running QEMU via :command:`west`
79 .. code-block:: console
81 west build -t debugserver_qemu
84 :command:`west`.
86 Configuring the :command:`gdbserver` listening device
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
100 Connect to the server by running :command:`gdb` and giving these commands:
102 .. code-block:: bash
110 Substitute the correct :ref:`ZEPHYR_BASE <important-build-vars>` for your
116 including the directory from which you invoked :command:`gdb`. This example
119 .. code-block:: none
127 GDB provides a curses-based interface that runs in the terminal. Pass the ``--tui``
128 option when invoking :command:`gdb` or give the ``tui enable`` command within
129 :command:`gdb`.
133 The GDB version on your development system might not support the ``--tui``
137 Finally, the command below connects to the GDB server using the :abbr:`DDD
138 (Data Display Debugger)`, a graphical frontend for GDB. The following command
142 .. code-block:: bash
144 ddd --gdb --debugger "gdb zephyr.elf"
146 Both commands execute :command:`gdb`. The command name might
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.
159 when running the application directly within :command:`gdb`.
163 :command:`gdb` will not print the system console output as the application runs,
165 :command:`continue` after connecting the client, the application will run,
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.
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
207 .. code-block:: console
222 different CMake generator specified by the ``-G"Eclipse CDT4 - Ninja"``
226 .. zephyr-app-commands::
228 :zephyr-app: samples/synchronization
229 :host-os: win
231 :gen-args: -G"Eclipse CDT4 - Ninja"
236 ``File->Import...`` and selecting the option ``Existing Projects into
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
289 Debugging I2C communication
292 There is a possibility to log all or some of the I2C transactions done by the application.
299 D: I2C msg: io_i2c_ctrl7_port0, addr=50
305 The first line indicates the I2C controller and the target address of the transaction.
306 In above example, the I2C controller is named ``io_i2c_ctrl7_port0`` and the target device address
319 - W - write message
320 - R - read message
321 - Sr - restart bit
322 - P - stop bit
325 read from the I2C target. After that the log shows the length of received message and following
329 Filtering the I2C communication dump
332 By default, all I2C communication is logged between all I2C controllers and I2C targets.
337 allowlist of I2C targets to log.
341 i2c {
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.
357 The devices are selected using the ``devices`` property with phandles to the devices on the I2C bus.
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/