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

4.104.114.84.95
Last change on this file since d7d51376 was d7d51376, checked in by Joel Sherrill <joel.sherrill@…>, on 07/09/98 at 18:52:07

Now strip elf executables so they are much smaller and quicker to
read from and write to a floppy.

  • Property mode set to 100644
File size: 4.2 KB
Line 
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
11include $(RTEMS_ROOT)/make/custom/default.cfg
12
13RTEMS_CPU=powerpc
14RTEMS_CPU_MODEL=ppc603e
15
16# This is the actual bsp directory used during the build process.
17RTEMS_BSP_FAMILY=dmv177
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#
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.
54#
55#  PPC_USE_DATA_CACHE (RTEMS PowerPC port)
56#     If defined, then the PowerPC specific code in RTEMS will use
57#     data cache instructions to optimize the context switch code.
58#     This code can conflict with debuggers or emulators.
59
60define make-target-options
61        @echo "/* #define NDEBUG 1 */ "                            >>$@
62        @echo "#define RTEMS_TEST_NO_PAUSE 1"                      >>$@
63        @echo "/* #define RTEMS_DEBUG  1 */"                       >>$@
64        @echo "#define CONSOLE_USE_INTERRUPTS 0"                   >>$@
65        @echo "#define CONSOLE_USE_POLLED ~CONSOLE_USE_INTERRUPTS" >>$@
66        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"                >>$@
67        @echo "#define PPC_ABI PPC_ABI_EABI"                       >>$@
68        @echo "#define PPC_ASM PPC_ASM_ELF"                        >>$@
69        @echo "#define PPC_USE_SPRG 1"                             >>$@
70        @echo "#define PPC_USE_DATA_CACHE 0"                       >>$@
71endef
72
73#  This contains the compiler options necessary to select the CPU model
74#  and (hopefully) optimize for it.
75#
76CPU_CFLAGS = -mcpu=603
77
78# optimize flag: typically -0, could use -O4 or -fast
79# -O4 is ok for RTEMS
80# NOTE: some level of -O may be actually required by inline assembler
81CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
82
83# Define this to yes if this target supports multiprocessor environments.
84HAS_MP=no
85
86# XXX temporary
87# This target does not support the ka9q tcp/ip stack so ignore requests
88# to enable it.
89HAS_KA9Q=no
90
91# The following is a ld command file which works without using the
92# -specs system in gcc 2.8.  IT HAS NEVER BEEN TESTED WITH THIS BSP!!!
93#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
94#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
95#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
96#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
97
98#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
99#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
100#            $(START_FILE) $(LINK_OBJS) \
101#            $(LD_LIBS) \
102#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
103define make-exe
104        $(CC) $(CFLAGS) -o $(basename $@).nxe $(LINK_OBJS)
105        $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
106        $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
107            $(PROJECT_TOOLS)/packhex > $(basename $@).exe
108        $(NM) -g -n $(basename $@).nxe > $(basename $@).num
109        $(SIZE) $(basename $@).nxe
110        $(STRIP) $(basename $@).nxe
111endef
112
113# Miscellaneous additions go here
114
115# No start file
116START_BASE=
117
118# Let the HWAPI know which set of drivers to build
119DRIVER_ARCHITECTURE=vmebus
Note: See TracBrowser for help on using the repository browser.