From 1a98a0d66ac861c2f724dbed9ca3f0628252e9a1 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 9 Nov 2001 00:08:13 +0000 Subject: 2001-11-08 Dennis Ehlin (ECS) This modification is part of the submitted modifications necessary to support the IBM PPC405 family. This submission was reviewed by Thomas Doerfler who ensured it did not negatively impact the ppc403 BSPs. The submission and tracking process was captured as PR50. * custom/gen405.cfg: New file. * custom/helas403.cfg: Modified to generate Srecords. --- make/custom/gen405.cfg | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 make/custom/gen405.cfg (limited to 'make/custom/gen405.cfg') diff --git a/make/custom/gen405.cfg b/make/custom/gen405.cfg new file mode 100644 index 0000000000..5e7c81416b --- /dev/null +++ b/make/custom/gen405.cfg @@ -0,0 +1,85 @@ +# +# Config file for a generic PowerPC 405 based card +# +# $Id$ +# +# this is derived from: +# +# Config file for a PowerPC 403 based helas403 card +# +# Id: helas403.cfg,v 1.8 2000/07/13 15:05:38 joel Exp +# +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=powerpc +RTEMS_CPU_MODEL=ppc405 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=gen405 + +# This section makes the target dependent options file. + +# PPC_VECTOR_FILE_BASE (PowerPC) +# This defines the base address of the exception table. +# NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100 +# +# PPC_USE_SPRG (RTEMS PowerPC port) +# If defined, then the PowerPC specific code in RTEMS will use some +# of the special purpose registers to slightly optimize interrupt +# response time. The use of these registers can conflict with +# other tools like debuggers. + +define make-target-options + @echo "#define PPC_VECTOR_FILE_BASE 0x0100" >>$@ + @echo "#define PPC_USE_SPRG 1" >>$@ +endef + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = -mcpu=403 -D__powerpc__ + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +# NOTE: some level of -O may be actually required by inline assembler +CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions -g + + +# No start file +START_BASE= + +# 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) +# The --defsym arguments define arguments which are required by the linkcmds +# file which is designed for gcc 2.8 +define make-exe + $(LD) $(XLDFLAGS) -T $(LINKCMDS) \ + --defsym __fini=0 --defsym __init=0 \ + -o $@ -u atexit -u __vectors -u download_entry \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +else +define make-exe + $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS) + $(OBJCOPY) -O srec --srec-len 120 $(basename $@).exe $(basename $@).srec + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +endif + +define make-cxx-exe + $(LINK.c) $(AM_CFLAGS) $(AM_CXXFLAGS) $(AM_LDFLAGS) -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS) + $(OBJCOPY) -O srec --srec-len 120 $(basename $@).exe $(basename $@).srec + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef + +# Miscellaneous additions go here + -- cgit v1.2.3