diff --git a/demos/SPC5/NIL-SPC560D-EVB/Makefile b/demos/SPC5/NIL-SPC560D-EVB/Makefile index 7b11e5978..f65267518 100644 --- a/demos/SPC5/NIL-SPC560D-EVB/Makefile +++ b/demos/SPC5/NIL-SPC560D-EVB/Makefile @@ -136,8 +136,8 @@ INCDIR = $(CHIBIOS)/os/license \ MCU = e200z0 -meabi -msdata=none -mregnames # Free GCC #TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- +TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- CC = $(TRGT)gcc CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. @@ -169,7 +169,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = +UDEFS = -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC560B-EVB/Makefile b/demos/SPC5/RT-SPC560B-EVB/Makefile index df460512b..fca396958 100644 --- a/demos/SPC5/RT-SPC560B-EVB/Makefile +++ b/demos/SPC5/RT-SPC560B-EVB/Makefile @@ -134,8 +134,8 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) MCU = e200z0 -meabi -msdata=none -mregnames # Free GCC #TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- +TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- CC = $(TRGT)gcc CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. @@ -167,7 +167,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = +UDEFS = -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC560D-EVB/.cproject b/demos/SPC5/RT-SPC560D-EVB/.cproject index 0ccb116a5..05e5ee266 100644 --- a/demos/SPC5/RT-SPC560D-EVB/.cproject +++ b/demos/SPC5/RT-SPC560D-EVB/.cproject @@ -103,12 +103,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -129,4 +164,5 @@ - + + \ No newline at end of file diff --git a/demos/SPC5/RT-SPC560D-EVB/Makefile b/demos/SPC5/RT-SPC560D-EVB/Makefile index 1dbf0181d..81d98fceb 100644 --- a/demos/SPC5/RT-SPC560D-EVB/Makefile +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile @@ -12,6 +12,10 @@ all: +@make --no-print-directory -f Makefile-ht all @echo ==================================================================== @echo + @echo === Building with GCC (eabivle) ==================================== + +@make --no-print-directory -f Makefile-gcc-eabivle all + @echo ==================================================================== + @echo clean: @echo @@ -19,5 +23,7 @@ clean: @echo +@make --no-print-directory -f Makefile-ht clean @echo + +@make --no-print-directory -f Makefile-gcc-eabivle clean + @echo # ############################################################################## diff --git a/demos/SPC5/RT-SPC560D-EVB/Makefile-gcc-eabivle b/demos/SPC5/RT-SPC560D-EVB/Makefile-gcc-eabivle new file mode 100644 index 000000000..ea5135adc --- /dev/null +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile-gcc-eabivle @@ -0,0 +1,186 @@ +############################################################################## +# Build global options +# NOTE: Can be overridden externally. +# + +# Compiler options here. +ifeq ($(USE_OPT),) + USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -mno-spe -msoft-float +endif + +# C specific options here (added to USE_OPT). +ifeq ($(USE_COPT),) + USE_COPT = +endif + +# C++ specific options here (added to USE_OPT). +ifeq ($(USE_CPPOPT),) + USE_CPPOPT = -fno-rtti +endif + +# Enable this if you want the linker to remove unused code and data. +ifeq ($(USE_LINK_GC),) + USE_LINK_GC = yes +endif + +# Linker extra options here. +ifeq ($(USE_LDOPT),) + USE_LDOPT = +endif + +# Enable this if you want link time optimizations (LTO) +ifeq ($(USE_LTO),) + USE_LTO = no +endif + +# If enabled, this option allows to compile the application in VLE mode. +ifeq ($(USE_VLE),) + USE_VLE = yes +endif + +# Enable this if you want to see the full log while compiling. +ifeq ($(USE_VERBOSE_COMPILE),) + USE_VERBOSE_COMPILE = no +endif + +# If enabled, this option makes the build process faster by not compiling +# modules not used in the current configuration. +ifeq ($(USE_SMART_BUILD),) + USE_SMART_BUILD = yes +endif + +# +# Build global options +############################################################################## + +############################################################################## +# Architecture or project specific options +# + +# Stack size to be allocated to the process stack. This stack is +# the stack used by the main() thread. +ifeq ($(USE_PROCESS_STACKSIZE),) + USE_PROCESS_STACKSIZE = 0x400 +endif + +# Stack size to the allocated to the optional exceptions stack. This +# stack is used for processing interrupts and exceptions. +ifeq ($(USE_EXCEPTIONS_STACKSIZE),) + USE_EXCEPTIONS_STACKSIZE = 0 +endif + +# +# Architecture or project specific options +############################################################################## + +############################################################################## +# Project, sources and paths +# + +# Define project name here +PROJECT = ch + +# Imported source files and paths +CHIBIOS = ../../.. +CONFDIR := . +BUILDDIR := ./build-gcc-eabivle +DEPDIR := ./.dep-gcc-eabivle + +# Licensing files. +include $(CHIBIOS)/os/license/license.mk +# Startup files. +include $(CHIBIOS)/os/common/startup/e200/compilers/GCC/mk/startup_spc560dxx.mk +# HAL-OSAL files (optional). +include $(CHIBIOS)/os/hal/hal.mk +include $(CHIBIOS)/os/hal/boards/ST_EVB_SPC560D/board.mk +include $(CHIBIOS)/os/hal/ports/SPC5/SPC560Dxx/platform.mk +include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk +# RTOS files (optional). +include $(CHIBIOS)/os/rt/rt.mk +include $(CHIBIOS)/os/common/ports/e200/compilers/GCC/mk/port.mk +# Other files (optional). +include $(CHIBIOS)/os/test/test.mk +include $(CHIBIOS)/test/rt/rt_test.mk +include $(CHIBIOS)/test/oslib/oslib_test.mk +include $(CHIBIOS)/os/hal/lib/streams/streams.mk +include $(CHIBIOS)/os/various/shell/shell.mk + +# Define linker script file here +LDSCRIPT= $(STARTUPLD)/SPC560D40.ld + +# C sources here. +CSRC = $(ALLCSRC) \ + $(TESTSRC) \ + main.c + +# C++ sources here. +CPPSRC = $(ALLCPPSRC) + +# List ASM source files here +ASMSRC = $(ALLASMSRC) +ASMXSRC = $(ALLXASMSRC) + +INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) + +# +# Project, sources and paths +############################################################################## + +############################################################################## +# Start of user section +# + +# List all user C define here, like -D_DEBUG=1 +UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 -DTEST_CFG_SIZE_REPORT=0 + +# Define ASM defines here +UADEFS = + +# List all user directories here +UINCDIR = + +# List the user directory to look for the libraries here +ULIBDIR = + +# List all user libraries here +ULIBS = + +# +# End of user defines +############################################################################## + +############################################################################## +# Compiler settings +# + +MCU = e200z4 -meabi -msdata=none -mregnames # Free GCC + +TRGT = powerpc-eabivle- +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ +# Enable loading with g++ only if you need C++ runtime support. +# NOTE: You can use C++ even without C++ support if you are careful. C++ +# runtime support makes code size explode. +LD = $(TRGT)gcc +#LD = $(TRGT)g++ +CP = $(TRGT)objcopy +AS = $(TRGT)gcc -x assembler-with-cpp +AR = $(TRGT)ar +OD = $(TRGT)objdump +SZ = $(TRGT)size +HEX = $(CP) -O ihex +MOT = $(CP) -O srec +BIN = $(CP) -O binary + +# Define C warning options here +CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes + +# Define C++ warning options here +CPPWARN = -Wall -Wextra -Wundef + +# +# Compiler settings +############################################################################## + +RULESPATH = $(CHIBIOS)/os/common/startup/e200/compilers/GCC +include $(RULESPATH)/rules.mk diff --git a/demos/SPC5/RT-SPC560D-EVB/Makefile-ghs b/demos/SPC5/RT-SPC560D-EVB/Makefile-ghs index a509903ad..549cb2a2b 100644 --- a/demos/SPC5/RT-SPC560D-EVB/Makefile-ghs +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile-ghs @@ -131,7 +131,7 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) # # List all user C define here, like -D_DEBUG=1 -UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 +UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC560D-EVB/Makefile-ht b/demos/SPC5/RT-SPC560D-EVB/Makefile-ht index 144a84e38..2e3b7d8e2 100644 --- a/demos/SPC5/RT-SPC560D-EVB/Makefile-ht +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile-ht @@ -131,7 +131,7 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) # # List all user C define here, like -D_DEBUG=1 -UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 +UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC560P-EVB/Makefile b/demos/SPC5/RT-SPC560P-EVB/Makefile index 51160b4d3..491e8a9ed 100644 --- a/demos/SPC5/RT-SPC560P-EVB/Makefile +++ b/demos/SPC5/RT-SPC560P-EVB/Makefile @@ -134,8 +134,8 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) MCU = e200z0 -meabi -msdata=none -mregnames # Free GCC #TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- +TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- CC = $(TRGT)gcc CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. @@ -167,7 +167,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = +UDEFS = -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC563M-EVB/Makefile b/demos/SPC5/RT-SPC563M-EVB/Makefile index 38f81ee5c..d06a5c605 100644 --- a/demos/SPC5/RT-SPC563M-EVB/Makefile +++ b/demos/SPC5/RT-SPC563M-EVB/Makefile @@ -134,8 +134,8 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) MCU = e200z3 -meabi -msdata=none -mregnames # Free GCC #TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- +TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- CC = $(TRGT)gcc CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. @@ -167,7 +167,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = +UDEFS = -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC564A-EVB/Makefile b/demos/SPC5/RT-SPC564A-EVB/Makefile index aa2c5f209..0d4251fd6 100644 --- a/demos/SPC5/RT-SPC564A-EVB/Makefile +++ b/demos/SPC5/RT-SPC564A-EVB/Makefile @@ -134,8 +134,8 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) MCU = e200z4 -meabi -msdata=none -mregnames # Free GCC #TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- +TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- CC = $(TRGT)gcc CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. @@ -167,7 +167,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = +UDEFS = -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC56EC-EVB/.cproject b/demos/SPC5/RT-SPC56EC-EVB/.cproject index 9de951541..25eeec10c 100644 --- a/demos/SPC5/RT-SPC56EC-EVB/.cproject +++ b/demos/SPC5/RT-SPC56EC-EVB/.cproject @@ -103,12 +103,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -129,4 +164,5 @@ - + + \ No newline at end of file diff --git a/demos/SPC5/RT-SPC56EC-EVB/Makefile b/demos/SPC5/RT-SPC56EC-EVB/Makefile index 1dbf0181d..81d98fceb 100644 --- a/demos/SPC5/RT-SPC56EC-EVB/Makefile +++ b/demos/SPC5/RT-SPC56EC-EVB/Makefile @@ -12,6 +12,10 @@ all: +@make --no-print-directory -f Makefile-ht all @echo ==================================================================== @echo + @echo === Building with GCC (eabivle) ==================================== + +@make --no-print-directory -f Makefile-gcc-eabivle all + @echo ==================================================================== + @echo clean: @echo @@ -19,5 +23,7 @@ clean: @echo +@make --no-print-directory -f Makefile-ht clean @echo + +@make --no-print-directory -f Makefile-gcc-eabivle clean + @echo # ############################################################################## diff --git a/demos/SPC5/RT-SPC56EC-EVB/Makefile-gcc-eabivle b/demos/SPC5/RT-SPC56EC-EVB/Makefile-gcc-eabivle new file mode 100644 index 000000000..80bcb9244 --- /dev/null +++ b/demos/SPC5/RT-SPC56EC-EVB/Makefile-gcc-eabivle @@ -0,0 +1,186 @@ +############################################################################## +# Build global options +# NOTE: Can be overridden externally. +# + +# Compiler options here. +ifeq ($(USE_OPT),) + USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 +endif + +# C specific options here (added to USE_OPT). +ifeq ($(USE_COPT),) + USE_COPT = +endif + +# C++ specific options here (added to USE_OPT). +ifeq ($(USE_CPPOPT),) + USE_CPPOPT = -fno-rtti +endif + +# Enable this if you want the linker to remove unused code and data. +ifeq ($(USE_LINK_GC),) + USE_LINK_GC = yes +endif + +# Linker extra options here. +ifeq ($(USE_LDOPT),) + USE_LDOPT = +endif + +# Enable this if you want link time optimizations (LTO) +ifeq ($(USE_LTO),) + USE_LTO = no +endif + +# If enabled, this option allows to compile the application in VLE mode. +ifeq ($(USE_VLE),) + USE_VLE = yes +endif + +# Enable this if you want to see the full log while compiling. +ifeq ($(USE_VERBOSE_COMPILE),) + USE_VERBOSE_COMPILE = no +endif + +# If enabled, this option makes the build process faster by not compiling +# modules not used in the current configuration. +ifeq ($(USE_SMART_BUILD),) + USE_SMART_BUILD = yes +endif + +# +# Build global options +############################################################################## + +############################################################################## +# Architecture or project specific options +# + +# Stack size to be allocated to the process stack. This stack is +# the stack used by the main() thread. +ifeq ($(USE_PROCESS_STACKSIZE),) + USE_PROCESS_STACKSIZE = 0x400 +endif + +# Stack size to the allocated to the optional exceptions stack. This +# stack is used for processing interrupts and exceptions. +ifeq ($(USE_EXCEPTIONS_STACKSIZE),) + USE_EXCEPTIONS_STACKSIZE = 0 +endif + +# +# Architecture or project specific options +############################################################################## + +############################################################################## +# Project, sources and paths +# + +# Define project name here +PROJECT = ch + +# Imported source files and paths +CHIBIOS = ../../.. +CONFDIR := . +BUILDDIR := ./build-gcc-eabivle +DEPDIR := ./.dep-gcc-eabivle + +# Licensing files. +include $(CHIBIOS)/os/license/license.mk +# Startup files. +include $(CHIBIOS)/os/common/startup/e200/compilers/GCC/mk/startup_spc56ecxx.mk +# HAL-OSAL files (optional). +include $(CHIBIOS)/os/hal/hal.mk +include $(CHIBIOS)/os/hal/boards/ST_EVB_SPC56EC/board.mk +include $(CHIBIOS)/os/hal/ports/SPC5/SPC56ECxx/platform.mk +include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk +# RTOS files (optional). +include $(CHIBIOS)/os/rt/rt.mk +include $(CHIBIOS)/os/common/ports/e200/compilers/GCC/mk/port.mk +# Other files (optional). +include $(CHIBIOS)/os/test/test.mk +include $(CHIBIOS)/test/rt/rt_test.mk +include $(CHIBIOS)/test/oslib/oslib_test.mk +include $(CHIBIOS)/os/hal/lib/streams/streams.mk +include $(CHIBIOS)/os/various/shell/shell.mk + +# Define linker script file here +LDSCRIPT= $(STARTUPLD)/SPC56EC74.ld + +# C sources here. +CSRC = $(ALLCSRC) \ + $(TESTSRC) \ + main.c + +# C++ sources here. +CPPSRC = $(ALLCPPSRC) + +# List ASM source files here +ASMSRC = $(ALLASMSRC) +ASMXSRC = $(ALLXASMSRC) + +INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) + +# +# Project, sources and paths +############################################################################## + +############################################################################## +# Start of user section +# + +# List all user C define here, like -D_DEBUG=1 +UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 -DTEST_CFG_SIZE_REPORT=0 + +# Define ASM defines here +UADEFS = + +# List all user directories here +UINCDIR = + +# List the user directory to look for the libraries here +ULIBDIR = + +# List all user libraries here +ULIBS = + +# +# End of user defines +############################################################################## + +############################################################################## +# Compiler settings +# + +MCU = e200z4 -meabi -msdata=none -mregnames # Free GCC + +TRGT = powerpc-eabivle- +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ +# Enable loading with g++ only if you need C++ runtime support. +# NOTE: You can use C++ even without C++ support if you are careful. C++ +# runtime support makes code size explode. +LD = $(TRGT)gcc +#LD = $(TRGT)g++ +CP = $(TRGT)objcopy +AS = $(TRGT)gcc -x assembler-with-cpp +AR = $(TRGT)ar +OD = $(TRGT)objdump +SZ = $(TRGT)size +HEX = $(CP) -O ihex +MOT = $(CP) -O srec +BIN = $(CP) -O binary + +# Define C warning options here +CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes + +# Define C++ warning options here +CPPWARN = -Wall -Wextra -Wundef + +# +# Compiler settings +############################################################################## + +RULESPATH = $(CHIBIOS)/os/common/startup/e200/compilers/GCC +include $(RULESPATH)/rules.mk diff --git a/demos/SPC5/RT-SPC56EC-EVB/Makefile-ghs b/demos/SPC5/RT-SPC56EC-EVB/Makefile-ghs index afc6bb808..9f54fbe4c 100644 --- a/demos/SPC5/RT-SPC56EC-EVB/Makefile-ghs +++ b/demos/SPC5/RT-SPC56EC-EVB/Makefile-ghs @@ -131,7 +131,7 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) # # List all user C define here, like -D_DEBUG=1 -UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 +UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC56EC-EVB/Makefile-ht b/demos/SPC5/RT-SPC56EC-EVB/Makefile-ht index 79d7b1130..554af0328 100644 --- a/demos/SPC5/RT-SPC56EC-EVB/Makefile-ht +++ b/demos/SPC5/RT-SPC56EC-EVB/Makefile-ht @@ -131,7 +131,7 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) # # List all user C define here, like -D_DEBUG=1 -UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 +UDEFS = -DSPC56ECXX_FMPLL_CLOCK_ERRATA_WORKAROUND=0 -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS = diff --git a/demos/SPC5/RT-SPC56EL-EVB/Makefile b/demos/SPC5/RT-SPC56EL-EVB/Makefile index ee9a6ddc8..d5ce95c9d 100644 --- a/demos/SPC5/RT-SPC56EL-EVB/Makefile +++ b/demos/SPC5/RT-SPC56EL-EVB/Makefile @@ -134,8 +134,8 @@ INCDIR = $(ALLINC) $(TESTINC) $(CONFDIR) MCU = e200z4 -meabi -msdata=none -mregnames # Free GCC #TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- +TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- CC = $(TRGT)gcc CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. @@ -167,7 +167,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = +UDEFS = -DTEST_CFG_SIZE_REPORT=0 # Define ASM defines here UADEFS =