source: rtems/make/custom/dmv177.cfg @ effc2c4

Last change on this file since effc2c4 was effc2c4, checked in by Joel Sherrill <joel.sherrill@…>, on 04/03/00 at 14:44:39

Patch rtems-rc-4.5.0-6-cvs.diff from Ralf Corsepius <corsepiu@…>.
The patch contains:

  • build variants support
  • Reworked make-exe custom/*.cfg for all targets (Should be self-explanatory, may still be incomplete)
  • Several fixes to custom/*.cfgs related to setting debug flags
  • Fixes to some bsp_specs for BSPs which apparently have never been build with debugging before ;)
  • pc386.cfg fix attempts (cf. my mail from earlier today)
  • Updated ampolish (No need to run it, the patch contains the result from having applied it)

Known bugs/deficiencies related to this work:

  • "make [clean|distclean]" support is still incomplete (e.g. "make clean" does not delete all Depends-o-*)
  • Completely untested for linux/posix and hppa.
  • Build failures of i960 BSPs (make VARIANT=DEBUG) - I guess, they are not related to this patch.
  • Successfully tested for all sh, sparc, i386, ppc, m68k BSPs (make VARIANT=DEBUG)
  • make VARIANT=PROFILE not supported by all BSPs (I don't care :)
  • make VARIANT=DEBUG failures below tests/ for some BSPs (e.g. gensh1), because of the tests's binaries being too large to fit into the target memory layout.
  • Property mode set to 100644
File size: 4.6 KB
RevLine 
[9c559acc]1#
2#  Config file for a PowerPC 603e based DY-4 VMEbus Single Board Computer.
3#  This BSP should work with the following models:
4#
5#     + SVME-171/DMV-171
6#     + SVME-176/DMV-176
7#
8#  $Id$
9#
10
[dc104a4]11include $(RTEMS_ROOT)/make/custom/default.cfg
[9c559acc]12
[dc104a4]13RTEMS_CPU=powerpc
[9c559acc]14RTEMS_CPU_MODEL=ppc603e
15
16# This is the actual bsp directory used during the build process.
[dc104a4]17RTEMS_BSP_FAMILY=dmv177
[9c559acc]18
19#  This section makes the target dependent options file.
20
21#  NDEBUG (C library)
22#     if defined asserts do not generate code.  This is commonly used
23#     as a command line option.
24#
25#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
26#     do not pause between screens of output in the rtems tests
27#
28#  RTEMS_DEBUG (RTEMS)
29#     If defined, debug checks in RTEMS and support library code are enabled.
30#
31#  CONSOLE_USE_POLLED     (psim_bsp)
32#  CONSOLE_USE_INTERRUPTS (psim_bsp)
33#     The psim console driver has the structure to operate in either
34#     polled or interrupt mode.  However both modes only trap to the
35#     monitor currently.
36#
37#  PPC_VECTOR_FILE_BASE (ppc)
38#     This defines the base address of the exception table.
39#     NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
40#
41#  PPC_ABI (ppc)
42#     This defines the calling convention (Application Binary Interface)
43#     used in this configuration.  EABI is the only one supported.
44#
45#  PPC_ASM (ppc)
46#     This defines the assembly language format used in this configuration.
47#     ELF is the only one supported.
48#
[dc104a4]49#  PPC_USE_SPRG (RTEMS PowerPC port)
50#     If defined, then the PowerPC specific code in RTEMS will use some
51#     of the special purpose registers to slightly optimize interrupt
52#     response time.  The use of these registers can conflict with
53#     other tools like debuggers.
[e5727f39]54#
[2caa006]55#  PPC_USE_DATA_CACHE (RTEMS PowerPC port/BSP)
[e5727f39]56#     If defined, then the PowerPC specific code in RTEMS will use
57#     data cache instructions to optimize the context switch code.
[2caa006]58#     This code can conflict with debuggers or emulators.  It is known
59#     to break the Corelis PowerPC emulator with at least some combinations
60#     of PowerPC 603e revisions and emulator versions.
61#     The BSP actually contains the call that enables this.
62#
63#  PPC_USE_INSTRUCTION_CACHE (RTEMS PowerPC port/BSP)
64#     If defined, then the PowerPC specific code in RTEMS will use
65#     data cache instructions to optimize the context switch code.
66#     This code can conflict with debuggers or emulators.
67#     The BSP actually contains the call that enables this.
[9c559acc]68
69define make-target-options
70        @echo "/* #define NDEBUG 1 */ "                            >>$@
71        @echo "#define RTEMS_TEST_NO_PAUSE 1"                      >>$@
72        @echo "/* #define RTEMS_DEBUG  1 */"                       >>$@
[db29826d]73        @echo "#define CONSOLE_USE_INTERRUPTS 0"                   >>$@
[c32555c]74        @echo "#define CONSOLE_USE_POLLED !CONSOLE_USE_INTERRUPTS" >>$@
[9c559acc]75        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"                >>$@
76        @echo "#define PPC_ABI PPC_ABI_EABI"                       >>$@
77        @echo "#define PPC_ASM PPC_ASM_ELF"                        >>$@
[25e3f9a]78        @echo "#define PPC_USE_SPRG 0"                             >>$@
[e5727f39]79        @echo "#define PPC_USE_DATA_CACHE 0"                       >>$@
[2caa006]80        @echo "#define PPC_USE_INSTRUCTION_CACHE 1"                >>$@
[9c559acc]81endef
82
83#  This contains the compiler options necessary to select the CPU model
84#  and (hopefully) optimize for it.
85#
86CPU_CFLAGS = -mcpu=603
87
88# optimize flag: typically -0, could use -O4 or -fast
89# -O4 is ok for RTEMS
90# NOTE: some level of -O may be actually required by inline assembler
91CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
92
[032c100]93# Define this to yes if this target supports a real-time clock.
94HAS_RTC=yes
[dc104a4]95
[e5727f39]96# The following is a ld command file which works without using the
97# -specs system in gcc 2.8.  IT HAS NEVER BEEN TESTED WITH THIS BSP!!!
[9c559acc]98#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
99#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
100#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
101#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
102
103#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
104#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
105#            $(START_FILE) $(LINK_OBJS) \
106#            $(LD_LIBS) \
107#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
108define make-exe
[effc2c4]109        $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) \
[54d3d1e]110            -o $(basename $@).nxe $(LINK_OBJS) $(LINK_LIBS)
[9c559acc]111        $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
112        $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
[011677f]113            $(PACKHEX) > $(basename $@).exe
[9c559acc]114        $(NM) -g -n $(basename $@).nxe > $(basename $@).num
115        $(SIZE) $(basename $@).nxe
[d7d51376]116        $(STRIP) $(basename $@).nxe
[9c559acc]117endef
118
119# Miscellaneous additions go here
120
[dc104a4]121# Let the HWAPI know which set of drivers to build
[9c559acc]122DRIVER_ARCHITECTURE=vmebus
Note: See TracBrowser for help on using the repository browser.