mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
MSPDebug is a free debugger for use with MSP430 MCUs. It supports
FET430UIF, eZ430, RF2500 and Olimex MSP-JTAG-TINY programmers. It can be used as a proxy for gdb or as an independent debugger with support for programming, disassembly and reverse engineering. WWW: http://mspdebug.sourceforge.net/ PR: ports/154517 Submitted by: Peter Jeremy <peterjeremy at acm.org> Feature safe: yes
This commit is contained in:
parent
c542b12128
commit
c77bb88ba6
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=268685
11 changed files with 228 additions and 0 deletions
|
@ -1032,6 +1032,7 @@
|
||||||
SUBDIR += msp430-gcc
|
SUBDIR += msp430-gcc
|
||||||
SUBDIR += msp430-gdb
|
SUBDIR += msp430-gdb
|
||||||
SUBDIR += msp430-libc
|
SUBDIR += msp430-libc
|
||||||
|
SUBDIR += mspdebug
|
||||||
SUBDIR += msrc0
|
SUBDIR += msrc0
|
||||||
SUBDIR += nana
|
SUBDIR += nana
|
||||||
SUBDIR += nant
|
SUBDIR += nant
|
||||||
|
|
34
devel/mspdebug/Makefile
Normal file
34
devel/mspdebug/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# New ports collection makefile for: mspdebug
|
||||||
|
# Date created: 30 Jan 2011
|
||||||
|
# Whom: Peter Jeremy <peterjeremy@acm.org>
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
# Based on the OpenBSD port by: Jasper Lievisse Adriaanse <jasper@openbsd.org>
|
||||||
|
|
||||||
|
PORTNAME= mspdebug
|
||||||
|
PORTVERSION= 0.13
|
||||||
|
CATEGORIES= devel
|
||||||
|
MASTER_SITES= SF/${PORTNAME}
|
||||||
|
|
||||||
|
MAINTAINER= peterjeremy@acm.org
|
||||||
|
COMMENT= Debugger for use with MSP 430 MCUs
|
||||||
|
|
||||||
|
LICENSE= GPLv2
|
||||||
|
|
||||||
|
MAN1= mspdebug.1
|
||||||
|
USE_GMAKE= yes
|
||||||
|
|
||||||
|
PLIST_FILES= bin/mspdebug
|
||||||
|
|
||||||
|
.include <bsd.port.pre.mk>
|
||||||
|
|
||||||
|
.if ${OSVERSION} < 800069
|
||||||
|
LIB_DEPENDS+= usb:${PORTSDIR}/devel/libusb
|
||||||
|
.endif
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/mspdebug ${PREFIX}/bin
|
||||||
|
${INSTALL_MAN} ${WRKSRC}/mspdebug.man ${PREFIX}/man/man1/mspdebug.1
|
||||||
|
|
||||||
|
.include <bsd.port.post.mk>
|
2
devel/mspdebug/distinfo
Normal file
2
devel/mspdebug/distinfo
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
SHA256 (mspdebug-0.13.tar.gz) = 7f77cbe2bab245cf50647a2bd23e803fe22e2d21a2b0953e0551ebf3e72fc48e
|
||||||
|
SIZE (mspdebug-0.13.tar.gz) = 91556
|
47
devel/mspdebug/files/patch-Makefile
Normal file
47
devel/mspdebug/files/patch-Makefile
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
--- Makefile.orig 2010-11-09 08:40:57.000000000 +1100
|
||||||
|
+++ Makefile 2011-02-05 12:36:25.710676671 +1100
|
||||||
|
@@ -26,17 +26,27 @@
|
||||||
|
READLINE_LIBS =
|
||||||
|
else
|
||||||
|
READLINE_CFLAGS = -DUSE_READLINE
|
||||||
|
- READLINE_LIBS = -lreadline
|
||||||
|
+ READLINE_LIBS = -lreadline -ltermcap
|
||||||
|
endif
|
||||||
|
|
||||||
|
-# Mac OS X/MacPorts stuff
|
||||||
|
UNAME := $(shell sh -c 'uname -s')
|
||||||
|
-ifeq ($(UNAME),Darwin)
|
||||||
|
- MACPORTS_CFLAGS = -I/opt/local/include
|
||||||
|
- MACPORTS_LDFLAGS = -L/opt/local/lib
|
||||||
|
+ifeq ($(UNAME),Darwin) # Mac OS X/MacPorts stuff
|
||||||
|
+ PORTS_CFLAGS = -I/opt/local/include
|
||||||
|
+ PORTS_LDFLAGS = -L/opt/local/lib
|
||||||
|
else
|
||||||
|
- MACPORTS_CFLAGS =
|
||||||
|
- MACPORTS_LDFLAGS =
|
||||||
|
+ ifeq ($(UNAME),OpenBSD) # OpenBSD Ports stuff
|
||||||
|
+ PORTS_CFLAGS = `pkg-config --cflags libelf libusb`
|
||||||
|
+ PORTS_LDFLAGS = `pkg-config --libs libelf libusb`
|
||||||
|
+ else
|
||||||
|
+ ifeq ($(UNAME),FreeBSD) # FreeBSD Ports stuff
|
||||||
|
+# This is only needed prior to FreeBSD 8.x to find libusb
|
||||||
|
+ PORTS_CFLAGS = -I${LOCALBASE}/include
|
||||||
|
+ PORTS_LDFLAGS = -L${LOCALBASE}/lib
|
||||||
|
+ else
|
||||||
|
+ PORTS_CFLAGS =
|
||||||
|
+ PORTS_LDFLAGS =
|
||||||
|
+ endif
|
||||||
|
+ endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
MSPDEBUG_CFLAGS = -O1 -Wall -Wno-char-subscripts -ggdb
|
||||||
|
@@ -60,7 +70,7 @@
|
||||||
|
reader.o vector.o output_util.o expr.o fet_error.o binfile.o \
|
||||||
|
fet_db.o usbutil.o titext.o srec.o device.o coff.o opdb.o output.o \
|
||||||
|
cmddb.o stdcmd.o prog.o flash_bsl.o
|
||||||
|
- $(CC) $(LDFLAGS) $(MACPORTS_LDFLAGS) -o $@ $^ -lusb $(READLINE_LIBS)
|
||||||
|
+ $(CC) $(LDFLAGS) $(PORTS_LDFLAGS) -o $@ $^ -lusb $(READLINE_LIBS)
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
- $(CC) $(CFLAGS) $(MACPORTS_CFLAGS) $(READLINE_CFLAGS) $(MSPDEBUG_CFLAGS) -o $@ -c $*.c
|
||||||
|
+ $(CC) $(CFLAGS) $(PORTS_CFLAGS) $(READLINE_CFLAGS) $(MSPDEBUG_CFLAGS) -o $@ -c $*.c
|
11
devel/mspdebug/files/patch-bsl.c
Normal file
11
devel/mspdebug/files/patch-bsl.c
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- bsl.c.orig Mon Nov 8 22:40:57 2010
|
||||||
|
+++ bsl.c Thu Dec 2 13:05:14 2010
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
#include "output.h"
|
||||||
|
#include "fet_error.h"
|
||||||
|
|
||||||
|
-#ifdef __APPLE__
|
||||||
|
+#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||||
|
#define B460800 460800
|
||||||
|
#endif
|
||||||
|
|
11
devel/mspdebug/files/patch-elf32.c
Normal file
11
devel/mspdebug/files/patch-elf32.c
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- elf32.c.orig Wed Aug 4 04:08:43 2010
|
||||||
|
+++ elf32.c Thu Aug 12 12:51:04 2010
|
||||||
|
@@ -19,7 +19,7 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
-#ifdef __APPLE__
|
||||||
|
+#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||||
|
#include <libelf.h>
|
||||||
|
#else
|
||||||
|
#include <elf.h>
|
28
devel/mspdebug/files/patch-olimex.c
Normal file
28
devel/mspdebug/files/patch-olimex.c
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- olimex.c.orig 2010-11-09 08:40:57.000000000 +1100
|
||||||
|
+++ olimex.c 2011-01-23 20:52:02.005008013 +1100
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <usb.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "olimex.h"
|
||||||
|
#include "util.h"
|
||||||
|
@@ -66,7 +67,7 @@
|
||||||
|
static int open_interface(struct olimex_transport *tr,
|
||||||
|
struct usb_device *dev, int ino)
|
||||||
|
{
|
||||||
|
-#if !(defined (__APPLE__) || defined(WIN32))
|
||||||
|
+#if defined(__linux__)
|
||||||
|
int drv;
|
||||||
|
char drName[256];
|
||||||
|
#endif
|
||||||
|
@@ -82,7 +83,7 @@
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !(defined(__APPLE__) || defined(WIN32))
|
||||||
|
+#if defined(__linux__)
|
||||||
|
drv = usb_get_driver_np(tr->handle, tr->int_number, drName,
|
||||||
|
sizeof(drName));
|
||||||
|
printc(__FILE__" : driver %d\n", drv);
|
28
devel/mspdebug/files/patch-rf2500.c
Normal file
28
devel/mspdebug/files/patch-rf2500.c
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- rf2500.c.orig 2010-11-09 08:40:57.000000000 +1100
|
||||||
|
+++ rf2500.c 2011-01-23 20:51:40.771589070 +1100
|
||||||
|
@@ -19,6 +19,7 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <usb.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "rf2500.h"
|
||||||
|
#include "util.h"
|
||||||
|
@@ -67,7 +68,7 @@
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !(defined(__APPLE__) || defined(WIN32))
|
||||||
|
+#if !(defined(__APPLE__) || defined(WIN32) || defined(__OpenBSD__) || defined(__FreeBSD__))
|
||||||
|
if (usb_detach_kernel_driver_np(tr->handle, tr->int_number) < 0)
|
||||||
|
pr_error("rf2500: warning: can't "
|
||||||
|
"detach kernel driver");
|
||||||
|
@@ -221,7 +222,7 @@
|
||||||
|
#ifndef __APPLE__
|
||||||
|
while (usb_bulk_read(tr->handle, USB_FET_IN_EP,
|
||||||
|
buf, sizeof(buf),
|
||||||
|
- 100) >= 0);
|
||||||
|
+ 100) > 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return (transport_t)tr;
|
50
devel/mspdebug/files/patch-uif.c
Normal file
50
devel/mspdebug/files/patch-uif.c
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
--- uif.c.orig Mon Nov 8 22:40:57 2010
|
||||||
|
+++ uif.c Thu Dec 2 13:05:36 2010
|
||||||
|
@@ -25,7 +25,9 @@
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <termios.h>
|
||||||
|
|
||||||
|
+#if defined(__linux__)
|
||||||
|
#include <linux/serial.h>
|
||||||
|
+#endif
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
@@ -33,7 +35,7 @@
|
||||||
|
#include "util.h"
|
||||||
|
#include "output.h"
|
||||||
|
|
||||||
|
-#ifdef __APPLE__
|
||||||
|
+#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||||
|
#define B460800 460800
|
||||||
|
#define B500000 500000
|
||||||
|
#endif
|
||||||
|
@@ -85,6 +87,7 @@ static void serial_destroy(transport_t tr_base)
|
||||||
|
free(tr);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(__linux__)
|
||||||
|
static int open_olimex_iso(const char *device)
|
||||||
|
{
|
||||||
|
int fd = open(device, O_RDWR | O_NOCTTY);
|
||||||
|
@@ -112,6 +115,7 @@ static int open_olimex_iso(const char *device)
|
||||||
|
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
transport_t uif_open(const char *device, uif_type_t type)
|
||||||
|
{
|
||||||
|
@@ -138,8 +142,12 @@ transport_t uif_open(const char *device, uif_type_t ty
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UIF_TYPE_OLIMEX_ISO:
|
||||||
|
+#if defined(__linux__)
|
||||||
|
printc("Trying to open Olimex (ISO) on %s...\n", device);
|
||||||
|
tr->serial_fd = open_olimex_iso(device);
|
||||||
|
+#else
|
||||||
|
+ printc_err("uif_open: ioctl TIOCSSERIAL not supported on this platform\n");
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
10
devel/mspdebug/files/patch-usbutil.c
Normal file
10
devel/mspdebug/files/patch-usbutil.c
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
--- usbutil.c.orig 2010-11-09 08:40:57.000000000 +1100
|
||||||
|
+++ usbutil.c 2011-01-23 20:53:11.561100726 +1100
|
||||||
|
@@ -17,6 +17,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "usbutil.h"
|
||||||
|
#include "util.h"
|
6
devel/mspdebug/pkg-descr
Normal file
6
devel/mspdebug/pkg-descr
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
MSPDebug is a free debugger for use with MSP430 MCUs. It supports
|
||||||
|
FET430UIF, eZ430, RF2500 and Olimex MSP-JTAG-TINY programmers. It can be
|
||||||
|
used as a proxy for gdb or as an independent debugger with support for
|
||||||
|
programming, disassembly and reverse engineering.
|
||||||
|
|
||||||
|
WWW: http://mspdebug.sourceforge.net/
|
Loading…
Add table
Reference in a new issue