Skip to content

Commit ecc181d

Browse files
Merge pull request #62 from riscv/riscv64
Merge mainline OpenOCD
2 parents 7af58e6 + 64af052 commit ecc181d

File tree

308 files changed

+17227
-10672
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

308 files changed

+17227
-10672
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ doc/openocd.pg
5252
doc/openocd.toc
5353
doc/openocd.tp
5454
doc/openocd.vr
55-
doc/texinfo.tex
5655
doc/version.texi
56+
texinfo.tex
5757
src/openocd
5858
src/openocd.exe
5959

Makefile.am

Lines changed: 51 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,45 @@ AUTOMAKE_OPTIONS = gnu 1.6
55
# make sure we pass the correct jimtcl flags to distcheck
66
DISTCHECK_CONFIGURE_FLAGS = --disable-install-jim
77

8+
# do not run Jim Tcl tests (esp. during distcheck)
9+
check-recursive:
10+
@true
11+
812
nobase_dist_pkgdata_DATA = \
913
contrib/libdcc/dcc_stdio.c \
1014
contrib/libdcc/dcc_stdio.h \
1115
contrib/libdcc/example.c \
1216
contrib/libdcc/README \
13-
contrib/99-openocd.rules
17+
contrib/60-openocd.rules
1418

15-
if INTERNAL_JIMTCL
16-
SUBDIRS = jimtcl
17-
else
1819
SUBDIRS =
20+
DIST_SUBDIRS =
21+
bin_PROGRAMS =
22+
noinst_LTLIBRARIES =
23+
info_TEXINFOS =
24+
dist_man_MANS =
25+
EXTRA_DIST =
26+
27+
if INTERNAL_JIMTCL
28+
SUBDIRS += jimtcl
29+
DIST_SUBDIRS += jimtcl
1930
endif
2031

21-
SUBDIRS += src doc
32+
# common flags used in openocd build
33+
AM_CFLAGS = $(GCC_WARNINGS)
34+
35+
AM_CPPFLAGS = $(HOST_CPPFLAGS)\
36+
-I$(top_srcdir)/src \
37+
-I$(top_builddir)/src \
38+
-I$(top_srcdir)/src/helper \
39+
-DPKGDATADIR=\"$(pkgdatadir)\" \
40+
-DBINDIR=\"$(bindir)\"
2241

23-
EXTRA_DIST = \
42+
if INTERNAL_JIMTCL
43+
AM_CPPFLAGS += -I$(top_srcdir)/jimtcl \
44+
-I$(top_builddir)/jimtcl
45+
endif
46+
EXTRA_DIST += \
2447
BUGS \
2548
HACKING \
2649
NEWTAPS \
@@ -96,17 +119,26 @@ distclean-local:
96119

97120
DISTCLEANFILES = doxygen.log
98121

122+
METASOURCES = AUTO
123+
124+
BUILT_SOURCES =
125+
CLEANFILES =
126+
99127
MAINTAINERCLEANFILES = \
100-
$(srcdir)/INSTALL \
101-
$(srcdir)/configure \
102-
$(srcdir)/Makefile.in \
103-
$(srcdir)/depcomp \
104-
$(srcdir)/config.guess \
105-
$(srcdir)/config.sub \
106-
$(srcdir)/config.h.in \
107-
$(srcdir)/config.h.in~ \
108-
$(srcdir)/compile \
109-
$(srcdir)/ltmain.sh \
110-
$(srcdir)/missing \
111-
$(srcdir)/aclocal.m4 \
112-
$(srcdir)/install-sh
128+
%D%/INSTALL \
129+
%D%/configure \
130+
%D%/Makefile.in \
131+
%D%/depcomp \
132+
%D%/config.guess \
133+
%D%/config.sub \
134+
%D%/config.h.in \
135+
%D%/config.h.in~ \
136+
%D%/compile \
137+
%D%/ltmain.sh \
138+
%D%/missing \
139+
%D%/aclocal.m4 \
140+
%D%/install-sh \
141+
%D%/texinfo.tex
142+
143+
include src/Makefile.am
144+
include doc/Makefile.am

NEWS-0.10.0

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
This file includes highlights of the changes made in the OpenOCD
2+
source archive release.
3+
4+
JTAG Layer:
5+
* New driver for J-Link adapters based on libjaylink
6+
(including support for FPGA configuration, SWO and EMUCOM)
7+
* FTDI improvements to work at 30MHz clock
8+
* BCM2835 native driver SWD and Raspberry Pi2 support
9+
* BCM2835 is set to 4ma drive, slow slew rate
10+
* ixo-usb-jtag (emulation of an Altera Bus Blaster I on
11+
Cypress FX2 IC) support
12+
* JTAG pass-through mode for CMSIS-DAP (including support for
13+
FPGA configuration)
14+
* OpenJTAG support for Cypress CY7C65215
15+
* connect_assert_srst support for SWD
16+
* Xilinx Virtex-II Series7 bitstream loading support
17+
* Use JEP106 data to decode IDs
18+
* Deprecated "ft2232" driver removed (use "ftdi" instead)
19+
* GPL-incompatible FTDI D2XX library support dropped (Presto,
20+
OpenJTAG and USB-Blaster I are using libftdi only now)
21+
* ZY1000 support dropped (unmaintained since long)
22+
* oocd_trace support dropped
23+
24+
Boundary Scan:
25+
26+
Target Layer:
27+
* ARMv7-A, Cortex-M, Cortex-A/R important fixes and
28+
improvements (allowing e.g. simultaneous debugging of A8 and
29+
M3 cores, JTAG WAIT support etc.)
30+
* ARM Cortex-A,R allow interrupt disable during single-step
31+
(maskisr command)
32+
* Semihosting support for ARMv7-A
33+
* ARM Cortex-M7 support
34+
* Intel Quark mcu D2000 support
35+
* Freescale LS102x SAP support
36+
* ThreadX RTOS support on ARM926E-JS
37+
* Cortex-M RTOS stack alignment fixes
38+
* FreeRTOS FPU support
39+
* uC/OS-III RTOS support
40+
* bridging semihosting to GDB's File-I/O support
41+
* -defer-examine option added to target create command
42+
* verify_image_checksum command added
43+
44+
Flash Layer:
45+
* Atmel SAM4S, SAM4N, SAM4C support
46+
* Atmel SAMV, SAMS, SAME (Cortex-M7) support
47+
* Atmel AT91SAMD handle reset run/halt in DSU, other fixes
48+
* Atmel AT91SAML21, SAML22, SAMC20/SAMC21, SAMD09 support
49+
* ST STM32F4x support
50+
* ST STM32F74x/76x/77x, STM32L4 support
51+
* ST STM32L0 categories 1, 2 and 5 support
52+
* Kinetis K02, K21, K22, K24, K26, K63, K64, K66 support
53+
* Kinetis KE, KVx, K8x families support
54+
* Kinetis FlexNVM handling
55+
* Kinetis flash protection, security, mass_erase improvements
56+
* Infineon XMC4xxx family support
57+
* Infineon XMC1000 flash driver
58+
* Energy Micro EFM32 Happy Gecko support
59+
* Energy Micro EFM32 debug interface lock support
60+
* Analog Devices ADuCM360 support
61+
* Unified Nuvoton NuMicro flash driver
62+
* NIIET K1921VK01T (Cortex-M4) support
63+
* Nordic Semiconductor nRF51 improvements
64+
* Spansion FM4 flash (including MB9BFx64/x65, S6E2DH) driver
65+
* Ambiq Micro Apollo flash driver
66+
* PIC32MX new device IDs, 17x/27x flash support
67+
* read_bank() and verify_bank() NOR flash internal API to
68+
allow reading (and verifying) non-memory-mapped devices
69+
* JTAGSPI driver to access SPI NOR flashes via a trivial
70+
FPGA proxy
71+
* Milandr read/verify for Info memory support
72+
* Various discrete SPI NOR flashes support
73+
* CFI 16-bit flash reversed endianness support
74+
75+
Board, Target, and Interface Configuration Scripts:
76+
* Digilent JTAG-HS2, JTAG-HS3 interfaces configs
77+
* FTDI UM232H module as JTAG interface config
78+
* 100ask's OpenJTAG interface config
79+
* MBFTDI interface config
80+
* XDS100v3 interface config
81+
* Freescale Vybrid VF6xx target config
82+
* EmCraft VF6 SOM and baseboard configs
83+
* Freescale SabreSD board config
84+
* Freescale VF65GS10 tower board config
85+
* Pipistrello Xilinx Spartan6 LX45 FPGA board config
86+
* miniSpartan6+ board config
87+
* Xilinx Kintex7 Development board config
88+
* Parallella-I board config
89+
* Digilent Atlys and Analog Discovery board configs
90+
* Numato Opsis board config
91+
* Xilinx Spartan 6 FPGA "Device DNA" reading support
92+
* Altera 10M50 FPGA (MAX10 family) target config
93+
* Altera EPM240 CPLD (MAXII family) target config
94+
* Marsohod2, Marsohod3 FPGA, Marsohod CPLD boards configs
95+
* Novena's integrated FPGA board config
96+
* XMOS XS1-XAU8A-10's ARM core config
97+
* XMOS xCORE-XA Core Module board config
98+
* Exynos5250 target config
99+
* Arndale board config
100+
* FM4 MB9BFxxx family configs
101+
* Spansion SK-FM4-U120-9B560 board config
102+
* Diolan LPC4357-DB1 board config
103+
* ST STM32F469 discovery board config
104+
* ST STM32F7-DISCO, STM327[4|5]6G-EVAL boards configs
105+
* ST STM32L4 discovery, NUCLEO L476RG, STM32F429I-DISC1 boards
106+
configs
107+
* Atheros AR2313, AR2315 targets config
108+
* Netgear WP102 board config
109+
* La Fonera FON2200 board config
110+
* Linksys WAG200G board config
111+
* LPC-Link2 board config
112+
* NXP LPC4370 target config
113+
* Atmel SAMV, SAMS, SAME target configs
114+
* Atmel SAM E70 Xplained, SAM V71 Xplained Ultra boards
115+
configs
116+
* Nordic nRF52 target config
117+
* Nordic nRF51-DK, nRF52-DK boards configs
118+
* Infineon XMC4700 Relax Kit, XMC4800 Relax EtherCAT Kit,
119+
XMC4300 Relax EtherCAT Kit boards configs
120+
* Renesas S7G2 target config
121+
* Renesas DK-S7G2 board config
122+
* Altera EP3C10 FPGA (Cyclone III family) target config
123+
* TI MSP432P4xx target config
124+
* Cypress PSoC 5LP target config
125+
* Analog Devices ADSP-SC58x target config (Cortex-A5 core only)
126+
127+
Server Layer:
128+
* tcl_trace command for async target trace output via Tcl RPC
129+
130+
Documentation:
131+
132+
Build and Release:
133+
* Various fixes thanks to http://coccinellery.org/
134+
* libftdi is now autodetected with pkgconfig
135+
* Releases should now support reproducible builds
136+
* Conversion to non-recursive make, requires automake >= 1.14
137+
* Udev rules modified to add uaccess tag and moved to
138+
60-openocd.rules
139+
* Support searching for scripts relative to the openocd binary
140+
for all major architectures
141+
142+
143+
This release also contains a number of other important functional and
144+
cosmetic bugfixes. For more details about what has changed since the
145+
last release, see the git repository history:
146+
147+
http://sourceforge.net/p/openocd/code/ci/v0.10.0/log/?path=
148+
149+
150+
For older NEWS, see the NEWS files associated with each release
151+
(i.e. NEWS-<version>).
152+
153+
For more information about contributing test reports, bug fixes, or new
154+
features and device support, please read the new Developer Manual (or
155+
the BUGS and PATCHES.txt files in the source archive).

