Commit 9e01ef80 authored by lev's avatar lev
Browse files

New port: GCC toolchain for TI's MSP430 microcontrollers.

 It is official open-source release, prepared for TI by RedHat.

 Old "mspgcc" ports, which were made obsolete almost year ago, are marked
 as DEPRECATED.
parent fae55974
......@@ -563,6 +563,7 @@
SUBDIR += gazpacho
SUBDIR += gb
SUBDIR += gcc-arm-embedded
SUBDIR += gcc-msp430-ti-toolchain
SUBDIR += gccmakedep
SUBDIR += gconf2
SUBDIR += gconf2-reference
......
# $FreeBSD$
PORTNAME= gcc-msp430-ti-toolchain
PORTVERSION= ${GCC_VERSION}.${TI_VERSION}.${RELEASE_DATE}
CATEGORIES= devel
MASTER_SITES= http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/${TI_VERSION:S/./_/g}/exports/ \
http://www.ti.com/lit/ml/slau591a/:docs
DISTFILES= msp430-gcc-source.tar.bz2 \
msp430-gcc-support-files.zip \
slau591a.pdf:docs
DIST_SUBDIR= mspgcc${TI_VERSION}
EXTRACT_ONLY= msp430-gcc-source.tar.bz2 \
msp430-gcc-support-files.zip
MAINTAINER= lev@FreeBSD.org
COMMENT= Complete gcc-based toolcahin for TI MSP430 uC
LICENSE= GPLv2 LGPL20 LGPL21 GPLv3 LGPL3
LICENSE_COMB= multi
BUILD_DEPENDS= expect:${PORTSDIR}/lang/expect
USES= bison compiler cpe gmake iconv libtool makeinfo tar:bzip2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --target=${TARGET} \
--enable-languages=c,c++ \
--disable-nls
GNU_CONFIGURE_PREFIX= ${PREFIX}/${SUBPREFIX}
USE_CSTD= gnu89
MAKE_JOBS_UNSAFE= yes
GCC_VERSION= 4.9.1
TI_VERSION= 3.05.00.00
RELEASE_DATE= 20150915
TARGET= msp430-elf
CPE_PRODUCT= gcc
CPE_VENDOR= gnu
CPE_VERSION= ${GCC_VERSION}
WRKSRC= ${WRKDIR}/sources/tools
CONFIGURE_WRKSRC=${WRKDIR}/build
CONFIGURE_SCRIPT=../sources/tools/configure
BUILD_WRKSRC= ${WRKDIR}/build
INSTALL_WRKSRC= ${WRKDIR}/build
SUBPREFIX= ${PORTNAME}-${TI_VERSION}
MANPREFIX= ${GNU_CONFIGURE_PREFIX}
DOCSDIR= ${GNU_CONFIGURE_PREFIX}/docs
PLIST_SUB+= TARGET=${TARGET} GCC_VERSION=${GCC_VERSION} \
TI_VERSION=${TI_VERSION}
UNNEEDED_HOST_FILES= lib/lib${TARGET}-sim.a lib/libtcl8.4.a \
lib/libtclstub8.4.a lib/libtk8.4.a \
lib/libtkstub8.4.a lib/tclConfig.sh \
lib/tkConfig.sh lib/itclConfig.sh \
lib/itcl3.3/libitclstub3.3.a
UNNEEDED_HOST_DIRS= include info man share
pre-extract:
@${MKDIR} ${BUILD_WRKSRC}
post-stage:
@${ECHO_MSG} "Remove unneeded host files..."
@for f in ${UNNEEDED_HOST_FILES} ; do \
${RM} "${STAGEDIR}${GNU_CONFIGURE_PREFIX}/$$f" ; \
done
@for f in ${UNNEEDED_HOST_DIRS} ; do \
${RM} -rf "${STAGEDIR}${GNU_CONFIGURE_PREFIX}/$$f" ; \
done
@${ECHO_MSG} "Install devices' headers and linker scripts..."
@${MKDIR} ${STAGEDIR}${GNU_CONFIGURE_PREFIX}/include
cd ${WRKDIR}/msp430-gcc-support-files && \
${TAR} cf - . | ${TAR} xf - -C ${STAGEDIR}${GNU_CONFIGURE_PREFIX}/include
@${ECHO_MSG} "Install minimal documentation..."
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${DISTDIR}/${DIST_SUBDIR}/slau591a.pdf \
${STAGEDIR}${DOCSDIR}/slau591a.pdf
${INSTALL_MAN} ${FILESDIR}/watchdog.txt \
${STAGEDIR}${DOCSDIR}/watchdog.txt
.include <bsd.port.mk>
SHA256 (mspgcc3.05.00.00/msp430-gcc-source.tar.bz2) = d2110ec64e8a055ff89b7eef8217b3c233c30e370e2cb43e1ad835dad5907d1c
SIZE (mspgcc3.05.00.00/msp430-gcc-source.tar.bz2) = 121889576
SHA256 (mspgcc3.05.00.00/msp430-gcc-support-files.zip) = 1e2a0903e6b02d5e8aac2a7297ec0685e95a980b13b937b5c7f24f4cf6015407
SIZE (mspgcc3.05.00.00/msp430-gcc-support-files.zip) = 18688759
SHA256 (mspgcc3.05.00.00/slau591a.pdf) = a4d4432006c4f20769e9f955caf8b4315eb5989eae84010245e4d3ea8018a06e
SIZE (mspgcc3.05.00.00/slau591a.pdf) = 43566
--- itcl/itcl/Makefile.in.orig 2012-10-18 00:51:07 UTC
+++ itcl/itcl/Makefile.in
@@ -73,8 +73,6 @@ datadir = @datadir@
mandir = @mandir@
includedir = @includedir@
-DESTDIR =
-
PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION)
pkgdatadir = $(datadir)/$(PKG_DIR)
pkglibdir = $(libdir)/$(PKG_DIR)
--- itcl/itk/Makefile.in.orig 2012-10-18 00:51:08 UTC
+++ itcl/itk/Makefile.in
@@ -92,8 +92,6 @@ datadir = @datadir@
mandir = @mandir@
includedir = @includedir@
-DESTDIR =
-
PKG_DIR = $(PACKAGE_NAME)$(PACKAGE_VERSION)
pkgdatadir = $(datadir)/$(PKG_DIR)
pkglibdir = $(libdir)/$(PKG_DIR)
--- itcl/iwidgets/Makefile.in.orig 2012-10-18 00:51:08 UTC
+++ itcl/iwidgets/Makefile.in
@@ -36,7 +36,7 @@ bindir = @bindir@
# to be different than those used for actually reference files at
# run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
# when installing files.
-INSTALL_ROOT =
+INSTALL_ROOT = $(DESTDIR)
# Path name to use when installing library scripts:
SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/lib/iwidgets$(IWIDGETS_VERSION)
@@ -124,7 +124,7 @@ test:
install-libraries:
@$(MKINSTALLDIRS) $(SCRIPT_INSTALL_DIR) $(LIB_INSTALL_DIR)
@rm -f $(LIB_INSTALL_DIR)/iwidgets
- $(LN_S) $(SCRIPT_INSTALL_DIR) $(LIB_INSTALL_DIR)/iwidgets
+ $(LN_S) iwidgets$(IWIDGETS_VERSION) $(LIB_INSTALL_DIR)/iwidgets
@$(MKINSTALLDIRS) $(SCRIPT_INSTALL_DIR)/scripts
@echo "Installing source files from $(GENERIC_DIR) into $(SCRIPT_INSTALL_DIR)"
@for i in $(GENERIC_DIR)/*.itk $(GENERIC_DIR)/*.itcl $(GENERIC_DIR)/tclIndex $(GENERIC_DIR)/*.gif ; \
--- libgloss/Makefile.in.orig 2011-03-25 11:34:28 UTC
+++ libgloss/Makefile.in
@@ -13,7 +13,6 @@
# they apply.
#
-DESTDIR =
VPATH = @srcdir@
srcdir = @srcdir@
objdir = .
--- libgloss/msp430/Makefile.in.orig 2014-12-10 13:01:36 UTC
+++ libgloss/msp430/Makefile.in
@@ -157,11 +157,11 @@ write.o : $(SDEPS)
install: $(CRT) $(SIM_BSP) $(LIBNOSYS) $(LIB_CRT) $(SCRIPTS)
for c in $(CRT) $(SIM_BSP) $(LIBNOSYS) $(LIB_CRT); do \
- $(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$c ;\
+ $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$c ;\
done
for c in $(SCRIPTS); do \
b=`basename $$c`; \
- $(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$b ;\
+ $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$b ;\
done
clean mostlyclean:
--- tcl/unix/Makefile.in.orig 2012-04-18 00:36:36 UTC
+++ tcl/unix/Makefile.in
@@ -38,7 +38,7 @@ mandir = @mandir@
# to be different than those used for actually reference files at
# run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
# when installing files.
-INSTALL_ROOT =
+INSTALL_ROOT = $(DESTDIR)
# Path for the platform independent Tcl scripting libraries:
# REDHAT LOCAL
--- tk/unix/Makefile.in.orig 2012-04-18 00:37:08 UTC
+++ tk/unix/Makefile.in
@@ -41,7 +41,7 @@ mandir = @mandir@
# to be different than those used for actually reference files at
# run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix
# when installing files.
-INSTALL_ROOT =
+INSTALL_ROOT = $(DESTDIR)
# Directory from which applications will reference the library of Tcl
# scripts (note: you can set the TK_LIBRARY environment variable at
Watchdog Timers and Init Code
A change has been made to the start-up code: the code to
disable the watchdog timer has been removed. The code was
in the start-up sequence because it was found that for some
large applications the watchdog timer would trigger whilst
the start-up was happening - ie before main() was reached.
The problem with the disabling code was that the address of
the watchdog timer was hard-coded in the instruction
sequence, which meant that it did not work on MCUs that
used a different address. Rather than try to provide some
complicated, MCU specific, mechanism for disabling the timer
during start-up it was decided to simply remove the code
instead. For most applications this should suffice. If
however an application does need to disable the watchdog
timer during start-up, it can add this function to its code
base:
#include <msp430.h>
static void __attribute__((naked, section(".crt_0042"), used))
disable_watchdog (void)
{
WDTCTL = WDTPW | WDTHOLD;
}
Note - this method can be used to insert *any* commands
into the start-up sequence, not just watchdog timer
disabling code. Also if the number in .crt_0042 is
reduced, the code will execute earlier in the start-up
sequence. If it is increased it will execute later in
the start-up sequence.
TI & RedHat toolchain for TI's msp430 MCUs cross-development
This brings the gcc compiler for the Texas Instruments MSP430 16-bit
RISC-like family of microcontrollers.
WWW: http://www.ti.com/tool/msp430-gcc-opensource
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -21,6 +21,9 @@ COMMENT= GNU binutils for TI's msp430 MCUs cross-development
LICENSE= GPLv3
DEPRECATED= Obsolete. Please, use devel/gcc-msp430-ti-toolchain
EXPIRATION_DATE= 2016-01-08
BINUTILVERSION= 2.21.1a
LTSVERSION= 20120406
PATCHVERSION= 20120406
......
......@@ -23,6 +23,9 @@ COMMENT= FSF GCC 4.6 for TI's msp430 MCUs cross-development
LICENSE= GPLv3
DEPRECATED= Obsolete. Please, use devel/gcc-msp430-ti-toolchain
EXPIRATION_DATE= 2016-01-08
BUILD_DEPENDS= ${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils \
${PKGNAMEPREFIX}ld:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils
RUN_DEPENDS= ${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils \
......
......@@ -16,6 +16,9 @@ COMMENT= FSF GDB for TI's msp430 MCUs cross-development
LICENSE= GPLv3
DEPRECATED= Obsolete. Please, use devel/gcc-msp430-ti-toolchain
EXPIRATION_DATE= 2016-01-08
GDBVERSION= 7.2
LTSVERSION= 20110716
PATCHVERSION= 20110103
......
......@@ -19,6 +19,9 @@ COMMENT= Libc for TI's msp430 MCUs cross-development
LICENSE= BSD2CLAUSE BSD3CLAUSE BSD4CLAUSE
LICENSE_COMB= multi
DEPRECATED= Obsolete. Please, use devel/gcc-msp430-ti-toolchain
EXPIRATION_DATE= 2016-01-08
BUILD_DEPENDS= ${LOCALBASE}/${LIBCTARGET}/include/${LIBCTARGET}.h:${PORTSDIR}/devel/${LIBCTARGET}mcu \
${PKGNAMEPREFIX}gcc:${PORTSDIR}/devel/${PKGNAMEPREFIX}gcc
RUN_DEPENDS= ${LOCALBASE}/${LIBCTARGET}/include/${LIBCTARGET}.h:${PORTSDIR}/devel/${LIBCTARGET}mcu \
......
......@@ -18,6 +18,9 @@ COMMENT= Header files for TI's msp430 MCUs cross-development
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
DEPRECATED= Obsolete. Please, use devel/gcc-msp430-ti-toolchain
EXPIRATION_DATE= 2016-01-08
LTSVERSION= 20120406
MCUVERSION= 20120406
MCUTARGET= msp430
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment