From af70c0844c5622aef2fd89b75f5ed96adfda47d0 Mon Sep 17 00:00:00 2001 From: Neil Jones <neil.jones@imgtec.com> Date: Mon, 10 Apr 2017 10:59:40 +0100 Subject: [PATCH] mips: Clean-up makefiles --- boards/mips-malta/Makefile.include | 3 ++- boards/mips-malta/include/periph_conf.h | 10 ---------- boards/pic32-clicker/Makefile.include | 3 ++- boards/pic32-wifire/Makefile.include | 1 + cpu/mips32r2_common/Makefile.include | 1 - .../newlib_syscalls_mips_uhi/syscalls.c | 5 ++--- cpu/mips_pic32mx/Makefile.include | 14 +++++++++++--- cpu/mips_pic32mz/Makefile.include | 15 ++++++++++++--- makefiles/arch/mips.inc.mk | 4 ++-- 9 files changed, 32 insertions(+), 24 deletions(-) diff --git a/boards/mips-malta/Makefile.include b/boards/mips-malta/Makefile.include index f162303b4d..7007f50e07 100644 --- a/boards/mips-malta/Makefile.include +++ b/boards/mips-malta/Makefile.include @@ -1,4 +1,5 @@ export CPU = mips32r2_common export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include/ -export USE_HARD_FLOAT = 1 +#export USE_HARD_FLOAT = 1 export USE_DSP = 1 +export USE_UHI_SYSCALLS = 1 diff --git a/boards/mips-malta/include/periph_conf.h b/boards/mips-malta/include/periph_conf.h index edefe3837d..5baadafcda 100644 --- a/boards/mips-malta/include/periph_conf.h +++ b/boards/mips-malta/include/periph_conf.h @@ -41,16 +41,6 @@ extern "C" { */ #define UART_NUMOF (0) -/** - * @brief Enable DSP context save + restore. - */ -#define MIPS_DSP (1) - -/** - * @brief Enable FPU context save + restore. - */ -#define MIPS_HARD_FLOAT (1) - #ifdef __cplusplus } #endif diff --git a/boards/pic32-clicker/Makefile.include b/boards/pic32-clicker/Makefile.include index 4228fc6351..77e367b9dd 100644 --- a/boards/pic32-clicker/Makefile.include +++ b/boards/pic32-clicker/Makefile.include @@ -1,4 +1,5 @@ export CPU = mips_pic32mx export CPU_MODEL=p32mx470f512h export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include/ -export APPDEPS += $(RIOTCPU)/$(CPU)/$(CPU_MODEL)/$(CPU_MODEL).S \ No newline at end of file +export APPDEPS += $(RIOTCPU)/$(CPU)/$(CPU_MODEL)/$(CPU_MODEL).S +export USE_UHI_SYSCALLS = 1 diff --git a/boards/pic32-wifire/Makefile.include b/boards/pic32-wifire/Makefile.include index acac07dac3..4e1049769f 100644 --- a/boards/pic32-wifire/Makefile.include +++ b/boards/pic32-wifire/Makefile.include @@ -2,3 +2,4 @@ export CPU = mips_pic32mz export CPU_MODEL=p32mz2048efg100 export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include/ export APPDEPS += $(RIOTCPU)/$(CPU)/$(CPU_MODEL)/$(CPU_MODEL).S +export USE_UHI_SYSCALLS = 1 diff --git a/cpu/mips32r2_common/Makefile.include b/cpu/mips32r2_common/Makefile.include index d945ffe727..dc5a4211d7 100644 --- a/cpu/mips32r2_common/Makefile.include +++ b/cpu/mips32r2_common/Makefile.include @@ -4,7 +4,6 @@ export APP_START=0x80000000 include $(RIOTMAKE)/arch/mips.inc.mk -export LINKFLAGS += -Tuhi32.ld export USEMODULE += periph export USEMODULE += newlib diff --git a/cpu/mips32r2_common/newlib_syscalls_mips_uhi/syscalls.c b/cpu/mips32r2_common/newlib_syscalls_mips_uhi/syscalls.c index 2e05f99a26..f7eec8f43f 100644 --- a/cpu/mips32r2_common/newlib_syscalls_mips_uhi/syscalls.c +++ b/cpu/mips32r2_common/newlib_syscalls_mips_uhi/syscalls.c @@ -12,7 +12,7 @@ * * @file * @brief Newlib system call implementation for use with the mips-mti-elf - * toolchain newlib incoporating as sem-hosting interface caled 'UHI' + * toolchain newlib incorporating as semi-hosting interface called 'UHI' * * @author Neil Jones <neil.jones@imgtec.com> * @@ -49,7 +49,7 @@ char *heap_top = &_sheap + 4; /** * @brief Free resources on NewLib de-initialization, not used for RIOT */ - + /* __attribute__((used)) fixes linker errors when building with LTO, but without nano.specs */ __attribute__((used)) void _fini(void) { @@ -69,7 +69,6 @@ void _exit(int n) { exit(n); pm_off(); - while(1); } /** diff --git a/cpu/mips_pic32mx/Makefile.include b/cpu/mips_pic32mx/Makefile.include index fc58cc1e6b..4f5195adf7 100644 --- a/cpu/mips_pic32mx/Makefile.include +++ b/cpu/mips_pic32mx/Makefile.include @@ -1,6 +1,3 @@ -export MEMORY_BASE=0x80000000 -export MEMORY_SIZE=128K -export APP_START=0x80000000 export ROMABLE = 1 include $(RIOTMAKE)/arch/mips.inc.mk @@ -9,7 +6,18 @@ include $(RIOTCPU)/mips_pic32_common/Makefile.include # define build specific options export CFLAGS += -march=m4k -DSKIP_COPY_TO_RAM +export USEMODULE += mips_pic32_common export USEMODULE += periph +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 += -Tpic32mx512_12_128_uhi.ld diff --git a/cpu/mips_pic32mz/Makefile.include b/cpu/mips_pic32mz/Makefile.include index 478046f7c2..a81c19f7bb 100644 --- a/cpu/mips_pic32mz/Makefile.include +++ b/cpu/mips_pic32mz/Makefile.include @@ -1,6 +1,3 @@ -export MEMORY_BASE=0x80000000 -export MEMORY_SIZE=512K -export APP_START=0x80000000 export ROMABLE = 1 include $(RIOTMAKE)/arch/mips.inc.mk @@ -10,7 +7,19 @@ include $(RIOTCPU)/mips_pic32_common/Makefile.include export CFLAGS += -march=m5101 -mmicromips -DSKIP_COPY_TO_RAM export CFLAGS += -DMIPS_MICROMIPS +export USEMODULE += mips_pic32_common export USEMODULE += periph +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 diff --git a/makefiles/arch/mips.inc.mk b/makefiles/arch/mips.inc.mk index 8b8164cfdc..7d431101c0 100644 --- a/makefiles/arch/mips.inc.mk +++ b/makefiles/arch/mips.inc.mk @@ -41,7 +41,7 @@ export CFLAGS_OPT = -Os export CFLAGS += $(CFLAGS_CPU) $(CFLAGS_LINK) $(CFLAGS_OPT) $(CFLAGS_DBG) ifeq ($(USE_HARD_FLOAT),1) - export CFLAGS += -mhard-float + export CFLAGS += -mhard-float -DMIPS_HARD_FLOAT else #hard-float is the default so we must set soft-float export CFLAGS += -msoft-float @@ -49,7 +49,7 @@ else endif ifeq ($(USE_DSP),1) - export CFLAGS += -mdsp + export CFLAGS += -mdsp -DMIPS_DSP endif ifeq ($(TOOLCHAIN),llvm) -- GitLab