diff --git a/arch/mips/src/mips32/Kconfig b/arch/mips/src/mips32/Kconfig index c7a4499c22..713a05603a 100644 --- a/arch/mips/src/mips32/Kconfig +++ b/arch/mips/src/mips32/Kconfig @@ -21,6 +21,10 @@ 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_LITE bool "Microchip C32 toolchain under Linux (Lite edition)" depends on HOST_LINUX diff --git a/arch/mips/src/mips32/Toolchain.defs b/arch/mips/src/mips32/Toolchain.defs index 3c10defe18..09f5e1a20a 100644 --- a/arch/mips/src/mips32/Toolchain.defs +++ b/arch/mips/src/mips32/Toolchain.defs @@ -55,6 +55,12 @@ ifeq ($(filter 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_LITE) \ ),y) @@ -148,6 +154,16 @@ ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL) LDSCRIPT = xc32-debug.ld endif +# Microchip XC32 toolchain under Linux + +ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPL_XC32) + CROSSDEV ?= xc32- + MAXOPTIMIZATION ?= -O2 + 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 Windows ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPW)