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>
This commit is contained in:
Dmitry Marakasov 2009-06-02 00:23:42 +00:00
parent 9b49805810
commit 04e5f3fd2c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=235001
7 changed files with 353 additions and 0 deletions

View file

@ -925,6 +925,7 @@
SUBDIR += oniguruma5
SUBDIR += open-beagle
SUBDIR += opencvs
SUBDIR += openocd
SUBDIR += openwince-include
SUBDIR += openzz
SUBDIR += orbitcpp

174
devel/openocd/Makefile Normal file
View file

@ -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>

3
devel/openocd/distinfo Normal file
View file

@ -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

View file

@ -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)

15
devel/openocd/pkg-descr Normal file
View file

@ -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/

15
devel/openocd/pkg-message Normal file
View file

@ -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"
===============================================================================

129
devel/openocd/pkg-plist Normal file
View file

@ -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