From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.mars-solutions.de ([213.239.212.107]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1XYez8-0005MA-UC for ptxdist@pengutronix.de; Mon, 29 Sep 2014 19:43:44 +0200 Message-ID: <1412012616.18554.57.camel@ws-apr.office.loc> From: Andreas Pretzsch Date: Mon, 29 Sep 2014 19:43:36 +0200 In-Reply-To: <1412010731-18154-1-git-send-email-apr@cn-eng.de> References: <1412010731-18154-1-git-send-email-apr@cn-eng.de> Mime-Version: 1.0 Subject: Re: [ptxdist] [PATCH] openocd: new package for openocd-0.8.0 (host, target) Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de A few comments on this, both generic here and specific inline (sorry for full quote, more readable in this case). First, as combined patch host+target due to the shared patches. Second, the options mimic the ./configure options from OpenOCD, not only in wording, but also in sequence. To ease maintenance, I refrained reordering them. On Mo, 2014-09-29 at 19:12 +0200, Andreas Pretzsch wrote: > Signed-off-by: Andreas Pretzsch > --- > ...c-correct-test-for-USB_BLASTER_DRIVER-AM-.patch | 33 ++++ > ...e-correct-test-for-USB_BLASTER_DRIVER-AM-.patch | 20 +++ > patches/openocd-0.8.0/series | 4 + > rules/host-openocd.in | 199 +++++++++++++++++++++ > rules/host-openocd.make | 76 ++++++++ > rules/openocd.in | 199 +++++++++++++++++++++ > rules/openocd.make | 96 ++++++++++ > 7 files changed, 627 insertions(+) > create mode 100644 patches/openocd-0.8.0/0001-configure.ac-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > create mode 100644 patches/openocd-0.8.0/0002-configure-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > create mode 100644 patches/openocd-0.8.0/series > create mode 100644 rules/host-openocd.in > create mode 100644 rules/host-openocd.make > create mode 100644 rules/openocd.in > create mode 100644 rules/openocd.make > > diff --git a/patches/openocd-0.8.0/0001-configure.ac-correct-test-for-USB_BLASTER_DRIVER-AM-.patch b/patches/openocd-0.8.0/0001-configure.ac-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > new file mode 100644 > index 0000000..a7c65b7 > --- /dev/null > +++ b/patches/openocd-0.8.0/0001-configure.ac-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > @@ -0,0 +1,33 @@ > +From 930e41a2921b8c2905690153514099c8abf05828 Mon Sep 17 00:00:00 2001 > +From: Paul Fertser > +Date: Sat, 31 May 2014 08:19:51 +0400 > +Subject: [PATCH] configure.ac: correct test for USB_BLASTER_DRIVER AM symbol > + > +Blaster II should depend on the corresponding symbol, not on libusb-1 > +presence. > + > +Change-Id: I3d27a1005a78fe81042cb7b515618604612c3ece > +Signed-off-by: Paul Fertser > +Reviewed-on: http://openocd.zylin.com/2159 > +Tested-by: jenkins > +Reviewed-by: Andreas Fritiofson > +--- > + configure.ac | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/configure.ac b/configure.ac > +index 1b4870e..9943beb 100644 > +--- a/configure.ac > ++++ b/configure.ac > +@@ -1174,7 +1174,7 @@ AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft223 > + AM_CONDITIONAL([USB_BLASTER_LIBFTDI], [test $build_usb_blaster_libftdi = yes]) > + AM_CONDITIONAL([USB_BLASTER_FTD2XX], [test $build_usb_blaster_ftd2xx = yes]) > + AM_CONDITIONAL([JTAG_VPI], [test $build_jtag_vpi = yes -o $build_jtag_vpi = yes]) > +-AM_CONDITIONAL([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes -o $use_libusb1 = yes]) > ++AM_CONDITIONAL([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes -o $enable_usb_blaster_2 != no]) > + AM_CONDITIONAL([AMTJTAGACCEL], [test $build_amtjtagaccel = yes]) > + AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes]) > + AM_CONDITIONAL([PRESTO_LIBFTDI], [test $build_presto_libftdi = yes]) > +-- > +2.1.0 > + > diff --git a/patches/openocd-0.8.0/0002-configure-correct-test-for-USB_BLASTER_DRIVER-AM-.patch b/patches/openocd-0.8.0/0002-configure-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > new file mode 100644 > index 0000000..e8c4957 > --- /dev/null > +++ b/patches/openocd-0.8.0/0002-configure-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > @@ -0,0 +1,20 @@ > +merge in changes to configure.ac introduced by > + 0001-configure.ac-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > +into "configure" > +--- > + configure | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +Index: b/configure > +=================================================================== > +--- a/configure > ++++ b/configure > +@@ -15806,7 +15806,7 @@ > + JTAG_VPI_FALSE= > + fi > + > +- if test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes -o $use_libusb1 = yes; then > ++ if test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes -o $enable_usb_blaster_2 != no; then > + USB_BLASTER_DRIVER_TRUE= > + USB_BLASTER_DRIVER_FALSE='#' > + else > diff --git a/patches/openocd-0.8.0/series b/patches/openocd-0.8.0/series > new file mode 100644 > index 0000000..1860de5 > --- /dev/null > +++ b/patches/openocd-0.8.0/series > @@ -0,0 +1,4 @@ > +# keep 0001 disabled, as changing configure.ac will trigger autotools > +# invocation. The changes from 0001 are done by 0002 in "configure". > +# 0001-configure.ac-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > +0002-configure-correct-test-for-USB_BLASTER_DRIVER-AM-.patch > diff --git a/rules/host-openocd.in b/rules/host-openocd.in > new file mode 100644 > index 0000000..d8c4e7e > --- /dev/null > +++ b/rules/host-openocd.in > @@ -0,0 +1,199 @@ > +## SECTION=hosttools > + > +menuconfig HOST_OPENOCD > + tristate > + prompt "OpenOCD " > + > + # libusb-1.x > + select HOST_LIBUSB if HOST_OPENOCD_FTDI || HOST_OPENOCD_STLINK || HOST_OPENOCD_TI_ICDI || HOST_OPENOCD_ULINK || HOST_OPENOCD_USB_BLASTER_2 > + # libusb-1.x or libusb-0.1 > + select HOST_LIBUSB if HOST_OPENOCD_JLINK || HOST_OPENOCD_OSBDM || HOST_OPENOCD_OPENDOUS || HOST_OPENOCD_AICE > + # libusb-0.1 ; no HOST_LIBUSB_COMPAT, so select HOST_LIBUSB and hope for the best > + select HOST_LIBUSB if HOST_OPENOCD_VSLLINK || HOST_OPENOCD_USBPROG || HOST_OPENOCD_RLINK || HOST_OPENOCD_ARMJTAGEW > + # libhidapi ; currently no package in ptxdist, so disable it > + #select HOST_HIDAPI if HOST_OPENOCD_CMSIS_DAP > + # libftdi1 or libftdi, with libftdi1 preferred ; currently no package in ptxdist, so disable it > + #select HOST_LIBFTDI1 if HOST_OPENOCD_USB_BLASTER_LIBFTDI || HOST_OPENOCD_PRESTO_LIBFTDI || HOST_OPENOCD_OPENJTAG_FTDI Both not perfect, but matches the current state. So I kept them given the situation changes some day. > + > + help > + The Open On-Chip Debugger (OpenOCD) provides debugging, in-system > + programming and boundary-scan testing for embedded target devices. > + It supports JTAG and SWD (direct or via dongle) to access targets. > + Flash writing is supported for various internal and external types. > + It is controlled with TCL scripts and can act as gdbserver. > + > +if HOST_OPENOCD > + > +# ===== interface drivers ===== > + > +config HOST_OPENOCD_DUMMY > + bool > + prompt "dummy port driver" > + > +# --- libusb-1.x based > + > +config HOST_OPENOCD_FTDI > + bool > + prompt "MPSSE mode of FTDI based devices" > + > +config HOST_OPENOCD_STLINK > + bool > + prompt "ST-Link JTAG Programmer" > + > +config HOST_OPENOCD_TI_ICDI > + bool > + prompt "TI ICDI JTAG Programmer" > + > +config HOST_OPENOCD_ULINK > + bool > + prompt "Keil ULINK JTAG Programmer" > + > +config HOST_OPENOCD_USB_BLASTER_2 > + bool > + prompt "Altera USB-Blaster II Compatible" > + > +# --- libusb-1.x or libusb-0.1 based > + > +config HOST_OPENOCD_JLINK > + bool > + prompt "Segger J-Link JTAG Programmer" > + > +config HOST_OPENOCD_OSBDM > + bool > + prompt "OSBDM (JTAG only) Programmer" > + > +config HOST_OPENOCD_OPENDOUS > + bool > + prompt "eStick/opendous JTAG Programmer" > + > +config HOST_OPENOCD_AICE > + bool > + prompt "Andes JTAG Programmer" > + > +# --- libusb-0.1 based > + > +config HOST_OPENOCD_VSLLINK > + bool > + prompt "Versaloon-Link JTAG Programmer" > + > +config HOST_OPENOCD_USBPROG > + bool > + prompt "USBProg JTAG Programmer" > + > +config HOST_OPENOCD_RLINK > + bool > + prompt "Raisonance RLink JTAG Programmer" > + > +config HOST_OPENOCD_ARMJTAGEW > + bool > + prompt "Olimex ARM-JTAG-EW Programmer" > + > +# --- hidapi based > +# currently no package in ptxdist, so disable it > +#config HOST_OPENOCD_CMSIS_DAP > +# bool > +# prompt "CMSIS-DAP Compliant Debugger" same as above > + > +# --- various > + > +config HOST_OPENOCD_PARPORT > + bool > + prompt "pc parallel port driver" > + > +if HOST_OPENOCD_PARPORT > + config HOST_OPENOCD_PARPORT_DISABLE_PARPORT_PPDEV > + bool > + prompt "Disable use of ppdev (/dev/parportN) (x86 only)" > + > + config HOST_OPENOCD_PARPORT_GIVEIO > + bool > + depends on HOST_OPENOCD_PARPORT > + prompt "Enable use of giveio (CygWin only)" > +endif > + > +config HOST_OPENOCD_JTAG_VPI > + bool > + prompt "JTAG VPI" > + > +config HOST_OPENOCD_USB_BLASTER_LIBFTDI > + bool > + prompt "Altera USB-Blaster (libftdi driver, opensource)" > + > +# no ftd2xx package in ptxdist, so disable it > +#config HOST_OPENOCD_USB_BLASTER_FTD2XX > +# bool > +# prompt "Altera USB-Blaster (FTD2XX driver from ftdichip.com)" same as above > + > +config HOST_OPENOCD_AMTJTAGACCEL > + bool > + prompt "Amontec JTAG-Accelerator driver" > + > +config HOST_OPENOCD_ZY1000 > + bool > + prompt "ZY1000 interface" > + > +if HOST_OPENOCD_ZY1000 > + config HOST_OPENOCD_ZY1000_MASTER > + bool > + prompt "Use ZY1000 JTAG master registers" > +endif > + > +config HOST_OPENOCD_IOUTIL > + bool > + prompt "ioutil functions - for standalone OpenOCD implementations" > + > +config HOST_OPENOCD_EP93XX > + bool > + prompt "EP93xx based SBCs" > + > +config HOST_OPENOCD_AT91RM9200 > + bool > + prompt "AT91RM9200 based SBCs" > + > +config HOST_OPENOCD_BCM2835GPIO > + bool > + prompt "bitbanging on BCM2835 (as found in Raspberry Pi)" > + > +config HOST_OPENOCD_GW16012 > + bool > + prompt "Gateworks GW16012 JTAG Programmer" > + > +config HOST_OPENOCD_PRESTO_LIBFTDI > + bool > + prompt "ASIX Presto Programmer using the libftdi driver" > + > +# no ftd2xx package in ptxdist, so disable it > +#config HOST_OPENOCD_PRESTO_FTD2XX > +# bool > +# prompt "ASIX Presto Programmer using the FTD2XX driver" > + > +# no ftd2xx package in ptxdist, so disable it > +#config HOST_OPENOCD_OPENJTAG_FTD2XX > +# bool > +# prompt "OpenJTAG Programmer with ftd2xx driver" same as above > + > +config HOST_OPENOCD_OPENJTAG_FTDI > + bool > + prompt "OpenJTAG Programmer with ftdi driver" > + > +config HOST_OPENOCD_OOCD_TRACE > + bool > + prompt "prototype OpenOCD+trace ETM capture hardware" > + > +config HOST_OPENOCD_BUSPIRATE > + bool > + prompt "Buspirate" > + > +config HOST_OPENOCD_SYSFSGPIO > + bool > + prompt "programming driven via sysfs gpios" > + > +config HOST_OPENOCD_MINIDRIVER_DUMMY > + bool > + prompt "dummy minidriver" > + > +config HOST_OPENOCD_REMOTE_BITBANG > + bool > + prompt "Remote Bitbang jtag driver" > + > +endif > diff --git a/rules/host-openocd.make b/rules/host-openocd.make > new file mode 100644 > index 0000000..913c761 > --- /dev/null > +++ b/rules/host-openocd.make > @@ -0,0 +1,76 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2014 by Andreas Pretzsch > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +HOST_PACKAGES-$(PTXCONF_HOST_OPENOCD) += host-openocd > + > +# > +# Paths and names > +# > +HOST_OPENOCD_VERSION := 0.8.0 > +HOST_OPENOCD_MD5 := 6d83c34763a5f1d1ac7ad83c5a11f4fb > +HOST_OPENOCD := openocd-$(HOST_OPENOCD_VERSION) > +HOST_OPENOCD_SUFFIX := tar.bz2 > +HOST_OPENOCD_URL := http://downloads.sourceforge.net/project/openocd/openocd/$(HOST_OPENOCD_VERSION)/$(HOST_OPENOCD).$(HOST_OPENOCD_SUFFIX) > +#HOST_OPENOCD_URL := $(call ptx/mirror, SF, openocd/$(HOST_OPENOCD).$(HOST_OPENOCD_SUFFIX)) Took this mirror from Michael Grzeschik original patch, but still refer to the official source. Please change before apply at your own discretion. > +HOST_OPENOCD_SOURCE := $(SRCDIR)/$(HOST_OPENOCD).$(HOST_OPENOCD_SUFFIX) > +HOST_OPENOCD_DIR := $(HOST_BUILDDIR)/$(HOST_OPENOCD) > +# License: OpenOCD: GPLv2+, jimtcl: BSD > +HOST_OPENOCD_LICENSE := LGPLv2, BSD > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +HOST_OPENOCD_CONF_TOOL := autoconf > +HOST_OPENOCD_CONF_OPT := $(HOST_AUTOCONF) \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_DUMMY)-dummy \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_FTDI)-ftdi \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_STLINK)-stlink \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_TI_ICDI)-ti-icdi \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_ULINK)-ulink \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_USB_BLASTER_2)-usb-blaster-2 \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_JLINK)-jlink \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_OSBDM)-osbdm \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_OPENDOUS)-opendous \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_AICE)-aice \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_VSLLINK)-vsllink \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_USBPROG)-usbprog \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_RLINK)-rlink \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_ARMJTAGEW)-armjtagew \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_CMSIS_DAP)-cmsis-dap \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_PARPORT)-parport \ > + --$(call ptx/disen, PTXCONF_HOST_OPENOCD_PARPORT_DISABLE_PARPORT_PPDEV)-parport-ppdev \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_PARPORT_GIVEIO)-parport-giveio \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_JTAG_VPI)-jtag_vpi \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_USB_BLASTER_LIBFTDI)-usb_blaster_libftdi \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_USB_BLASTER_FTD2XX)-usb_blaster_ftd2xx \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_AMTJTAGACCEL)-amtjtagaccel \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_ZY1000)-zy1000 \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_ZY1000_MASTER)-zy1000-master \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_IOUTIL)-ioutil \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_EP93XX)-ep93xx \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_AT91RM9200)-at91rm9200 \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_BCM2835GPIO)-bcm2835gpio \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_GW16012)-gw16012 \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_PRESTO_LIBFTDI)-presto_libftdi \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_PRESTO_FTD2XX)-presto_ftd2xx \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_OPENJTAG_FTD2XX)-openjtag_ftd2xx \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_OPENJTAG_FTDI)-openjtag_ftdi \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_OOCD_TRACE)-oocd_trace \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_BUSPIRATE)-buspirate \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_SYSFSGPIO)-sysfsgpio \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_MINIDRIVER_DUMMY)-minidriver-dummy \ > + --$(call ptx/endis, PTXCONF_HOST_OPENOCD_REMOTE_BITBANG)-remote-bitbang \ > + > + > +# vim: syntax=make > diff --git a/rules/openocd.in b/rules/openocd.in > new file mode 100644 > index 0000000..56384e7 > --- /dev/null > +++ b/rules/openocd.in > @@ -0,0 +1,199 @@ > +## SECTION=debug_tools > + > +menuconfig OPENOCD > + tristate > + prompt "OpenOCD " > + > + # libusb-1.x > + select LIBUSB if OPENOCD_FTDI || OPENOCD_STLINK || OPENOCD_TI_ICDI || OPENOCD_ULINK || OPENOCD_USB_BLASTER_2 > + # libusb-1.x or libusb-0.1 > + select LIBUSB if OPENOCD_JLINK || OPENOCD_OSBDM || OPENOCD_OPENDOUS || OPENOCD_AICE > + # libusb-0.1 > + select LIBUSB_COMPAT if OPENOCD_VSLLINK || OPENOCD_USBPROG || OPENOCD_RLINK || OPENOCD_ARMJTAGEW > + # libhidapi ; currently no package in ptxdist, so disable it > + #select HIDAPI if OPENOCD_CMSIS_DAP > + # libftdi1 or libftdi, with libftdi1 preferred ; currently no package in ptxdist, so disable it > + #select LIBFTDI1 if OPENOCD_USB_BLASTER_LIBFTDI || OPENOCD_PRESTO_LIBFTDI || OPENOCD_OPENJTAG_FTDI same as with host package, beside libusb_compat, which is there as target package. > + > + help > + The Open On-Chip Debugger (OpenOCD) provides debugging, in-system > + programming and boundary-scan testing for embedded target devices. > + It supports JTAG and SWD (direct or via dongle) to access targets. > + Flash writing is supported for various internal and external types. > + It is controlled with TCL scripts and can act as gdbserver. > + > +if OPENOCD > + > +# ===== interface drivers ===== > + > +config OPENOCD_DUMMY > + bool > + prompt "dummy port driver" > + > +# --- libusb-1.x based > + > +config OPENOCD_FTDI > + bool > + prompt "MPSSE mode of FTDI based devices" > + > +config OPENOCD_STLINK > + bool > + prompt "ST-Link JTAG Programmer" > + > +config OPENOCD_TI_ICDI > + bool > + prompt "TI ICDI JTAG Programmer" > + > +config OPENOCD_ULINK > + bool > + prompt "Keil ULINK JTAG Programmer" > + > +config OPENOCD_USB_BLASTER_2 > + bool > + prompt "Altera USB-Blaster II Compatible" > + > +# --- libusb-1.x or libusb-0.1 based > + > +config OPENOCD_JLINK > + bool > + prompt "Segger J-Link JTAG Programmer" > + > +config OPENOCD_OSBDM > + bool > + prompt "OSBDM (JTAG only) Programmer" > + > +config OPENOCD_OPENDOUS > + bool > + prompt "eStick/opendous JTAG Programmer" > + > +config OPENOCD_AICE > + bool > + prompt "Andes JTAG Programmer" > + > +# --- libusb-0.1 based > + > +config OPENOCD_VSLLINK > + bool > + prompt "Versaloon-Link JTAG Programmer" > + > +config OPENOCD_USBPROG > + bool > + prompt "USBProg JTAG Programmer" > + > +config OPENOCD_RLINK > + bool > + prompt "Raisonance RLink JTAG Programmer" > + > +config OPENOCD_ARMJTAGEW > + bool > + prompt "Olimex ARM-JTAG-EW Programmer" > + > +# --- hidapi based > +# currently no package in ptxdist, so disable it > +#config OPENOCD_CMSIS_DAP > +# bool > +# prompt "CMSIS-DAP Compliant Debugger" > + > +# --- various > + > +config OPENOCD_PARPORT > + bool > + prompt "pc parallel port driver" > + > +if OPENOCD_PARPORT > + config OPENOCD_PARPORT_DISABLE_PARPORT_PPDEV > + bool > + prompt "Disable use of ppdev (/dev/parportN) (x86 only)" > + > + config OPENOCD_PARPORT_GIVEIO > + bool > + depends on OPENOCD_PARPORT > + prompt "Enable use of giveio (CygWin only)" > +endif > + > +config OPENOCD_JTAG_VPI > + bool > + prompt "JTAG VPI" > + > +config OPENOCD_USB_BLASTER_LIBFTDI > + bool > + prompt "Altera USB-Blaster (libftdi driver, opensource)" > + > +# no ftd2xx package in ptxdist, so disable it > +#config OPENOCD_USB_BLASTER_FTD2XX > +# bool > +# prompt "Altera USB-Blaster (FTD2XX driver from ftdichip.com)" > + > +config OPENOCD_AMTJTAGACCEL > + bool > + prompt "Amontec JTAG-Accelerator driver" > + > +config OPENOCD_ZY1000 > + bool > + prompt "ZY1000 interface" > + > +if OPENOCD_ZY1000 > + config OPENOCD_ZY1000_MASTER > + bool > + prompt "Use ZY1000 JTAG master registers" > +endif > + > +config OPENOCD_IOUTIL > + bool > + prompt "ioutil functions - for standalone OpenOCD implementations" > + > +config OPENOCD_EP93XX > + bool > + prompt "EP93xx based SBCs" > + > +config OPENOCD_AT91RM9200 > + bool > + prompt "AT91RM9200 based SBCs" > + > +config OPENOCD_BCM2835GPIO > + bool > + prompt "bitbanging on BCM2835 (as found in Raspberry Pi)" > + > +config OPENOCD_GW16012 > + bool > + prompt "Gateworks GW16012 JTAG Programmer" > + > +config OPENOCD_PRESTO_LIBFTDI > + bool > + prompt "ASIX Presto Programmer using the libftdi driver" > + > +# no ftd2xx package in ptxdist, so disable it > +#config OPENOCD_PRESTO_FTD2XX > +# bool > +# prompt "ASIX Presto Programmer using the FTD2XX driver" > + > +# no ftd2xx package in ptxdist, so disable it > +#config OPENOCD_OPENJTAG_FTD2XX > +# bool > +# prompt "OpenJTAG Programmer with ftd2xx driver" > + > +config OPENOCD_OPENJTAG_FTDI > + bool > + prompt "OpenJTAG Programmer with ftdi driver" > + > +config OPENOCD_OOCD_TRACE > + bool > + prompt "prototype OpenOCD+trace ETM capture hardware" > + > +config OPENOCD_BUSPIRATE > + bool > + prompt "Buspirate" > + > +config OPENOCD_SYSFSGPIO > + bool > + prompt "programming driven via sysfs gpios" > + > +config OPENOCD_MINIDRIVER_DUMMY > + bool > + prompt "dummy minidriver" > + > +config OPENOCD_REMOTE_BITBANG > + bool > + prompt "Remote Bitbang jtag driver" > + > +endif > diff --git a/rules/openocd.make b/rules/openocd.make > new file mode 100644 > index 0000000..8301df3 > --- /dev/null > +++ b/rules/openocd.make > @@ -0,0 +1,96 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2014 by Andreas Pretzsch > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_OPENOCD) += openocd > + > +# > +# Paths and names > +# > +OPENOCD_VERSION := 0.8.0 > +OPENOCD_MD5 := 6d83c34763a5f1d1ac7ad83c5a11f4fb > +OPENOCD := openocd-$(OPENOCD_VERSION) > +OPENOCD_SUFFIX := tar.bz2 > +OPENOCD_URL := http://downloads.sourceforge.net/project/openocd/openocd/$(OPENOCD_VERSION)/$(OPENOCD).$(OPENOCD_SUFFIX) > +#OPENOCD_URL := $(call ptx/mirror, SF, openocd/$(OPENOCD).$(OPENOCD_SUFFIX)) same as with host package > +OPENOCD_SOURCE := $(SRCDIR)/$(OPENOCD).$(OPENOCD_SUFFIX) > +OPENOCD_DIR := $(BUILDDIR)/$(OPENOCD) > +# License: OpenOCD: GPLv2+, jimtcl: BSD > +OPENOCD_LICENSE := LGPLv2, BSD > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +OPENOCD_CONF_TOOL := autoconf > +OPENOCD_CONF_OPT := $(CROSS_AUTOCONF_USR) \ > + --$(call ptx/endis, PTXCONF_OPENOCD_DUMMY)-dummy \ > + --$(call ptx/endis, PTXCONF_OPENOCD_FTDI)-ftdi \ > + --$(call ptx/endis, PTXCONF_OPENOCD_STLINK)-stlink \ > + --$(call ptx/endis, PTXCONF_OPENOCD_TI_ICDI)-ti-icdi \ > + --$(call ptx/endis, PTXCONF_OPENOCD_ULINK)-ulink \ > + --$(call ptx/endis, PTXCONF_OPENOCD_USB_BLASTER_2)-usb-blaster-2 \ > + --$(call ptx/endis, PTXCONF_OPENOCD_JLINK)-jlink \ > + --$(call ptx/endis, PTXCONF_OPENOCD_OSBDM)-osbdm \ > + --$(call ptx/endis, PTXCONF_OPENOCD_OPENDOUS)-opendous \ > + --$(call ptx/endis, PTXCONF_OPENOCD_AICE)-aice \ > + --$(call ptx/endis, PTXCONF_OPENOCD_VSLLINK)-vsllink \ > + --$(call ptx/endis, PTXCONF_OPENOCD_USBPROG)-usbprog \ > + --$(call ptx/endis, PTXCONF_OPENOCD_RLINK)-rlink \ > + --$(call ptx/endis, PTXCONF_OPENOCD_ARMJTAGEW)-armjtagew \ > + --$(call ptx/endis, PTXCONF_OPENOCD_CMSIS_DAP)-cmsis-dap \ > + --$(call ptx/endis, PTXCONF_OPENOCD_PARPORT)-parport \ > + --$(call ptx/disen, PTXCONF_OPENOCD_PARPORT_DISABLE_PARPORT_PPDEV)-parport-ppdev \ > + --$(call ptx/endis, PTXCONF_OPENOCD_PARPORT_GIVEIO)-parport-giveio \ > + --$(call ptx/endis, PTXCONF_OPENOCD_JTAG_VPI)-jtag_vpi \ > + --$(call ptx/endis, PTXCONF_OPENOCD_USB_BLASTER_LIBFTDI)-usb_blaster_libftdi \ > + --$(call ptx/endis, PTXCONF_OPENOCD_USB_BLASTER_FTD2XX)-usb_blaster_ftd2xx \ > + --$(call ptx/endis, PTXCONF_OPENOCD_AMTJTAGACCEL)-amtjtagaccel \ > + --$(call ptx/endis, PTXCONF_OPENOCD_ZY1000)-zy1000 \ > + --$(call ptx/endis, PTXCONF_OPENOCD_ZY1000_MASTER)-zy1000-master \ > + --$(call ptx/endis, PTXCONF_OPENOCD_IOUTIL)-ioutil \ > + --$(call ptx/endis, PTXCONF_OPENOCD_EP93XX)-ep93xx \ > + --$(call ptx/endis, PTXCONF_OPENOCD_AT91RM9200)-at91rm9200 \ > + --$(call ptx/endis, PTXCONF_OPENOCD_BCM2835GPIO)-bcm2835gpio \ > + --$(call ptx/endis, PTXCONF_OPENOCD_GW16012)-gw16012 \ > + --$(call ptx/endis, PTXCONF_OPENOCD_PRESTO_LIBFTDI)-presto_libftdi \ > + --$(call ptx/endis, PTXCONF_OPENOCD_PRESTO_FTD2XX)-presto_ftd2xx \ > + --$(call ptx/endis, PTXCONF_OPENOCD_OPENJTAG_FTD2XX)-openjtag_ftd2xx \ > + --$(call ptx/endis, PTXCONF_OPENOCD_OPENJTAG_FTDI)-openjtag_ftdi \ > + --$(call ptx/endis, PTXCONF_OPENOCD_OOCD_TRACE)-oocd_trace \ > + --$(call ptx/endis, PTXCONF_OPENOCD_BUSPIRATE)-buspirate \ > + --$(call ptx/endis, PTXCONF_OPENOCD_SYSFSGPIO)-sysfsgpio \ > + --$(call ptx/endis, PTXCONF_OPENOCD_MINIDRIVER_DUMMY)-minidriver-dummy \ > + --$(call ptx/endis, PTXCONF_OPENOCD_REMOTE_BITBANG)-remote-bitbang > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/openocd.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, openocd) > + @$(call install_fixup, openocd,PRIORITY,optional) > + @$(call install_fixup, openocd,SECTION,base) > + @$(call install_fixup, openocd,AUTHOR,"Andreas Pretzsch ") > + @$(call install_fixup, openocd,DESCRIPTION,"OpenOCD - Open On-Chip Debugger") > + > + @$(call install_copy, openocd, 0, 0, 0755, -, /usr/bin/openocd) > +# @$(call install_tree, openocd, 0, 0, -, /usr/share/openocd/) Intentionally disabled. 700kB generic extra data on the target makes no sense. I doubt there won't be one real use case where the makefile is not pulled into platform local rules and adapted to copy only the 5 relevant files from this tree. So this is more of a reminder where to look, so I kept is as comment. > + > + @$(call install_finish, openocd) > + > + @$(call touch) > + > + > +# vim: syntax=make > -- > 2.1.0 > > -- carpe noctem engineering Ingenieurbuero fuer Hard- & Software-Entwicklung Andreas Pretzsch Dipl.-Ing. (FH) Andreas Pretzsch Tel. +49-(0)731-5521572 Hahnengasse 3 Fax: +49-(0)731-5521571 89073 Ulm, Germany email: apr@cn-eng.de -- ptxdist mailing list ptxdist@pengutronix.de