source: rtems/make/custom/mcp750.cfg @ df49c60

4.104.114.84.95
Last change on this file since df49c60 was df49c60, checked in by Joel Sherrill <joel.sherrill@…>, on 06/12/00 at 15:00:15

Merged from 4.5.0-beta3a

  • Property mode set to 100644
File size: 4.3 KB
Line 
1#
2#  Config file for Motorola MCP750 -- a MPC750 CompactPCI board
3#
4#  $Id$
5#
6
7include $(RTEMS_ROOT)/make/custom/default.cfg
8
9RTEMS_CPU=powerpc
10RTEMS_CPU_MODEL=mpc750
11RTEMS_PPC_EXCEPTION_PROCESSING_MODEL=new
12
13# This is the actual bsp directory used during the build process.
14RTEMS_BSP_FAMILY=motorola_powerpc
15
16#  This section makes the target dependent options file.
17
18#  NDEBUG (C library)
19#     if defined asserts do not generate code.  This is commonly used
20#     as a command line option.
21#
22#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
23#     do not pause between screens of output in the rtems tests
24#
25#  RTEMS_DEBUG (RTEMS)
26#     If defined, debug checks in RTEMS and support library code are enabled.
27#
28#  PPC_VECTOR_FILE_BASE (ppc)
29#     This defines the base address of the exception table.
30#     NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
31#
32#  PPC_USE_SPRG (RTEMS PowerPC port)
33#     If defined, then the PowerPC specific code in RTEMS will use some
34#     of the special purpose registers to slightly optimize interrupt
35#     response time.  The use of these registers can conflict with
36#     other tools like debuggers.
37#
38#  PPC_USE_DATA_CACHE (RTEMS PowerPC port)
39#     If defined, then the PowerPC specific code in RTEMS will use
40#     data cache instructions to optimize the context switch code.
41#     This code can conflict with debuggers or emulators.
42#
43
44define make-target-options
45        @echo "/* #define NDEBUG 1 */ "                        >>$@
46        @echo "#define RTEMS_TEST_NO_PAUSE 1"                  >>$@
47        @echo "/* #define RTEMS_DEBUG  1 */"                   >>$@
48        @echo "#define PPCN_60X_USE_DINK 0"                   >>$@
49        @echo "#define PPCN_60X_USE_NONE 1"                   >>$@
50        @echo "#define PPC_USE_DATA_CACHE 1"                   >>$@
51        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"            >>$@
52        @echo "#define PPC_USE_SPRG  1"                        >>$@
53endef
54
55#  This contains the compiler options necessary to select the CPU model
56#  and (hopefully) optimize for it.
57#
58# NOTE : cheking egcc 1.1.1 source code shows that the last know processor
59# is the 604 model and that this is the default generation option.
60#
61CPU_CFLAGS = -mcpu=750
62
63# optimize flag: typically -0, could use -O4 or -fast
64# -O4 is ok for RTEMS
65# NOTE2: some level of -O may be actually required by inline assembler (at least
66# -O2 so far.
67# NOTE2 Apparently nobody really knows the status or r2 and r13.
68# As far as I know, small data are pointer impose a very specific compliation
69# model => not used.
70# Currently the sdata2 and sbss2 sections are empty => r2 is not used...
71CFLAGS_OPTIMIZE_V=-O4 -mmultiple -mstring -mstrict-align
72#CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions -fvolatile-global -fvolatile -mstrict-align -mcpu=750
73
74# debug flags: typically none, but at least -O1 is required due to this
75# BSP using inlined code
76CFLAGS_DEBUG_V = -O1 -mmultiple -mstring -mstrict-align
77
78
79# The following is a ld command file which works without using the
80# -specs system in gcc 2.8.  IT HAS NEVER BEEN TESTED WITH THIS BSP!!!
81#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
82#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
83#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
84#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
85
86#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
87#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
88#            $(START_FILE) $(LINK_OBJS) \
89#            $(LD_LIBS) \
90#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
91define make-exe
92        $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) \
93           -o $@ $(LINK_OBJS) $(LINK_LIBS)
94        $(NM) -g -n $@ > $(basename $@).num
95        $(SIZE) $@
96        test -d ${PROJECT_RELEASE}/bin || mkdir ${PROJECT_RELEASE}/bin
97        $(CP) $@ $(PROJECT_ROOT)/powerpc-rtems/c/mcp750/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader/$(ARCH); \
98        ( cd $(PROJECT_ROOT)/powerpc-rtems/c/mcp750/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader; \
99        $(MAKE) bootloader BINARY_LOADED=$@; )
100        f=`basename $@ .exe`; \
101        cp $(PROJECT_ROOT)/powerpc-rtems/c/mcp750/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader/bootloader \
102            ${PROJECT_RELEASE}/bin/$${f}$(LIB_VARIANT).exe \
103        && chmod 755 \
104          ${PROJECT_RELEASE}/bin/$${f}$(LIB_VARIANT).exe
105endef
106
107# Miscellaneous additions go here
108
109# Let the HWAPI know which set of drivers to build
110DRIVER_ARCHITECTURE=compactpci
Note: See TracBrowser for help on using the repository browser.