zephyr/samples/subsys/dap
Benjamin Cabé df294e34e1 doc: sphinx-lint: fix bad usage of "default role"
Fixes bad usage of single backticks in lieu of double backticks for
rendering inline literals, or simple '*' for italics.

When appropriate, a better construct than double backticks has been
selected (ex. :file:, :kconfig:option:, :c:func:, ...), or proper :ref:
have been used if the original intention was to have a link.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-13 11:42:51 -05:00
..
boards
src lib: net_buf: rename header file from zephyr/net/buf.h to zephyr/net_buf.h 2024-09-07 11:19:05 -05:00
CMakeLists.txt
README.rst doc: sphinx-lint: fix bad usage of "default role" 2024-09-13 11:42:51 -05:00
app.overlay
prj.conf
sample.yaml

README.rst

.. zephyr:code-sample:: cmsis-dap
   :name: CMSIS-DAP

   Implement a custom CMSIS-DAP controller using SWDP interface driver.

Overview
********

This sample app demonstrates use of a SWDP interface driver and CMSIS DAP
controller through USB Bulk interface.

Requirements
************

This sample supports multiple hardware configurations:

The simplest configuration would be to connect ``SWDIO`` to ``dio``, ``SWDCLK`` to ``clk``
and optionally ``nRESET`` to ``reset``.  The optional ``noe`` pin is used to enable the port,
e.g. if the SWD connections are multiplexed.

Building and Running
********************

In order for our debug adapter to be recognized by pyOCD we need to change
Zephyr's VID/PID to IDs known to pyOCD, this is up to the user.
The following commands build and flash DAP sample.

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/dap
   :board: nrf52840dk_nrf52840
   :goals: flash
   :compact:

Connect HIC to the target and try some pyOCD commands, for example:

.. code-block:: console

   pyocd commander -t nrf52840

   0029527 W Board ID FE5D is not recognized [mbed_board]
   Connected to NRF52840 [Sleeping]: FE5D244DFE1F33DB
   pyocd> read32 0x20004f18 32
   20004f18:  20001160 2000244c 00000000 0000e407    | ..` .$L........|
   20004f28:  ffffffff ffffffff 00000000 aaaaaaaa    |................|
   pyocd> halt
   Successfully halted device
   pyocd> reg
   general registers:
         lr: 0x00009cdd                   r7: 0x00000000 (0)
         pc: 0x000033ca                   r8: 0x00000000 (0)
         r0: 0x00000000 (0)               r9: 0x00000000 (0)
         r1: 0x20002854 (536881236)      r10: 0x00000000 (0)
         r2: 0x20000be4 (536873956)      r11: 0x00000000 (0)
         r3: 0x00000000 (0)              r12: 0x00000000 (0)
         r4: 0x200017e8 (536877032)       sp: 0x20002898
         r5: 0x20001867 (536877159)     xpsr: 0x61000000 (1627389952)
         r6: 0x00000000 (0)