From 4a238002e71ec018723229f8669363a5ffb7302e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 18 Nov 1999 21:22:58 +0000 Subject: Patch from "John M. Mills" with subsequent cleanup from Ralf Corsepius that adds initial Hitachi SH-2 support to RTEMS. Ralf's comments are: Changes: ------ 1. SH-Port: * Many files renamed. * CONSOLE_DEVNAME and MHZ defines removed from libcpu. * console.c moved to libbsp/sh/shared, build in libbsp/sh//console applying VPATH. * CONSOLE_DEVNAME made BSP-specific, replacement is defined in bsp.h * MHZ define replaced with HZ (extendent resolution) in custom/*.cfg * -DHZ=HZ used in bspstart.c, only * Makefile variable HZ used in bsp-dependent directories only. 2. SH1-Port * clock-driver rewritten to provide better resolution for odd CPU frequencies. This driver is only partially tested on hardware, ie. sightly experimental, but I don't expect severe problems with it. * Polling SCI-driver added. This driver is experimental and completly untested yet. Therefore it is not yet used for the console (/dev/console is still pointing to /dev/null, cf. gensh1/bsp.h). * minor changes to the timer driver * SH1 specific delay()/CPU_delay() now is implemented as a function 3. SH2-Port * Merged * IMO, the code is still in its infancy. Therefore I have interspersed comments (FIXME) it for items which I think John should look after. * sci and console drivers partially rewritten and extended (John, I hope you don't mind). * Copyright notices are not yet adapted --- make/custom/gensh2.cfg | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 make/custom/gensh2.cfg (limited to 'make/custom/gensh2.cfg') diff --git a/make/custom/gensh2.cfg b/make/custom/gensh2.cfg new file mode 100644 index 0000000000..a03f7a950c --- /dev/null +++ b/make/custom/gensh2.cfg @@ -0,0 +1,86 @@ +# +# gensh2.cfg +# +# default configuration for Hitachi sh1 processors +# +# Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) +# +# $Id$ +# + +HZ:=29491200 + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=sh +RTEMS_CPU_MODEL=sh7045 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=gensh2 + +# BSP specific preprocessor flags. +# These should only be used in BSP dependent directories. +BSP_CPPFLAGS=-DHZ=$(HZ) + +# +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS= -m2 + +# debug flags: typically none, but we use -O1 as it produces better code +CFLAGS_DEBUG_V = -O1 + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V = -O4 + +# 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. +# +# STANDALONE_EVB +# This switch compiles code to jump-start from FLASH, without a monitor +# + +define make-target-options + @echo "/* #define NDEBUG 1 */ " >>$@ + @echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@ + @echo "#define RTEMS_TEST_IO_STREAM 1" >>$@ + @echo "/* #define STANDALONE_EVB 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 -e _start \ + -T$(PROJECT_RELEASE)/lib/linkcmds\ + -o $(basename $@).exe \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +else +define make-exe + $(LINK.c) -Wl,-Map,$(basename $@).map \ + $(LDLIBS) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +endif + +# Miscellaneous additions go here -- cgit v1.2.3