From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from ptx.hi.pengutronix.de ([2001:6f8:1178:2:5054:ff:fec0:8e10] ident=Debian-exim) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1XF7zc-00008T-B1 for ptxdist@pengutronix.de; Wed, 06 Aug 2014 22:39:28 +0200 Received: from mgr by ptx.hi.pengutronix.de with local (Exim 4.80) (envelope-from ) id 1XF7zc-0004rk-9V for ptxdist@pengutronix.de; Wed, 06 Aug 2014 22:39:28 +0200 Date: Wed, 6 Aug 2014 22:39:28 +0200 From: Michael Grzeschik Message-ID: <20140806203928.GC5626@pengutronix.de> References: <20140613062433.GF23595@pengutronix.de> <1403895755-10643-1-git-send-email-m.grzeschik@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1403895755-10643-1-git-send-email-m.grzeschik@pengutronix.de> Subject: Re: [ptxdist] [PATCH v2] bare_metal: add libopencm3 support Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de Ping! This should be mergable now. :o) On Fri, Jun 27, 2014 at 09:02:35PM +0200, Michael Grzeschik wrote: > This patch adds support for the libopencm3 for bare metal > systems. With this library it is possible to build single > applications for cortexm3 companion systems, that > needs to be deployed with the bsp. > > Signed-off-by: Michael Grzeschik > --- > v1 -> v2 > - fixed description from "stellaris" to "cm3" > - used LIBOPENCM3_MAKE_OPT/_INSTALL_OPT where possible > - expanded PATH for shorter PREFIX > - used install instead of cp > - removed empty targetinstall stage > > rules/bare_metal.in | 7 +++++ > rules/bare_metal_cm3.in | 12 +++++++++ > rules/libopencm3.in | 11 ++++++++ > rules/libopencm3.make | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 102 insertions(+) > create mode 100644 rules/bare_metal_cm3.in > create mode 100644 rules/libopencm3.in > create mode 100644 rules/libopencm3.make > > diff --git a/rules/bare_metal.in b/rules/bare_metal.in > index 1292a34..e5c15c5 100644 > --- a/rules/bare_metal.in > +++ b/rules/bare_metal.in > @@ -6,3 +6,10 @@ menuconfig STELLARIS > if STELLARIS > source "generated/bare_metal_stellaris.in" > endif > + > +menuconfig OPENCM3 > + bool "OpenCM3 " > + > +if OPENCM3 > +source "generated/bare_metal_cm3.in" > +endif > diff --git a/rules/bare_metal_cm3.in b/rules/bare_metal_cm3.in > new file mode 100644 > index 0000000..b42c3d5 > --- /dev/null > +++ b/rules/bare_metal_cm3.in > @@ -0,0 +1,12 @@ > +## SECTION=bare_metal_cm3 > + > +config CM3_GNU_TARGET > + string > + prompt "cm3 gnu target" > + default "arm-cortexm3-eabi" > + help > + configure the cm3 gnu target > + > +config CM3_CC > + string > + default "${PTXCONF_CM3_GNU_TARGET}-gcc" > diff --git a/rules/libopencm3.in b/rules/libopencm3.in > new file mode 100644 > index 0000000..69276b7 > --- /dev/null > +++ b/rules/libopencm3.in > @@ -0,0 +1,11 @@ > +## SECTION=bare_metal_cm3 > + > +config LIBOPENCM3 > + tristate > + prompt "libopencm3" > + help > + The libopencm3 project (previously known as libopenstm32) aims > + to create a free/libre/open-source (LGPL v3, or later) firmware > + library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, > + including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, > + 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others. > diff --git a/rules/libopencm3.make b/rules/libopencm3.make > new file mode 100644 > index 0000000..ed8f984 > --- /dev/null > +++ b/rules/libopencm3.make > @@ -0,0 +1,72 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2013 by Michael Grzeschik > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +ifdef PTXCONF_LIBOPENCM3 > +ifneq ($(shell test -h $(PTXDIST_WORKSPACE)/selected_toolchain_cm3 && echo ok),ok) > + $(warning *** selected_toolchain_cm3 must point to a valid cortexm3 toolchain) > + $(error ) > +endif > +ifneq ($(shell test -x $(PTXDIST_WORKSPACE)/selected_toolchain_cm3/$(PTXCONF_CM3_CC) && echo ok),ok) > + $(warning *** $(PTXDIST_WORKSPACE)/selected_toolchain_cm3/$(PTXCONF_CM3_CC) not found) > + $(error ) > +endif > +endif > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_LIBOPENCM3) += libopencm3 > + > +# > +# Paths and names > +# > +LIBOPENCM3_VERSION := 67b538a5 > +LIBOPENCM3_MD5 := 7d40cc7bcd3a5e852d0b37572655b9b5 > +LIBOPENCM3 := libopencm3-$(LIBOPENCM3_VERSION) > +LIBOPENCM3_SUFFIX := tar.bz2 > +LIBOPENCM3_URL := https://github.com/libopencm3/libopencm3.git;tag=67b538a5 > +LIBOPENCM3_SOURCE := $(SRCDIR)/$(LIBOPENCM3).$(LIBOPENCM3_SUFFIX) > +LIBOPENCM3_DIR := $(BUILDDIR)/$(LIBOPENCM3) > +LIBOPENCM3_LICENSE := LGPLv3+ > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +LIBOPENCM3_PATH := \ > + PATH=$(PATH):$(PTXDIST_WORKSPACE)/selected_toolchain_cm3 > + > +LIBOPENCM3_MAKE_OPT := \ > + PREFIX=$(PTXCONF_CM3_GNU_TARGET) > + > +LIBOPENCM3_INSTALL_OPT := \ > + $(LIBOPENCM3_MAKE_OPT) > + > +# ---------------------------------------------------------------------------- > +# Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/libopencm3.install: > + @$(call targetinfo) > + > +# # install static libraries > + cd $(LIBOPENCM3_DIR) && \ > + for i in lib/*.a; do \ > + install -D -m644 $$i $(PTXDIST_PLATFORMDIR)/sysroot-cm3/$$i; \ > + done > + > +# # install header files > + cd $(LIBOPENCM3_DIR) && \ > + for i in `find . -name "*.h"`; do \ > + install -D -m644 $$i $(PTXDIST_PLATFORMDIR)/sysroot-cm3/$$i; \ > + done > + @$(call touch) > + > +# vim: syntax=make > -- > 2.0.0 > > > -- > ptxdist mailing list > ptxdist@pengutronix.de > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de