Makefile.include 1.61 KB
export ROMABLE = 1

include $(RIOTMAKE)/arch/mips.inc.mk
include $(RIOTCPU)/mips_pic32_common/Makefile.include

# define build specific options
export CFLAGS += -march=m5101 -mmicromips -DSKIP_COPY_TO_RAM
export CFLAGS += -DMIPS_MICROMIPS

export USEMODULE += mips_pic32_common
export USEMODULE += periph
export USEMODULE += periph_common
export USEMODULE += newlib

ifeq ($(USE_UHI_SYSCALLS),1)
  #Use UHI to handle syscalls
  export LINKFLAGS += -luhi
  export USEMODULE += newlib_syscalls_mips_uhi
else
  #Use RIOT to handle syscalls (default)
  export USEMODULE += newlib_syscalls_default
endif


export LINKFLAGS += -Wl,--defsym,__use_excpt_boot=0 $(CFLAGS)
export LINKFLAGS += -Tpic32mz2048_uhi.ld

# the pickit programmer (MPLAB-IPE) wants physical addresses in the hex file!!
export OBJCOPY = objcopy #use system objcopy as toolchain one is broken.
export OFLAGS += -O ihex \
    --change-section-lma .lowerbootflashalias-0xA0000000 \
    --change-section-lma .bootflash1-0xA0000000 \
    --change-section-lma .bootflash2-0xA0000000 \
    --change-section-lma .exception_vector-0x80000000 \
    --change-section-lma .text-0x80000000 \
    --change-section-lma .init-0x80000000 \
    --change-section-lma .fini-0x80000000 \
    --change-section-lma .eh_frame-0x80000000 \
    --change-section-lma .gcc_except_table-0x80000000 \
    --change-section-lma .jcr-0x80000000 \
    --change-section-lma .ctors-0x80000000 \
    --change-section-lma .dtors-0x80000000 \
    --change-section-lma .rodata-0x80000000 \
    --change-section-lma .data-0x80000000 \
    --change-section-lma .bss-0x80000000 \
    --change-section-lma .startdata-0x80000000