README

Lines changed: 6 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Welcome to OpenOCD!
44
OpenOCD provides on-chip programming and debugging support with a
55
layered architecture of JTAG interface and TAP support including:
66

7-
- (X)SVF playback to faciliate automated boundary scan and FPGA/CPLD
7+
- (X)SVF playback to facilitate automated boundary scan and FPGA/CPLD
88
programming;
99
- debug target support (e.g. ARM, MIPS): single-stepping,
1010
breakpoints/watchpoints, gprof profiling, etc;
@@ -45,9 +45,6 @@ e.g.:
4545
openocd -f interface/stlink-v2-1.cfg -c "transport select hla_swd" \
4646
-f target/stm32l0.cfg
4747

48-
NB: when using an FTDI-based adapter you should prefer configs in the
49-
ftdi directory; the old configs for the ft2232 are deprecated.
50-
5148
After OpenOCD startup, connect GDB with
5249

5350
(gdb) target extended-remote localhost:3333
@@ -126,7 +123,7 @@ XScale, Intel Quark.
126123
Flash drivers
127124
-------------
128125

129-
ADUC702x, AT91SAM, AVR, CFI, DSP5680xx, EFM32, EM357, FM3, FM4, Kinetis,
126+
ADUC702x, AT91SAM, ATH79, AVR, CFI, DSP5680xx, EFM32, EM357, FM3, FM4, Kinetis,
130127
LPC8xx/LPC1xxx/LPC2xxx/LPC541xx, LPC2900, LPCSPIFI, Marvell QSPI,
131128
Milandr, NIIET, NuMicro, PIC32mx, PSoC4, SiM3x, Stellaris, STM32, STMSMI,
132129
STR7x, STR9x, nRF51; NAND controllers of AT91SAM9, LPC3180, LPC32xx,
@@ -184,10 +181,6 @@ suggestions:
184181
particular hardware;
185182
- Use "ftdi" interface adapter driver for the FTDI-based devices.
186183

