aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2009-06-02 08:23:42 +0800
committeramdmi3 <amdmi3@FreeBSD.org>2009-06-02 08:23:42 +0800
commit1be01b8388aa24356783b3ef29ad3cc3d7d911a0 (patch)
treee5a7b87554920305b07afd78b2bff8ce301f5cb8 /devel
parent9dc595a37db06363ac75b26eac643fead11d57c8 (diff)
downloadfreebsd-ports-gnome-1be01b8388aa24356783b3ef29ad3cc3d7d911a0.tar.gz
freebsd-ports-gnome-1be01b8388aa24356783b3ef29ad3cc3d7d911a0.tar.zst
freebsd-ports-gnome-1be01b8388aa24356783b3ef29ad3cc3d7d911a0.zip
The Open On-Chip Debugger (OpenOCD) aims to provide debugging, in-system
programming and boundary-scan testing for embedded target devices. OpenOCD uses a "hardware interface dongle" to communicate with the JTAG (IEEE 1149.1) compliant taps on your target board. OpenOCD currently supports many types of hardware dongles: USB based, parallel port based, and other standalone boxes that run OpenOCD internally. It allows ARM7 (ARM7TDMI and ARM720t), ARM9 (ARM920T, ARM922T, ARM926EJ-S, ARM966E-S), XScale (PXA25x, IXP42x) and Cortex-M3 (Luminary Stellaris LM3 and ST STM32) based cores to be debugged via the GDB protocol. Flash writing is supported for external CFI compatible NOR flashes (Intel and AMD/Spansion command set) and several internal flashes (LPC2000, AT91SAM7, STR7x, STR9x, LM3, and STM32x). Preliminary support for various NAND flash controllers (LPC3180, Orion, S3C24xx, more) controller is included. WWW: http://openocd.berlios.de/ PR: 135094 Submitted by: CeDeROM <tomek.cedro@gmail.com>
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/openocd/Makefile174
-rw-r--r--devel/openocd/distinfo3
-rw-r--r--devel/openocd/files/patch-openocd.c16
-rw-r--r--devel/openocd/pkg-descr15
-rw-r--r--devel/openocd/pkg-message15
-rw-r--r--devel/openocd/pkg-plist129
7 files changed, 353 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index a09702ef5f8f..ff1167816af6 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -925,6 +925,7 @@
SUBDIR += oniguruma5
SUBDIR += open-beagle
SUBDIR += opencvs
+ SUBDIR += openocd
SUBDIR += openwince-include
SUBDIR += openzz
SUBDIR += orbitcpp
diff --git a/devel/openocd/Makefile b/devel/openocd/Makefile
new file mode 100644
index 000000000000..d789be674a1e
--- /dev/null
+++ b/devel/openocd/Makefile
@@ -0,0 +1,174 @@
+# New ports collection makefile for: openocd
+# Date created: 31 May 2009
+# Whom: Tomek CeDeROM Cedro (http://www.tomek.cedro.info)
+#
+# $FreeBSD$
+#
+
+PORTNAME= openocd
+PORTVERSION= 0.1.0
+CATEGORIES= devel
+MASTER_SITES= BERLIOS
+
+MAINTAINER= tomek.cedro@gmail.com
+COMMENT= Open On-Chip Debugger
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/
+MAN1= openocd.1
+INFO= ${PORTNAME}
+USE_GMAKE= yes
+CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --enable-release
+OPTIONS= DUMMY "Dummy driver support" on \
+ FT2232 "FT2232 based USB devices (using libftdi)" on \
+ RLINK "Raisonance RLink JTAG Programmer" on \
+ JLINK "Segger J-Link JTAG Programmer" on \
+ VSLLINK "Versaloon-Link JTAG Programmer" on \
+ USBPROG "usbprog JTAG Programmer" on \
+ PRESTO "ASIX Presto Programmer (using libftdi)" on \
+ AT91RM9200 "AT91RM9200 based SBCs" on \
+ EP93XX "EP93xx based SBCs" on
+#Below are the interfaces that need source rewitre to work with FreeBSD
+# They are hidden because they break a build. Patches are welcome :-)
+# Type: make WITH_{OPTION}=1 to try the broken build (ie: make WITH_PARPORT=1)
+# PARPORT "Enable building the pc parallel port driver" off\
+# Parport: parport.c:68:20: error: sys/io.h: No such file or directory
+# AMTJTAGACCEL "Amontec JTAG-Accelerator driver" off \
+# Amtjtagaccel: amt_jtagaccel.c:45:20: error: sys/io.h: No such file or directory
+# ECOSBOARD "eCosBoard based JTAG debugger" off\
+# Ecosboard: replacements.h:36:28: error: pkgconf/system.h: No such file or directory
+# OOCDTRACE "OpenOCD+trace ETM capture device" off\
+# Oocdtrace: ocd_trace.c:127: error: 'B2500000' undeclared (first use in this function)
+# GW16012 "Gateworks GW16012 JTAG Programmer" off\
+# Gw16012: gw16012.c:67:20: error: sys/io.h: No such file or directory
+# HTTPD "Enable builtin httpd server" off\
+# microhttpd does not link properly, used by some Zyli cable
+# IOUTIL "Enable ioutil functions" off
+
+.include <bsd.port.options.mk>
+
+.if defined(WITH_DUMMY)
+CONFIGURE_ARGS+= --enable-dummy
+.else
+CONFIGURE_ARGS+= --disable-dummy
+.endif
+
+.if defined(WITH_FT2232)
+CONFIGURE_ARGS+= --enable-ft2232_libftdi
+USE_LIBFTDI= yes
+.else
+CONFIGURE_ARGS+= --disable-ft2232_libftdi
+.endif
+
+.if defined(WITH_PARPORT)
+CONFIGURE_ARGS+= --enable-parport
+.else
+CONFIGURE_ARGS+= --disable-parport
+.endif
+
+.if defined(WITH_AMTJTAGACCEL)
+CONFIGURE_ARGS+= --enable-amtjtagaccel
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-amtjtagaccel
+.endif
+
+.if defined(WITH_ECOSBOARD)
+CONFIGURE_ARGS+= --enable-ecosboard
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-ecosboard
+.endif
+
+.if defined(WITH_RLINK)
+CONFIGURE_ARGS+= --enable-rlink
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-rlink
+.endif
+
+.if defined(WITH_JLINK)
+CONFIGURE_ARGS+= --enable-jlink
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-jlink
+.endif
+
+.if defined(WITH_VSLLINK)
+CONFIGURE_ARGS+= --enable-vsllink
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-vsllink
+.endif
+
+.if defined(WITH_OOCDTRACE)
+CONFIGURE_ARGS+= --enable-oocd_trace
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-oocd_trace
+.endif
+
+.if defined(WITH_USBPROG)
+CONFIGURE_ARGS+= --enable-usbprog
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-usbprog
+.endif
+
+.if defined(WITH_PRESTO)
+CONFIGURE_ARGS+= --enable-presto_libftdi
+USE_LIBFTDI= yes
+.else
+CONFIGURE_ARGS+= --disable-presto_libftdi
+.endif
+
+.if defined(WITH_GW16012)
+CONFIGURE_ARGS+= --enable-gw16012
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-gw16012
+.endif
+
+.if defined(WITH_AT91RM9200)
+CONFIGURE_ARGS+= --enable-at91rm9200
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-at91rm9200
+.endif
+
+.if defined(WITH_EP93XX)
+CONFIGURE_ARGS+= --enable-ep93xx
+USE_LIBUSB= yes
+.else
+CONFIGURE_ARGS+= --disable-ep93xx
+.endif
+
+.if defined(WITH_HTTPD)
+CONFIGURE_ARGS+= --enable-httpd
+LIB_DEPENDS+= microhttpd:${PORTSDIR}/www/libmicrohttpd
+.else
+CONFIGURE_ARGS+= --disable-httpd
+.endif
+
+.if defined(WITH_IOUTIL)
+CONFIGURE_ARGS+= --enable-ioutil
+.else
+CONFIGURE_ARGS+= --disable-ioutil
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if defined(USE_LIBUSB) && ${OSVERSION} < 800069
+LIB_DEPENDS+= usb:${PORTSDIR}/devel/libusb
+.endif
+
+.if defined(USE_LIBFTDI)
+LIB_DEPENDS+= ftdi:${PORTSDIR}/devel/libftdi
+.endif
+
+post-install:
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/devel/openocd/distinfo b/devel/openocd/distinfo
new file mode 100644
index 000000000000..f238fd72fe9c
--- /dev/null
+++ b/devel/openocd/distinfo
@@ -0,0 +1,3 @@
+MD5 (openocd-0.1.0.tar.gz) = 994b603d280ab85b5f255342c1d6b66c
+SHA256 (openocd-0.1.0.tar.gz) = e468c907355727f7aede5623afd77721eb75abe7686af7f2f388f41a7c0f2911
+SIZE (openocd-0.1.0.tar.gz) = 985328
diff --git a/devel/openocd/files/patch-openocd.c b/devel/openocd/files/patch-openocd.c
new file mode 100644
index 000000000000..80ed9ee9a91b
--- /dev/null
+++ b/devel/openocd/files/patch-openocd.c
@@ -0,0 +1,16 @@
+--- src/openocd.c 2009-01-20 05:04:36.000000000 +0100
++++ src/openocd.c 2009-05-19 23:12:06.000000000 +0200
+@@ -56,12 +56,6 @@
+ #include <unistd.h>
+ #include <errno.h>
+
+-#ifdef _WIN32
+-#include <malloc.h>
+-#else
+-#include <alloca.h>
+-#endif
+-
+ #include "replacements.h"
+
+ void print_version(void)
+
diff --git a/devel/openocd/pkg-descr b/devel/openocd/pkg-descr
new file mode 100644
index 000000000000..a74fa9131bdc
--- /dev/null
+++ b/devel/openocd/pkg-descr
@@ -0,0 +1,15 @@
+The Open On-Chip Debugger (OpenOCD) aims to provide debugging, in-system
+programming and boundary-scan testing for embedded target devices. OpenOCD uses
+a "hardware interface dongle" to communicate with the JTAG (IEEE 1149.1)
+compliant taps on your target board. OpenOCD currently supports many types
+of hardware dongles: USB based, parallel port based, and other standalone boxes
+that run OpenOCD internally. It allows ARM7 (ARM7TDMI and ARM720t),
+ARM9 (ARM920T, ARM922T, ARM926EJ-S, ARM966E-S), XScale (PXA25x, IXP42x) and
+Cortex-M3 (Luminary Stellaris LM3 and ST STM32) based cores to be debugged
+via the GDB protocol. Flash writing is supported for external CFI compatible
+NOR flashes (Intel and AMD/Spansion command set) and several internal flashes
+(LPC2000, AT91SAM7, STR7x, STR9x, LM3, and STM32x). Preliminary support for
+various NAND flash controllers (LPC3180, Orion, S3C24xx, more) controller is
+included.
+
+WWW: http://openocd.berlios.de/
diff --git a/devel/openocd/pkg-message b/devel/openocd/pkg-message
new file mode 100644
index 000000000000..3275bed796d8
--- /dev/null
+++ b/devel/openocd/pkg-message
@@ -0,0 +1,15 @@
+===============================================================================
+
+Now You can use OpenOCD. Handbook is at: http://openocd.berlios.de/doc/html/
+
+To allow an ordinary user acces to the hotplug USB interface add him
+to the operator group and add these lines to the following files:
+
+/etc/devfs.rules:
+[localrules=10]
+ add path 'ugen*' mode 0660 group operator
+
+/etc/rc.conf:
+devfs_system_ruleset="localrules"
+
+===============================================================================
diff --git a/devel/openocd/pkg-plist b/devel/openocd/pkg-plist
new file mode 100644
index 000000000000..18a17a8d0132
--- /dev/null
+++ b/devel/openocd/pkg-plist
@@ -0,0 +1,129 @@
+bin/openocd
+lib/openocd/board/arm_evaluator7t.cfg
+lib/openocd/board/at91rm9200-dk.cfg
+lib/openocd/board/eir.cfg
+lib/openocd/board/hammer.cfg
+lib/openocd/board/iar_str912_sk.cfg
+lib/openocd/board/imx27ads.cfg
+lib/openocd/board/imx31pdk.cfg
+lib/openocd/board/logicpd_imx27.cfg
+lib/openocd/board/olimex_sam7_ex256.cfg
+lib/openocd/board/pic-p32mx.cfg
+lib/openocd/board/stm3210e_eval.cfg
+lib/openocd/board/stm32f10x_128k_eval.cfg
+lib/openocd/board/x300t.cfg
+lib/openocd/ecos/at91eb40a.elf
+lib/openocd/interface/arm-usb-ocd.cfg
+lib/openocd/interface/at91rm9200.cfg
+lib/openocd/interface/calao-usb-a9260-c01.cfg
+lib/openocd/interface/calao-usb-a9260-c02.cfg
+lib/openocd/interface/calao-usb-a9260.cfg
+lib/openocd/interface/chameleon.cfg
+lib/openocd/interface/dummy.cfg
+lib/openocd/interface/flyswatter.cfg
+lib/openocd/interface/jlink.cfg
+lib/openocd/interface/jtagkey-tiny.cfg
+lib/openocd/interface/jtagkey.cfg
+lib/openocd/interface/luminary-libftdi.cfg
+lib/openocd/interface/luminary-lm3s811.cfg
+lib/openocd/interface/luminary.cfg
+lib/openocd/interface/olimex-arm-usb-ocd.cfg
+lib/openocd/interface/olimex-jtag-tiny-a.cfg
+lib/openocd/interface/openocd-usb.cfg
+lib/openocd/interface/parport.cfg
+lib/openocd/interface/parport_dlc5.cfg
+lib/openocd/interface/rlink.cfg
+lib/openocd/interface/signalyzer.cfg
+lib/openocd/interface/stm32-stick.cfg
+lib/openocd/interface/str9-comstick.cfg
+lib/openocd/interface/turtelizer2.cfg
+lib/openocd/target/aduc702x.cfg
+lib/openocd/target/at91eb40a.cfg
+lib/openocd/target/at91r40008.cfg
+lib/openocd/target/at91rm9200.cfg
+lib/openocd/target/at91sam9260.cfg
+lib/openocd/target/at91sam9260minimal.cfg
+lib/openocd/target/epc9301.cfg
+lib/openocd/target/imote2.cfg
+lib/openocd/target/imx27.cfg
+lib/openocd/target/imx31.cfg
+lib/openocd/target/ipx42x.cfg
+lib/openocd/target/is5114.cfg
+lib/openocd/target/lm3s3748.cfg
+lib/openocd/target/lm3s6965.cfg
+lib/openocd/target/lm3s811.cfg
+lib/openocd/target/lpc2129.cfg
+lib/openocd/target/lpc2148.cfg
+lib/openocd/target/lpc2148_2mhz.cfg
+lib/openocd/target/lpc2148_rclk.cfg
+lib/openocd/target/lpc2294.cfg
+lib/openocd/target/netx500.cfg
+lib/openocd/target/nslu2.cfg
+lib/openocd/target/omap5912.cfg
+lib/openocd/target/pic32mx.cfg
+lib/openocd/target/pxa255.cfg
+lib/openocd/target/pxa255_sst.cfg
+lib/openocd/target/pxa270.cfg
+lib/openocd/target/sam7se512.cfg
+lib/openocd/target/sam7x256.cfg
+lib/openocd/target/samsung_s3c2410.cfg
+lib/openocd/target/samsung_s3c2440.cfg
+lib/openocd/target/samsung_s3c4510.cfg
+lib/openocd/target/samsung_s3c6410.cfg
+lib/openocd/target/sharp_lh79532.cfg
+lib/openocd/target/smdk6410.cfg
+lib/openocd/target/smp8634.cfg
+lib/openocd/target/stm32.cfg
+lib/openocd/target/stm32stick.cfg
+lib/openocd/target/str710.cfg
+lib/openocd/target/str730.cfg
+lib/openocd/target/str750.cfg
+lib/openocd/target/str910-eval.cfg
+lib/openocd/target/str912.cfg
+lib/openocd/target/str9comstick.cfg
+lib/openocd/target/test_reset_syntax_error.cfg
+lib/openocd/target/test_syntax_error.cfg
+lib/openocd/target/wi-9c.cfg
+lib/openocd/target/xba_revA3.cfg
+lib/openocd/target/zy1000.cfg
+lib/openocd/tcl/bitsbytes.tcl
+lib/openocd/tcl/chip/atmel/at91/aic.tcl
+lib/openocd/tcl/chip/atmel/at91/at91sam7x128.tcl
+lib/openocd/tcl/chip/atmel/at91/at91sam7x256.tcl
+lib/openocd/tcl/chip/atmel/at91/pmc.tcl
+lib/openocd/tcl/chip/atmel/at91/rtt.tcl
+lib/openocd/tcl/chip/atmel/at91/usarts.tcl
+lib/openocd/tcl/chip/st/stm32/stm32.tcl
+lib/openocd/tcl/chip/st/stm32/stm32_rcc.tcl
+lib/openocd/tcl/chip/st/stm32/stm32_regs.tcl
+lib/openocd/tcl/cpu/arm/arm7tdmi.tcl
+lib/openocd/tcl/cpu/arm/arm920.tcl
+lib/openocd/tcl/cpu/arm/arm946.tcl
+lib/openocd/tcl/cpu/arm/arm966.tcl
+lib/openocd/tcl/cpu/arm/cortex_m3.tcl
+lib/openocd/tcl/memory.tcl
+lib/openocd/tcl/mmr_helpers.tcl
+lib/openocd/tcl/readable.tcl
+lib/openocd/xscale/debug_handler.bin
+share/openocd/contrib/libdcc/README
+share/openocd/contrib/libdcc/dcc_stdio.c
+share/openocd/contrib/libdcc/dcc_stdio.h
+share/openocd/contrib/libdcc/example.c
+share/openocd/contrib/openocd.udev
+@dirrm share/openocd/contrib/libdcc
+@dirrm share/openocd/contrib
+@dirrm share/openocd
+@dirrm lib/openocd/xscale
+@dirrm lib/openocd/tcl/cpu/arm
+@dirrm lib/openocd/tcl/cpu
+@dirrm lib/openocd/tcl/chip/st/stm32
+@dirrm lib/openocd/tcl/chip/st
+@dirrm lib/openocd/tcl/chip/atmel/at91
+@dirrm lib/openocd/tcl/chip/atmel
+@dirrm lib/openocd/tcl/chip
+@dirrm lib/openocd/tcl
+@dirrm lib/openocd/target
+@dirrm lib/openocd/interface
+@dirrm lib/openocd/ecos
+@dirrm lib/openocd/board
+@dirrm lib/openocd