58 lines
1.9 KiB
ReStructuredText
58 lines
1.9 KiB
ReStructuredText
.. 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)
|