X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=swd%2Fftdi_openocd%2FREADME;fp=swd%2Fftdi_openocd%2FREADME;h=7951a58a7c409f8af3da7206e5c77a799524d537;hb=5ed6b039f589931389bf01bad0f0ca8cea6e9d2e;hp=0000000000000000000000000000000000000000;hpb=c05e7261887f1a4280e083b5cbd0e57b9d6480c0;p=sigrok-dumps.git diff --git a/swd/ftdi_openocd/README b/swd/ftdi_openocd/README new file mode 100644 index 0000000..7951a58 --- /dev/null +++ b/swd/ftdi_openocd/README @@ -0,0 +1,58 @@ +------------------------------------------------------------------------------- +SWD +------------------------------------------------------------------------------- + +This is a set of example captures of the ARM SWD (version 1) protocol. + +Details: +http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0031c/index.html +(registration required) + + +Logic analyzer setup +-------------------- + + Probe SWD + --------------- + 0 swclk + 1 swdio + + +Data +---- + +Different SWD sessions showing different types of behaviour: + +* ftdi_openocd/ + +Using an FTDI-based adapter via "openocd ftdi resistor hack". OpenOCD +0.9.0 development version. Device under test is a Nordic nRF51822. + +Command line: + + $ openocd -f interface/ftdi/olimex-arm-usb-tiny-h.cfg \ + -f interface/ftdi/swd-resistor-hack.cfg \ + -f target/nrf51.cfg + +** ftdi_openocd/init.sr + Initialising device, IDCODE read, etc. + OpenOCD args: -c "init; exit" + +** ftdi_openocd/init_noreply.sr + Initialising when no device is connected (i.e. all responses are 1s.) + OpenOCD args: -c "init; exit" + +** ftdi_openocd/init_write_0xabbabeeb.sr + Initialise, write 20 bytes of 0xabbabeeb at start of RAM. + OpenOCD args: -c "init; halt; mww 0x20000000 0xabbabeeb 20; exit" + +** ftdi_openocd/init_wait_fault.sr + Initialise, attempt to write flash fill of 0xabbabeeb via async loader. + This causes SWD WAIT states in "overrun" mode, so the first WAIT causes all + subsequent responses to be FAULT until OpenOCD clears the sticky error bit. + + For this capture OpenOCD was patched with this change (known to induce + SWD WAITs): http://openocd.zylin.com/#/c/2204/ + + OpenOCD args: -c "init; reset halt; flash fillw 0 0xabbabeeb 2048; exit" +