source: rtems/make/custom/dmv177.cfg @ 2caa006

4.104.114.84.9
Last change on this file since 2caa006 was 2caa006, checked in by Joel Sherrill <joel.sherrill@…>, on Feb 5, 1999 at 12:29:47 AM

Added instruction and data cache enable.

  • Property mode set to 100644
File size: 4.7 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/BSP)
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.  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.
68
69define make-target-options
70        @echo "/* #define NDEBUG 1 */ "                            >>$@
71        @echo "#define RTEMS_TEST_NO_PAUSE 1"                      >>$@
72        @echo "/* #define RTEMS_DEBUG  1 */"                       >>$@
73        @echo "#define CONSOLE_USE_INTERRUPTS 0"                   >>$@
74        @echo "#define CONSOLE_USE_POLLED ~CONSOLE_USE_INTERRUPTS" >>$@
75        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"                >>$@
76        @echo "#define PPC_ABI PPC_ABI_EABI"                       >>$@
77        @echo "#define PPC_ASM PPC_ASM_ELF"                        >>$@
78        @echo "#define PPC_USE_SPRG 0"                             >>$@
79        @echo "#define PPC_USE_DATA_CACHE 0"                       >>$@
80        @echo "#define PPC_USE_INSTRUCTION_CACHE 1"                >>$@
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#CFLAGS_DEBUG_OPTIMIZE_V=
88
89# optimize flag: typically -0, could use -O4 or -fast
90# -O4 is ok for RTEMS
91# NOTE: some level of -O may be actually required by inline assembler
92CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
93
94# Define this to yes if this target supports a real-time clock.
95HAS_RTC=yes
96
97# The following is a ld command file which works without using the
98# -specs system in gcc 2.8.  IT HAS NEVER BEEN TESTED WITH THIS BSP!!!
99#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
100#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
101#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
102#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
103
104#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
105#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
106#            $(START_FILE) $(LINK_OBJS) \
107#            $(LD_LIBS) \
108#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
109define make-exe
110        $(CC) $(CFLAGS) -o $(basename $@).nxe $(LINK_OBJS) $(LINK_LIBS)
111        $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
112        $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
113            $(PROJECT_TOOLS)/packhex > $(basename $@).exe
114        $(NM) -g -n $(basename $@).nxe > $(basename $@).num
115        $(SIZE) $(basename $@).nxe
116        $(STRIP) $(basename $@).nxe
117endef
118
119# Miscellaneous additions go here
120
121# No start file
122START_BASE=
123
124# Let the HWAPI know which set of drivers to build
125DRIVER_ARCHITECTURE=vmebus
Note: See TracBrowser for help on using the repository browser.