- (X)SVF playback to faciliate automated boundary scan and FPGA/CPLD
programming;
- debug target support (e.g. ARM, MIPS): single-stepping,
- breakpoints/watchpoints, etc;
+ breakpoints/watchpoints, gprof profiling, etc;
- flash chip drivers (e.g. CFI, NAND, internal flash);
-- embedded TCL intepreter for easy scripting.
+- embedded TCL interpreter for easy scripting.
Several network interfaces are available for interacting with OpenOCD:
telnet, TCL, and GDB. The GDB server enables OpenOCD to function as a
you need to source both the jtag interface and the target configs,
e.g.:
- openocd -f interface/ftdi/jtagkey2.cfg -f target/ti_calypso.cfg
+ openocd -f interface/ftdi/jtagkey2.cfg -c "transport select jtag" \
+ -f target/ti_calypso.cfg
+
+ openocd -f interface/stlink-v2-1.cfg -c "transport select hla_swd" \
+ -f target/stm32l0.cfg
NB: when using an FTDI-based adapter you should prefer configs in the
ftdi directory; the old configs for the ft2232 are deprecated.
viewed online at the following URLs:
OpenOCD User's Guide:
- http://openocd.sourceforge.net/doc/html/index.html
+ http://openocd.org/doc/html/index.html
OpenOCD Developer's Manual:
- http://openocd.sourceforge.net/doc/doxygen/html/index.html
+ http://openocd.org/doc/doxygen/html/index.html
These reflect the latest development versions, so the following section
introduces how to build the complete documentation from the package.
-------------
AICE, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-TINY, AT91RM9200, axm0432,
-BCM2835, Bus Blaster, Buspirate, Chameleon, Cortino, DLC 5,
-DLP-USB1232H, embedded projects, eStick, FlashLINK, FlossJTAG,
-Flyswatter, Flyswatter2, Hoegl, ICDI, ICEBear, J-Link, JTAGkey,
-JTAGkey2, JTAG-lock-pick, KT-Link, Lisa/L, LPC1768-Stick, MiniModule,
-NGX, NXHX, OOCDLink, Opendous, OpenJTAG, Openmoko, OpenRD, OSBDM,
-Presto, Redbee, RLink, SheevaPlug devkit, Stellaris evkits, ST-LINK,
+BCM2835, Bus Blaster, Buspirate, Chameleon, CMSIS-DAP, Cortino, DENX,
+Digilent JTAG-SMT2, DLC 5, DLP-USB1232H, embedded projects, eStick,
+FlashLINK, FlossJTAG, Flyswatter, Flyswatter2, Gateworks, Hoegl, ICDI,
+ICEBear, J-Link, JTAG VPI, JTAGkey, JTAGkey2, JTAG-lock-pick, KT-Link,
+Lisa/L, LPC1768-Stick, MiniModule, NGX, NXHX, OOCDLink, Opendous,
+OpenJTAG, Openmoko, OpenRD, OSBDM, Presto, Redbee, RLink, SheevaPlug
+devkit, Stellaris evkits, ST-LINK (SWO tracing supported),
STM32-PerformanceStick, STR9-comStick, sysfsgpio, TUMPA, Turtelizer,
ULINK, USB-A9260, USB-Blaster, USB-JTAG, USBprog, VPACLink, VSLLink,
Wiggler, XDS100v2, Xverve.
ARM11, ARM7, ARM9, AVR32, Cortex-A, Cortex-R, Cortex-M,
Feroceon/Dragonite, DSP563xx, DSP5680xx, FA526, MIPS EJTAG, NDS32,
-XScale.
+XScale, Intel Quark.
Flash drivers
-------------
ADUC702x, AT91SAM, AVR, CFI, DSP5680xx, EFM32, EM357, FM3, Kinetis,
-LPC2000, LPC2900, LPCSPIFI, PIC32mx, Stellaris, STM32, STMSMI, STR7x,
-STR9x; NAND controllers of AT91SAM9, LPC3180, LPC32xx, i.MX31, MXC,
-NUC910, Orion/Kirkwood, S3C24xx, S3C6400.
+LPC8xx/LPC1xxx/LPC2xxx/LPC541xx, LPC2900, LPCSPIFI, Marvell QSPI,
+Milandr, NIIET, NuMicro, PIC32mx, PSoC4, SiM3x, Stellaris, STM32, STMSMI,
+STR7x, STR9x, nRF51; NAND controllers of AT91SAM9, LPC3180, LPC32xx,
+i.MX31, MXC, NUC910, Orion/Kirkwood, S3C24xx, S3C6400, XMC4xxx.
==================
- make
- libtool
+- pkg-config >= 0.23 (or compatible)
Additionally, for building from git:
-- autoconf >= 2.59
+- autoconf >= 2.64
- automake >= 1.9
- texinfo
USB-based adapters depend on libusb-1.0 and some older drivers require
-libusb-0.1 or libusb-compat-0.1.
+libusb-0.1 or libusb-compat-0.1. A compatible implementation, such as
+FreeBSD's, additionally needs the corresponding .pc files.
USB-Blaster, ASIX Presto, OpenJTAG and ft2232 interface adapter
drivers need either one of:
- ftd2xx: http://www.ftdichip.com/Drivers/D2XX.htm (proprietary,
GPL-incompatible)
+CMSIS-DAP support needs HIDAPI library.
+
Permissions delegation
----------------------
Running OpenOCD with root/administrative permissions is strongly
discouraged for security reasons.
-For USB devices on GNU/Linux you should use the contrib/openocd.udev
-rules file. It probably belongs somewhere in /etc/udev/rules.d, but
+For USB devices on GNU/Linux you should use the contrib/99-openocd.rules
+file. It probably belongs somewhere in /etc/udev/rules.d, but
consult your operating system documentation to be sure. Do not forget
to add yourself to the "plugdev" group.
./configure --host=i686-w64-mingw32 [options]
+To make pkg-config work nicely for cross-compiling, you might need an
+additional wrapper script as described at
+
+ http://www.flameeyes.eu/autotools-mythbuster/pkgconfig/cross-compiling.html
+
+This is needed to tell pkg-config where to look for the target
+libraries that OpenOCD depends on. Alternatively, you can specify
+*_CFLAGS and *_LIBS environment variables directly, see "./configure
+--help" for the details.
+
Parallel Port Dongles
---------------------