More changes for PIC32MZ build under XC32

This commit is contained in:
Gregory Nutt 2015-03-21 16:38:24 -06:00
parent 4726c1e460
commit 0a13a27fca
3 changed files with 48 additions and 15 deletions

View File

@ -92,4 +92,3 @@ typedef unsigned int irqstate_t;
****************************************************************************/
#endif /* __ARCH_MIPS_INCLUDE_TYPES_H */

View File

@ -17,18 +17,22 @@ config MIPS32_TOOLCHAIN_GNU_ELF
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
configured for mips32-elf.
config MIPS32_TOOLCHAIN_MICROCHIPL
bool "Microchip C32 toolchain under Linux"
depends on HOST_LINUX
config MIPS32_TOOLCHAIN_MICROCHIPL_XC32
bool "Microchip XC32 toolchain under Linux"
depends on HOST_LINUX
config MIPS32_TOOLCHAIN_MICROCHIPL
bool "Microchip C32 toolchain under Linux"
depends on HOST_LINUX
config MIPS32_TOOLCHAIN_MICROCHIPL_LITE
bool "Microchip C32 toolchain under Linux (Lite edition)"
depends on HOST_LINUX
config MIPS32_TOOLCHAIN_MICROCHIPW_XC32
bool "Microchip XC32 toolchain under Windows"
depends on HOST_WINDOWS
config MIPS32_TOOLCHAIN_MICROCHIPW
bool "Microchip C32 toolchain under Windows"
depends on HOST_WINDOWS
@ -51,6 +55,15 @@ config MIPS32_TOOLCHAIN_PINGUINOL
endchoice
config MIPS32_TOOLCHAIN_MICROCHIP_XC32_LICENSED
bool "Licensed Microchip XC32 toolchain"
default n
depends on MIPS32_TOOLCHAIN_MICROCHIPL_XC32 || MIPS32_TOOLCHAIN_MICROCHIPW_XC32
---help---
If you are using the unlicensed, free XC32 compiler then select this
option so that the build system will not attend to enable
optimization.
config MIPS32_FRAMEPOINTER
bool "ABI Uses Frame Pointer"
default n

View File

@ -49,24 +49,30 @@ ifeq ($(filter y, \
CONFIG_MIPS32_TOOLCHAIN ?= GNU_ELF
endif
ifeq ($(filter y, \
$(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL) \
),y)
CONFIG_MIPS32_TOOLCHAIN ?= MICROCHIPL
endif
ifeq ($(filter y, \
$(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL_XC32) \
),y)
CONFIG_MIPS32_TOOLCHAIN ?= MICROCHIPL_XC32
endif
ifeq ($(filter y, \
$(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL) \
),y)
CONFIG_MIPS32_TOOLCHAIN ?= MICROCHIPL
endif
ifeq ($(filter y, \
$(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL_LITE) \
),y)
CONFIG_MIPS32_TOOLCHAIN ?= MICROCHIPL_LITE
endif
ifeq ($(filter y, \
$(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPW_XC32) \
),y)
CONFIG_MIPS32_TOOLCHAIN ?= MICROCHIPW_XC32
endif
ifeq ($(filter y, \
$(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPW) \
),y)
@ -142,6 +148,18 @@ ifeq ($(CONFIG_MIPS32_TOOLCHAIN),GNU_ELF)
LDSCRIPT = mips-elf-debug.ld
endif
# Microchip XC32 toolchain under Linux
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL_XC32)
CROSSDEV ?= xc32-
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIP_XC32_LICENSED),y)
MAXOPTIMIZATION ?= -O2
endif
ARCHCPUFLAGS = -mprocessor=$(MIPS_MPROCESSOR) -march=$(MIPS_MARCH) -EL $(MIPS_MICROMIPS) -msmart-io=0
LDFLAGS += -nostartfiles -nodefaultlibs
LDSCRIPT = xc32-debug.ld
endif
# Microchip C32 toolchain under Linux
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL)
@ -154,11 +172,16 @@ ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL)
LDSCRIPT = xc32-debug.ld
endif
# Microchip XC32 toolchain under Linux
# Microchip XC32 toolchain under Windows
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL_XC32)
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPW_XC32)
CROSSDEV ?= xc32-
ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
endif
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIP_XC32_LICENSED),y)
MAXOPTIMIZATION ?= -O2
endif
ARCHCPUFLAGS = -mprocessor=$(MIPS_MPROCESSOR) -march=$(MIPS_MARCH) -EL $(MIPS_MICROMIPS) -msmart-io=0
LDFLAGS += -nostartfiles -nodefaultlibs
LDSCRIPT = xc32-debug.ld
@ -168,7 +191,6 @@ endif
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPW)
CROSSDEV ?= pic32-
# CROSSDEV ?= xc32-
ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
endif
@ -183,7 +205,6 @@ endif
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL_LITE)
CROSSDEV ?= pic32-
# CROSSDEV ?= xc32-
# MAXOPTIMIZATION ?= -O2
ARCHCPUFLAGS = -mprocessor=$(MIPS_MPROCESSOR) $(MIPS_MICROMIPS) -mno-float -mlong32 -membedded-data
ARCHPICFLAGS = -fpic -membedded-pic