mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 08:36:24 +08:00
PIC32MZ: Changes that will permit building of the PIC32MZ Start Kit configuration using MPLAB and the XC32 toolchain. From David Sidrane
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -38,19 +38,27 @@ include ${TOPDIR}/tools/Config.mk
|
||||
include ${TOPDIR}/arch/mips/src/mips32/Toolchain.defs
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_GNU_ELF),y)
|
||||
LDSCRIPT = mips-release.ld
|
||||
LDSCRIPT = mips-release.ld
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_PINGUINOW),y)
|
||||
LDSCRIPT = mips-release.ld
|
||||
LDSCRIPT = mips-release.ld
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPW),y)
|
||||
LDSCRIPT = c32-release.ld
|
||||
LDSCRIPT = c32-release.ld
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPW_LITE),y)
|
||||
LDSCRIPT = c32-release.ld
|
||||
LDSCRIPT = c32-release.ld
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL_XC32),y)
|
||||
#LDSCRIPT = mips-debug.ld
|
||||
LDSCRIPT = mips-release.ld
|
||||
ifeq ($(MIPS_MPROCESSOR),elf32pic32mz)
|
||||
MIPS_MPROCESSOR = 32MZ2048ECM144
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
@@ -92,13 +100,24 @@ ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
|
||||
ARCHWARNINGSXX = -Wall -Wshadow
|
||||
ARCHDEFINES =
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL_XC32),y)
|
||||
ifeq ($(CONFIG_DEBUG),y)
|
||||
ARCHCFLAGS += -D__DEBUG -D__MPLAB_DEBUGGER_PK3=1 -fframe-base-loclist
|
||||
endif
|
||||
endif
|
||||
|
||||
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||
CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
|
||||
CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||
CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
|
||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||
AFLAGS = $(CFLAGS) -D__ASSEMBLY__
|
||||
LDFLAGS = # -no-isn32 --relax
|
||||
|
||||
ifeq ($(CONFIG_MIPS32_TOOLCHAIN_MICROCHIPL_XC32),y)
|
||||
LDFLAGS = -nostdlib --defsym=__MPLAB_BUILD=1 --defsym=__MPLAB_DEBUG=1 --defsym=__DEBUG=1 --defsym=__MPLAB_DEBUGGER_PK3=1 --defsym=_min_heap_size=0 --gc-sections
|
||||
else
|
||||
LDFLAGS = # -no-isn32 --relax
|
||||
endif
|
||||
|
||||
NXFLATLDFLAGS1 = -r -d -warn-common
|
||||
NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-gotoff.ld -no-check-sections
|
||||
|
||||
Reference in New Issue
Block a user