187-
As a PACKAGER, never link against the FTD2XX library, as the resulting
188-
binaries can't be legally distributed, due to the restrictions of the
189-
GPL.
190-
191184

192185
================
193186
Building OpenOCD
@@ -221,18 +214,16 @@ You'll also need:
221214
Additionally, for building from git:
222215

223216
- autoconf >= 2.64
224-
- automake >= 1.9
217+
- automake >= 1.14
225218
- texinfo
226219

227220
USB-based adapters depend on libusb-1.0 and some older drivers require
228221
libusb-0.1 or libusb-compat-0.1. A compatible implementation, such as
229222
FreeBSD's, additionally needs the corresponding .pc files.
230223

231-
USB-Blaster, ASIX Presto, OpenJTAG and ft2232 interface adapter
232-
drivers need either one of:
224+
USB-Blaster, ASIX Presto and OpenJTAG interface adapter
225+
drivers need:
233226
- libftdi: http://www.intra2net.com/en/developer/libftdi/index.php
234-
- ftd2xx: http://www.ftdichip.com/Drivers/D2XX.htm (proprietary,
235-
GPL-incompatible)
236227

237228
CMSIS-DAP support needs HIDAPI library.
238229

@@ -242,7 +233,7 @@ Permissions delegation
242233
Running OpenOCD with root/administrative permissions is strongly
243234
discouraged for security reasons.
244235

245-
For USB devices on GNU/Linux you should use the contrib/99-openocd.rules
236+
For USB devices on GNU/Linux you should use the contrib/60-openocd.rules
246237
file. It probably belongs somewhere in /etc/udev/rules.d, but
247238
consult your operating system documentation to be sure. Do not forget
248239
to add yourself to the "plugdev" group.
@@ -304,40 +295,6 @@ use both the --enable-parport AND the --enable-parport-giveio option
304295
if you want to use giveio instead of ioperm parallel port access
305296
method.
306297

307-
Using FTDI's FTD2XX
308-
-------------------
309-
310-
The (closed source) FTDICHIP.COM solution is faster than libftdi on
311-
Windows. That is the motivation for supporting it even though its
312-
licensing restricts it to non-redistributable OpenOCD binaries, and it
313-
is not available for all operating systems used with OpenOCD. You may,
314-
however, build such copies for personal use.
315-
316-
The FTDICHIP drivers come as either a (win32) ZIP file, or a (Linux)
317-
TAR.GZ file. You must unpack them ``some where'' convenient. As of this
318-
writing FTDICHIP does not supply means to install these files "in an
319-
appropriate place."
320-
321-
You should use the following ./configure options to make use of
322-
FTD2XX:
323-
324-
--with-ftd2xx-win32-zipdir
325-
Where (CYGWIN/MINGW) the zip file from ftdichip.com
326-
was unpacked <default=search>
327-
--with-ftd2xx-linux-tardir
328-
Where (Linux/Unix) the tar file from ftdichip.com
329-
was unpacked <default=search>
330-
--with-ftd2xx-lib=(static|shared)
331-
Use static or shared ftd2xx libs (default is static)
332-
333-
Remember, this library is binary-only, while OpenOCD is licenced
334-
according to GNU GPLv2 without any exceptions. That means that
335-
_distributing_ copies of OpenOCD built with the FTDI code would
336-
violate the OpenOCD licensing terms.
337-
338-
Note that on Linux there is no good reason to use these FTDI binaries;
339-
they are no faster (on Linux) than libftdi, and cause licensing issues.
340-
341298

342299
==========================
343300
Obtaining OpenOCD From GIT

TODO

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,6 @@ interface support:
9393
-# rewrite implementation to use non-blocking I/O
9494
- J-Link driver:
9595
- fix to work with long scan chains, such as R.Doss's svf test.
96-
- FT2232 (libftdi):
97-
- make performance comparable to alternatives (on Win32, D2XX is faster)
98-
- make usability comparable to alternatives
9996
- Autodetect USB based adapters; this should be easy on Linux. If there's
10097
more than one, list the options; otherwise, just select that one.
10198

bootstrap

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,12 @@ else
3939
git submodule update
4040
fi
4141

42+
if [ -x src/jtag/drivers/libjaylink/autogen.sh ]; then
43+
(
44+
cd src/jtag/drivers/libjaylink
45+
./autogen.sh
46+
)
47+
fi
48+
4249
echo "Bootstrap complete. Quick build instructions:"
4350
echo "./configure ...."

0 commit comments

Comments
 (0)