forked from Imagelibrary/rtems
BSP for Vista Score603e added.
This commit is contained in:
156
make/custom/score603e.cfg
Normal file
156
make/custom/score603e.cfg
Normal file
@@ -0,0 +1,156 @@
|
||||
#
|
||||
# Config file for a PowerPC 603e based Vista VMEbus Single Board Computer.
|
||||
# This BSP should work with the following models:
|
||||
#
|
||||
# + Vista SCORE 603e
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
RTEMS_CPU=ppc
|
||||
RTEMS_CPU_MODEL=ppc603e
|
||||
|
||||
# Set the default generation if it has not been overridden
|
||||
ifeq ($(SCORE603E_GENERATION),)
|
||||
SCORE603E_GENERATION=2
|
||||
endif
|
||||
|
||||
|
||||
# This is the actual bsp directory used during the build process.
|
||||
|
||||
RTEMS_BSP_FAMILY=score603e
|
||||
|
||||
ifeq ($(SCORE603E_GENERATION),1)
|
||||
RTEMS_BSP=score603e_g1
|
||||
|
||||
else
|
||||
ifeq ($(SCORE603E_GENERATION),2)
|
||||
RTEMS_BSP=score603e
|
||||
|
||||
endif # generation 2
|
||||
endif # generation 1
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||
|
||||
# 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
|
||||
#
|
||||
# STACK_CHECKER_ON (RTEMS support code)
|
||||
# If defined, stack bounds checking is enabled.
|
||||
#
|
||||
# STACK_CHECKER_REPORT_USAGE (RTEMS support code)
|
||||
# If this and STACK_CHECKER_ON are defined, then a report on stack usage
|
||||
# per task is printed when the program exits.
|
||||
#
|
||||
# RTEMS_DEBUG (RTEMS)
|
||||
# If defined, debug checks in RTEMS and support library code are enabled.
|
||||
#
|
||||
# CONSOLE_USE_POLLED (score603e_bsp)
|
||||
# CONSOLE_USE_INTERRUPTS (score603e_bsp)
|
||||
# The score603e console driver has the structure to operate in either
|
||||
# polled or interrupt mode. However both modes only trap to the
|
||||
# monitor currently.
|
||||
#
|
||||
# SCORE603E_USE_SDS (score603e_bsp)
|
||||
# SCORE603E_USE_OPEN_FIRMWARE (score603e_bsp)
|
||||
# SCORE603E_USE_NONE (score603e_bsp)
|
||||
# The Score603e board can be configured with 3 ROM monitors. Only two
|
||||
# are appropriate for use with RTEMS. Set exactly one of these to "1"
|
||||
# to indicate which ROM monitor is on the board you are using.
|
||||
#
|
||||
# PPC_VECTOR_FILE_BASE (ppc)
|
||||
# This defines the base address of the exception table.
|
||||
# NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
|
||||
#
|
||||
# PPC_ABI (ppc)
|
||||
# This defines the calling convention (Application Binary Interface)
|
||||
# used in this configuration. EABI is the only one supported.
|
||||
#
|
||||
# PPC_ASM (ppc)
|
||||
# This defines the assembly language format used in this configuration.
|
||||
# ELF is the only one supported.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# PPC_USE_DATA_CACHE (RTEMS PowerPC port)
|
||||
# If defined, then the PowerPC specific code in RTEMS will use
|
||||
# data cache instructions to optimize the context switch code.
|
||||
# This code can conflict with debuggers or emulators.
|
||||
#
|
||||
|
||||
define make-target-options
|
||||
@echo "/* #define NDEBUG 1 */ " >>$@
|
||||
@echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
|
||||
@echo "#define STACK_CHECKER_ON 1" >>$@
|
||||
@echo "#define STACK_CHECKER_REPORT_USAGE 1" >>$@
|
||||
@echo "/* #define RTEMS_DEBUG 1 */" >>$@
|
||||
@echo "#define CONSOLE_USE_INTERRUPTS 0" >>$@
|
||||
@echo "#define INITIALIZE_COM_PORTS 1" >>$@
|
||||
@echo "#define SCORE603E_GENERATION $(SCORE603E_GENERATION)" >>$@
|
||||
@echo "#define SCORE603E_USE_SDS 0" >>$@
|
||||
@echo "#define SCORE603E_USE_NONE 0" >>$@
|
||||
@echo "#define SCORE603E_USE_DINK 1" >>$@
|
||||
@echo "#define SCORE603E_USE_OPEN_FIRMWARE 0" >>$@
|
||||
@echo "#define PPC_USE_DATA_CACHE 0" >>$@
|
||||
@echo "#define PPC_VECTOR_FILE_BASE 0x0100" >>$@
|
||||
@echo "#define PPC_ABI PPC_ABI_EABI" >>$@
|
||||
@echo "#define PPC_ASM PPC_ASM_ELF" >>$@
|
||||
@echo "#define PPC_USE_SPRG 0" >>$@
|
||||
@echo "#define HAS_PMC_PSC8 0" >>$@
|
||||
endef
|
||||
|
||||
# This contains the compiler options necessary to select the CPU model
|
||||
# and (hopefully) optimize for it.
|
||||
#
|
||||
CPU_CFLAGS = -mcpu=603
|
||||
|
||||
# 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
|
||||
# CFLAGS_OPTIMIZE_V=-O0
|
||||
|
||||
# This target does not support the ka9q tcp/ip stack so ignore requests
|
||||
# to enable it.
|
||||
HAS_NETWORKING=no
|
||||
|
||||
# The following is a linkcmds file which will work without using the
|
||||
# -specs system in gcc 2.8.
|
||||
# $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
|
||||
# -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
|
||||
# $(LD) $(XLDFLAGS) -Ttext 0x20000 \
|
||||
# -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
|
||||
|
||||
ifeq ($(RTEMS_USE_GCC272),yes)
|
||||
define make-exe
|
||||
@echo gcc 2.7.2 style linking not supported by score603e
|
||||
@exit 1
|
||||
endef
|
||||
else
|
||||
define make-exe
|
||||
$(CC) $(CFLAGS) -o $(basename $@).elf $(LINK_OBJS) $(LINK_LIBS)
|
||||
$(NM) -g -n $(basename $@).elf > $(basename $@).num
|
||||
$(SIZE) $(basename $@).elf
|
||||
$(OBJCOPY) -O srec $(basename $@).elf $(basename $@).s1
|
||||
sed -e 's/.$$//' $(basename $@).s1 | \
|
||||
$(PROJECT_TOOLS)/packhex >$(basename $@).exe
|
||||
rm -f $(basename $@).s1
|
||||
endef
|
||||
endif
|
||||
|
||||
# Miscellaneous additions go here
|
||||
|
||||
# No start file
|
||||
START_BASE=
|
||||
|
||||
DRIVER_ARCHITECTURE=vmebus
|
||||
Reference in New Issue
Block a user