forked from Imagelibrary/rtems
I discovered that when specifying -m68000 and -msoft-float to gcc 2.95.2, it decides that the proper multilib variant is the default one which is compiled for the m68020 and hardware floating point. This appears to be because there is no 68000/soft-float library variant. This problem applies to all m68000 class CPUs options including -m68302.
107 lines
2.8 KiB
INI
107 lines
2.8 KiB
INI
#
|
|
# Config file for a "ODS 68302" BSP
|
|
#
|
|
# Differs from the gen68302 by providing most of the boot code as C
|
|
# code. This allows separate board definitions to be based on C
|
|
# header files. The file is based on the VARIANT defined.
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
|
|
|
RTEMS_CPU=m68k
|
|
RTEMS_CPU_MODEL=m68302
|
|
|
|
# This is the actual bsp directory used during the build process.
|
|
RTEMS_BSP_FAMILY=ods68302
|
|
|
|
#
|
|
# This contains the compiler options necessary to select the CPU model
|
|
# and (hopefully) optimize for it.
|
|
#
|
|
# 68000+softfloat results in gcc 2.95.2 giving default libraries.
|
|
# CPU_CFLAGS = -m68302 -msoft-float
|
|
CPU_CFLAGS = -m68302
|
|
CPU_DEFINES = \
|
|
-DVARIANT=$(BSP_VARIANT) -DMC68302_BASE=$(MC68302_BASE) \
|
|
-DRAM_BASE=$(RAM_BASE) -DRAM_SIZE=$(RAM_SIZE) \
|
|
-DROM_BASE=$(ROM_BASE) -DROM_SIZE=$(ROM_SIZE)
|
|
|
|
# optimize flag: typically -0, could use -O4 or -fast
|
|
# -O4 is ok for RTEMS
|
|
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
|
|
|
|
# debugging please
|
|
CFLAGS_DEBUG_V =
|
|
|
|
# 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)
|
|
|
|
# override default location of Standard C Library
|
|
LIBC_LIBC=$(RTEMS_LIBC_DIR)/lib/m68000/libc.a
|
|
LIBC_LIBM=$(RTEMS_LIBC_DIR)/lib/m68000/libm.a
|
|
|
|
define make-exe
|
|
$(LD) $(LDFLAGS) -N -Ttext $(ROM_BASE) \
|
|
-defsym MC68302_BASE=$(MC68302_BASE) \
|
|
-T $(LINKCMDS) -o $(basename $@).exe \
|
|
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
|
|
$(NM) -g -n $(basename $@).exe > $(basename $@).num
|
|
$(SIZE) $(basename $@).exe
|
|
endef
|
|
else
|
|
define make-exe
|
|
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) \
|
|
-Wl,-defsym -Wl,MC68302_BASE=$(MC68302_BASE) \
|
|
-o $@ \
|
|
$(LINK_OBJS) $(LINK_LIBS)
|
|
$(NM) -g -n $@ > $(basename $@).num
|
|
$(SIZE) $@
|
|
endef
|
|
endif
|
|
# Miscellaneous additions go here
|
|
|
|
ifeq "$(strip $(BSP_VARIANT))" ""
|
|
BSP_VARIANT=bare
|
|
MC68302_BASE=0x00700000
|
|
RAM_BASE=0x00000000
|
|
RAM_SIZE=0x00100000
|
|
|
|
ifeq ($(RTEMS_DEBUGGER),yes)
|
|
ROM_BASE=0x00010000
|
|
LINKCMDS=$(PROJECT_RELEASE)/lib/debugrom
|
|
else
|
|
ROM_BASE=0x00C00000
|
|
LINKCMDS=$(PROJECT_RELEASE)/lib/rom
|
|
endif
|
|
|
|
ROM_SIZE=0x00100000
|
|
|
|
else
|
|
|
|
# pattern match the variant to set the memory map
|
|
|
|
endif
|