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 + +.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 + +.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 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 + #include + +-#ifdef _WIN32 +-#include +-#else +-#include +-#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