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.
This commit is contained in:
Joel Sherrill
2001-05-25 16:34:14 +00:00
parent 332484b52e
commit e9b4274ab2

93
make/custom/mrm332.cfg Normal file
View File

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