summaryrefslogtreecommitdiffstats
path: root/make/custom
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-05-25 16:34:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-05-25 16:34:14 +0000
commite9b4274ab2b3c2a8810a7bdb0c4437459db6ce0a (patch)
treedebf3ebce584b01464b90df2a1b27a41554b92a6 /make/custom
parent2000-05-25 Matt Cross <profesor@gweep.net> (diff)
downloadrtems-e9b4274ab2b3c2a8810a7bdb0c4437459db6ce0a.tar.bz2
2000-05-25 Matt Cross <profesor@gweep.net>
* New MRM332 BSP for the Mini RoboMind board based on the 68332 microcontroller designed and build by Mark Castelluccio. For details on the MRM see http://www.robominds.com. * .cvsignore, ChangeLog Makefile.am, README, bsp_specs, clock/.cvsignore, clock/Makefile.am, clock/ckinit.c, configure.in, console/.cvsignore, console/Makefile.am, console/console.c, include/.cvsignore, include/Makefile.am, include/bsp.h, include/mrm332.h, misc/dotests, misc/gdbinit68, misc/interr.c, spurious/.cvsignore, spurious/Makefile.am, spurious/spinit.c, start/.cvsignore, start/Makefile.am, start/start.c, startup/.cvsignore, startup/Makefile.am, startup/bspclean.c, startup/bspstart.c, startup/except_vect_332_ROM.S, startup/linkcmds, startup/linkcmds_ROM, timer/.cvsignore, timer/Makefile.am, timer/timer.c, times, wrapup/.cvsignore, wrapup/Makefile.am: Initial files.
Diffstat (limited to 'make/custom')
-rw-r--r--make/custom/mrm332.cfg93
1 files changed, 93 insertions, 0 deletions
diff --git a/make/custom/mrm332.cfg b/make/custom/mrm332.cfg
new file mode 100644
index 0000000000..c7938a16c3
--- /dev/null
+++ b/make/custom/mrm332.cfg
@@ -0,0 +1,93 @@
+#
+# Config file for the mrm332 BSP
+#
+# $Id$
+#
+
+include $(RTEMS_ROOT)/make/custom/default.cfg
+
+RTEMS_CPU=m68k
+RTEMS_CPU_MODEL=mcpu32
+
+# This is the actual bsp directory used during the build process.
+RTEMS_BSP_FAMILY=mrm332
+
+# This contains the compiler options necessary to select the CPU model
+# and (hopefully) optimize for it.
+CPU_CFLAGS = -mcpu32
+
+# optimize flag: typically -0, could use -O4 or -fast, -O4 is ok for RTEMS
+CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
+
+# This section makes the target dependent options file.
+# NDEBUG (C library)
+# if defined asserts do not generate code. This is commonly used
+# as a command line option.
+#
+# RTEMS_TEST_NO_PAUSE (RTEMS tests)
+# do not pause between screens of output in the rtems tests
+#
+# RTEMS_DEBUG (RTEMS)
+# If defined, debug checks in RTEMS and support library code are enabled.
+
+define make-target-options
+ @echo "/* #define NDEBUG 1 */ " >>$@
+ @echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
+ @echo "/* #define RTEMS_DEBUG 1 */" >>$@
+endef
+
+# The following are definitions of make-exe which will work using ld as
+# is currently required. It is expected that as of gcc 2.8, the end user
+# will be able to override parts of the compilers specs and link using gcc.
+
+ifeq ($(RTEMS_USE_GCC272),yes)
+define make-exe
+ $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).nxe \
+ $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
+ $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
+ $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
+ $(PACKHEX) > $(basename $@).exe
+ $(NM) -g -n $(basename $@).nxe > $(basename $@).num
+ $(SIZE) $(basename $@).nxe
+endef
+else
+ifeq ($(MRM_IN_ROM),yes)
+# Build a rommable image - move the .data section after the .text section
+# in the image.
+CPU_CFLAGS += -qnolinkcmds -T $(PROJECT_ROOT)/mrm332/lib/linkcmds_ROM
+
+define make-exe
+ $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).pxe \
+ $(LINK_OBJS) $(LINK_LIBS)
+ $(OBJCOPY) --adjust-section-vma \
+ .data=`m68k-rtems-objdump --section-headers $(basename $@).pxe | \
+ awk 'function h2d(x) { x=toupper(x); digits=length(x); s=0 ; \
+ for (p=digits; p>0; p--) \
+ s += (16^(p-1)) * ( index("0123456789ABCDEF",\
+ substr(x,1+digits-p,1)) -1 );\
+ return s } ;\
+ /\.text/ { base = $$4 ; size = $$3 };\
+ END { printf("0x%x", h2d(base) + h2d(size)) }'\
+ ` $(basename $@).pxe $(basename $@).nxe
+ $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
+ $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
+ $(PACKHEX) > $(basename $@).exe
+ $(NM) -g -n $(basename $@).pxe > $(basename $@).pnum
+ $(NM) -g -n $(basename $@).nxe > $(basename $@).num
+ $(SIZE) $(basename $@).nxe
+endef
+else
+define make-exe
+ $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).nxe \
+ $(LINK_OBJS) $(LINK_LIBS)
+ $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
+ $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
+ $(PACKHEX) > $(basename $@).exe
+ $(NM) -g -n $(basename $@).nxe > $(basename $@).num
+ $(SIZE) $(basename $@).nxe
+endef
+endif
+endif
+
+
+# Miscellaneous additions go here