Add support for CodeSourcery and devkitARM toolchains
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1832 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
d61c32887e
commit
bfacea73ba
@ -738,10 +738,13 @@
|
|||||||
calculation based on CSD settings, inappropriate timeouts, odd code that looks like
|
calculation based on CSD settings, inappropriate timeouts, odd code that looks like
|
||||||
a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
|
a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
|
||||||
largely redesigned and probably non-functional in the first check-in.
|
largely redesigned and probably non-functional in the first check-in.
|
||||||
* drivers/mmcsd: Changes verified on 4Gb Kingston SHDC card. Still having
|
* drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb
|
||||||
issues with 2Gb SanDisk SDC card.
|
SanDisk microSDC card on the Eagle100 platform.
|
||||||
* fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
|
* fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
|
||||||
Found a correct a problem that prevented use of FAT32: It was not updating
|
Found and corrected a problem that prevented use of FAT32: It was not updating
|
||||||
the sector cache before checking the FAT32 FSINFO sector.
|
the sector cache before checking the FAT32 FSINFO sector.
|
||||||
|
* configs/eagle100/*/Make.defs: Added configuration options that should make
|
||||||
|
it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain
|
||||||
|
and the devkitARM GNU toolchain.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1428,11 +1428,14 @@ nuttx-0.4.7 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|||||||
calculation based on CSD settings, inappropriate timeouts, odd code that looks like
|
calculation based on CSD settings, inappropriate timeouts, odd code that looks like
|
||||||
a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
|
a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
|
||||||
largely redesigned and probably non-functional in the first check-in.
|
largely redesigned and probably non-functional in the first check-in.
|
||||||
* drivers/mmcsd: Changes verified on 4Gb Kingston SHDC card. Still having
|
* drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb
|
||||||
issues with 2Gb SanDisk SDC card.
|
SanDisk microSDC card on the Eagle100 platform.
|
||||||
* fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
|
* fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
|
||||||
Found a correct a problem that prevented use of FAT32: It was not updating
|
Found and corrected a problem that prevented use of FAT32: It was not updating
|
||||||
the sector cache before checking the FAT32 FSINFO sector.
|
the sector cache before checking the FAT32 FSINFO sector.
|
||||||
|
* configs/eagle100/*/Make.defs: Added configuration options that should make
|
||||||
|
it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain
|
||||||
|
and the devkitARM GNU toolchain.
|
||||||
|
|
||||||
pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
6
Makefile
6
Makefile
@ -144,7 +144,7 @@ endif
|
|||||||
BIN = nuttx$(EXEEXT)
|
BIN = nuttx$(EXEEXT)
|
||||||
|
|
||||||
all: $(BIN)
|
all: $(BIN)
|
||||||
.PHONY: clean context clean_context distclean
|
.PHONY: context clean_context check_context subdir_clean clean subdir_distclean distclean
|
||||||
|
|
||||||
# Build the mkconfig tool used to create include/nuttx/config.h
|
# Build the mkconfig tool used to create include/nuttx/config.h
|
||||||
tools/mkconfig:
|
tools/mkconfig:
|
||||||
@ -268,7 +268,7 @@ subdir_clean:
|
|||||||
@$(MAKE) -C tools -f Makefile.mkconfig TOPDIR="$(TOPDIR)" clean
|
@$(MAKE) -C tools -f Makefile.mkconfig TOPDIR="$(TOPDIR)" clean
|
||||||
@$(MAKE) -C mm -f Makefile.test TOPDIR="$(TOPDIR)" clean
|
@$(MAKE) -C mm -f Makefile.test TOPDIR="$(TOPDIR)" clean
|
||||||
|
|
||||||
clean: subdir_clean
|
clean: subdir_clean clean_context
|
||||||
@rm -f $(BIN) nuttx.* mm_test *.map *~
|
@rm -f $(BIN) nuttx.* mm_test *.map *~
|
||||||
|
|
||||||
subdir_distclean:
|
subdir_distclean:
|
||||||
@ -278,7 +278,7 @@ subdir_distclean:
|
|||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
|
|
||||||
distclean: clean subdir_distclean clean_context
|
distclean: clean subdir_distclean
|
||||||
@rm -f Make.defs setenv.sh .config
|
@rm -f Make.defs setenv.sh .config
|
||||||
|
|
||||||
|
|
||||||
|
6
TODO
6
TODO
@ -538,6 +538,12 @@ o ARM/LM3S6918 (arch/arm/src/lm3s/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low
|
Priority: Low
|
||||||
|
|
||||||
|
Description: Should terminate SSI/SPI transfer if an Rx FIFO overrun occurs.
|
||||||
|
Right now, if an Rx FIFO overrun occurs, the SSI driver hangs.
|
||||||
|
Status: Open
|
||||||
|
Priority: Medium, If the transfer is properly tuned, then there should not
|
||||||
|
be any Rx FIFO overruns.
|
||||||
|
|
||||||
o pjrc-8052 / MCS51 (arch/pjrc-8051/)
|
o pjrc-8052 / MCS51 (arch/pjrc-8051/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ LDLIBS = $(patsubst lib%,-l%,$(basename $(notdir $(LINKLIBS))))
|
|||||||
|
|
||||||
BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board
|
BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board
|
||||||
|
|
||||||
LIBGCC = ${shell $(CC) -print-libgcc-file-name}
|
LIBGCC = "${shell $(CC) -print-libgcc-file-name}"
|
||||||
|
|
||||||
VPATH = chip:common:$(ARCH_SUBDIR)
|
VPATH = chip:common:$(ARCH_SUBDIR)
|
||||||
|
|
||||||
|
@ -90,26 +90,6 @@ int up_hardfault(int irq, FAR void *context)
|
|||||||
uint16 *pc;
|
uint16 *pc;
|
||||||
uint16 insn;
|
uint16 insn;
|
||||||
|
|
||||||
/* Dump some hard fault info */
|
|
||||||
|
|
||||||
#ifdef DEBUG_HARDFAULTS
|
|
||||||
lldbg("Hard Fault:\n");
|
|
||||||
lldbg(" IRQ: %d regs: %p\n", irq, regs);
|
|
||||||
lldbg(" BASEPRI: %08x PRIMASK: %08x IPSR: %08x\n",
|
|
||||||
getbasepri(), getprimask(), getipsr());
|
|
||||||
lldbg(" CFAULTS: %08x HFAULTS: %08x DFAULTS: %08x BFAULTADDR: %08x AFAULTS: %08x\n",
|
|
||||||
getreg32(NVIC_CFAULTS), getreg32(NVIC_HFAULTS),
|
|
||||||
getreg32(NVIC_DFAULTS), getreg32(NVIC_BFAULT_ADDR),
|
|
||||||
getreg32(NVIC_AFAULTS));
|
|
||||||
lldbg(" R0: %08x %08x %08x %08x %08x %08x %08x %08x\n",
|
|
||||||
regs[REG_R0], regs[REG_R1], regs[REG_R2], regs[REG_R3],
|
|
||||||
regs[REG_R4], regs[REG_R5], regs[REG_R6], regs[REG_R7]);
|
|
||||||
lldbg(" R8: %08x %08x %08x %08x %08x %08x %08x %08x\n",
|
|
||||||
regs[REG_R8], regs[REG_R9], regs[REG_R10], regs[REG_R11],
|
|
||||||
regs[REG_R12], regs[REG_R13], regs[REG_R14], regs[REG_R15]);
|
|
||||||
lldbg(" PSR=%08x\n", regs[REG_XPSR]);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Get the value of the program counter where the fault occurred */
|
/* Get the value of the program counter where the fault occurred */
|
||||||
|
|
||||||
pc = (uint16*)regs[REG_PC] - 1;
|
pc = (uint16*)regs[REG_PC] - 1;
|
||||||
@ -134,6 +114,26 @@ int up_hardfault(int irq, FAR void *context)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Dump some hard fault info */
|
||||||
|
|
||||||
|
#ifdef DEBUG_HARDFAULTS
|
||||||
|
lldbg("\nHard Fault:\n");
|
||||||
|
lldbg(" IRQ: %d regs: %p\n", irq, regs);
|
||||||
|
lldbg(" BASEPRI: %08x PRIMASK: %08x IPSR: %08x\n",
|
||||||
|
getbasepri(), getprimask(), getipsr());
|
||||||
|
lldbg(" CFAULTS: %08x HFAULTS: %08x DFAULTS: %08x BFAULTADDR: %08x AFAULTS: %08x\n",
|
||||||
|
getreg32(NVIC_CFAULTS), getreg32(NVIC_HFAULTS),
|
||||||
|
getreg32(NVIC_DFAULTS), getreg32(NVIC_BFAULT_ADDR),
|
||||||
|
getreg32(NVIC_AFAULTS));
|
||||||
|
lldbg(" R0: %08x %08x %08x %08x %08x %08x %08x %08x\n",
|
||||||
|
regs[REG_R0], regs[REG_R1], regs[REG_R2], regs[REG_R3],
|
||||||
|
regs[REG_R4], regs[REG_R5], regs[REG_R6], regs[REG_R7]);
|
||||||
|
lldbg(" R8: %08x %08x %08x %08x %08x %08x %08x %08x\n",
|
||||||
|
regs[REG_R8], regs[REG_R9], regs[REG_R10], regs[REG_R11],
|
||||||
|
regs[REG_R12], regs[REG_R13], regs[REG_R14], regs[REG_R15]);
|
||||||
|
lldbg(" PSR=%08x\n", regs[REG_XPSR]);
|
||||||
|
#endif
|
||||||
|
|
||||||
(void)irqsave();
|
(void)irqsave();
|
||||||
dbg("PANIC!!! Hard fault: %08x\n", getreg32(NVIC_HFAULTS));
|
dbg("PANIC!!! Hard fault: %08x\n", getreg32(NVIC_HFAULTS));
|
||||||
PANIC(OSERR_UNEXPECTEDISR);
|
PANIC(OSERR_UNEXPECTEDISR);
|
||||||
|
@ -16,12 +16,34 @@ Development Environment
|
|||||||
environment because the Luminary FLASH programming application was used for
|
environment because the Luminary FLASH programming application was used for
|
||||||
writing to FLASH and this application works only under Windows.
|
writing to FLASH and this application works only under Windows.
|
||||||
|
|
||||||
Toolchain
|
GNU Toolchain Options
|
||||||
^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The NuttX make system has been modified to support the following different
|
||||||
|
toolchain options.
|
||||||
|
|
||||||
|
1. The CodeSourcery GNU toolchain,
|
||||||
|
2. The devkitARM GNU toolchain, or
|
||||||
|
3. The NuttX buildroot Toolchain (see below).
|
||||||
|
|
||||||
|
All testing has been conducted using the NuttX buildroot toolchain. However,
|
||||||
|
the make system is setup to default to use the devkitARM toolchain. To use
|
||||||
|
the CodeSource GNU toolchain, you simply need to build the system as follows:
|
||||||
|
|
||||||
|
make # Will build for the devkitARM toolchain
|
||||||
|
make CROSSDEV=arm-eabi- # Will build for the devkitARM toolchain
|
||||||
|
make CROSSDEV=arm-none-eabi- # Will build for the CodeSourcery toolchain
|
||||||
|
make CROSSDEV=arm-elf- # Will build for the NuttX buildroot toolchain
|
||||||
|
|
||||||
|
Of course, hard coding this CROSS_COMPILE value in Make.defs file will save
|
||||||
|
some repetitive typing.
|
||||||
|
|
||||||
|
NuttX buildroot Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
different from the default).
|
different from the default in your PATH variable).
|
||||||
|
|
||||||
If you have no Cortex-M3 toolchain, one can be downloaded from the NuttX
|
If you have no Cortex-M3 toolchain, one can be downloaded from the NuttX
|
||||||
SourceForge download site (https://sourceforge.net/project/showfiles.php?group_id=189573).
|
SourceForge download site (https://sourceforge.net/project/showfiles.php?group_id=189573).
|
||||||
|
@ -35,7 +35,13 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
|
|
||||||
CROSSDEV = arm-elf-
|
# The default value for CROSSDEV can be overridden from the make command line:
|
||||||
|
# make -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-eabi- -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-none-eabi- -- Will build for the CodeSourcery toolchain
|
||||||
|
# make CROSSDEV=arm-elf- -- Will build for the NuttX buildroot toolchain
|
||||||
|
|
||||||
|
CROSSDEV = arm-eabi-
|
||||||
CC = $(CROSSDEV)gcc
|
CC = $(CROSSDEV)gcc
|
||||||
CXX = $(CROSSDEV)g++
|
CXX = $(CROSSDEV)g++
|
||||||
CPP = $(CROSSDEV)gcc -E
|
CPP = $(CROSSDEV)gcc -E
|
||||||
@ -59,7 +65,12 @@ else
|
|||||||
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
ifeq ($(CROSSDEV),arm-elf-)
|
||||||
|
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
else
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
|
||||||
ARCHDEFINES =
|
ARCHDEFINES =
|
||||||
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||||
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||||
@ -78,7 +89,10 @@ OBJEXT = .o
|
|||||||
LIBEXT = .a
|
LIBEXT = .a
|
||||||
EXEEXT =
|
EXEEXT =
|
||||||
|
|
||||||
ifeq ("${CONFIG_DEBUG}","y")
|
ifneq ($(CROSSDEV),arm-elf-)
|
||||||
|
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_DEBUG),y)
|
||||||
LDFLAGS += -g
|
LDFLAGS += -g
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -35,7 +35,13 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
|
|
||||||
CROSSDEV = arm-elf-
|
# The default value for CROSSDEV can be overridden from the make command line:
|
||||||
|
# make -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-eabi- -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-none-eabi- -- Will build for the CodeSourcery toolchain
|
||||||
|
# make CROSSDEV=arm-elf- -- Will build for the NuttX buildroot toolchain
|
||||||
|
|
||||||
|
CROSSDEV = arm-eabi-
|
||||||
CC = $(CROSSDEV)gcc
|
CC = $(CROSSDEV)gcc
|
||||||
CXX = $(CROSSDEV)g++
|
CXX = $(CROSSDEV)g++
|
||||||
CPP = $(CROSSDEV)gcc -E
|
CPP = $(CROSSDEV)gcc -E
|
||||||
@ -59,7 +65,12 @@ else
|
|||||||
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
ifeq ($(CROSSDEV),arm-elf-)
|
||||||
|
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
else
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
|
||||||
ARCHDEFINES =
|
ARCHDEFINES =
|
||||||
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||||
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||||
@ -78,7 +89,10 @@ OBJEXT = .o
|
|||||||
LIBEXT = .a
|
LIBEXT = .a
|
||||||
EXEEXT =
|
EXEEXT =
|
||||||
|
|
||||||
ifeq ("${CONFIG_DEBUG}","y")
|
ifneq ($(CROSSDEV),arm-elf-)
|
||||||
|
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_DEBUG),y)
|
||||||
LDFLAGS += -g
|
LDFLAGS += -g
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -35,7 +35,13 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
|
|
||||||
CROSSDEV = arm-elf-
|
# The default value for CROSSDEV can be overridden from the make command line:
|
||||||
|
# make -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-eabi- -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-none-eabi- -- Will build for the CodeSourcery toolchain
|
||||||
|
# make CROSSDEV=arm-elf- -- Will build for the NuttX buildroot toolchain
|
||||||
|
|
||||||
|
CROSSDEV = arm-eabi-
|
||||||
CC = $(CROSSDEV)gcc
|
CC = $(CROSSDEV)gcc
|
||||||
CXX = $(CROSSDEV)g++
|
CXX = $(CROSSDEV)g++
|
||||||
CPP = $(CROSSDEV)gcc -E
|
CPP = $(CROSSDEV)gcc -E
|
||||||
@ -59,7 +65,12 @@ else
|
|||||||
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
ifeq ($(CROSSDEV),arm-elf-)
|
||||||
|
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
else
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
|
||||||
ARCHDEFINES =
|
ARCHDEFINES =
|
||||||
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||||
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||||
@ -78,7 +89,10 @@ OBJEXT = .o
|
|||||||
LIBEXT = .a
|
LIBEXT = .a
|
||||||
EXEEXT =
|
EXEEXT =
|
||||||
|
|
||||||
ifeq ("${CONFIG_DEBUG}","y")
|
ifneq ($(CROSSDEV),arm-elf-)
|
||||||
|
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_DEBUG),y)
|
||||||
LDFLAGS += -g
|
LDFLAGS += -g
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -35,7 +35,13 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
|
|
||||||
CROSSDEV = arm-elf-
|
# The default value for CROSSDEV can be overridden from the make command line:
|
||||||
|
# make -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-eabi- -- Will build for the devkitARM toolchain
|
||||||
|
# make CROSSDEV=arm-none-eabi- -- Will build for the CodeSourcery toolchain
|
||||||
|
# make CROSSDEV=arm-elf- -- Will build for the NuttX buildroot toolchain
|
||||||
|
|
||||||
|
CROSSDEV = arm-eabi-
|
||||||
CC = $(CROSSDEV)gcc
|
CC = $(CROSSDEV)gcc
|
||||||
CXX = $(CROSSDEV)g++
|
CXX = $(CROSSDEV)g++
|
||||||
CPP = $(CROSSDEV)gcc -E
|
CPP = $(CROSSDEV)gcc -E
|
||||||
@ -59,7 +65,12 @@ else
|
|||||||
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
ifeq ($(CROSSDEV),arm-elf-)
|
||||||
|
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
else
|
||||||
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
endif
|
||||||
|
|
||||||
ARCHDEFINES =
|
ARCHDEFINES =
|
||||||
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||||
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||||
@ -78,7 +89,10 @@ OBJEXT = .o
|
|||||||
LIBEXT = .a
|
LIBEXT = .a
|
||||||
EXEEXT =
|
EXEEXT =
|
||||||
|
|
||||||
ifeq ("${CONFIG_DEBUG}","y")
|
ifneq ($(CROSSDEV),arm-elf-)
|
||||||
|
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||||
|
endif
|
||||||
|
ifeq ($(CONFIG_DEBUG),y)
|
||||||
LDFLAGS += -g
|
LDFLAGS += -g
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user