From 44665d1b1a1211342ccab09212f4f728ab942ef5 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 7 Dec 2017 10:18:26 +0000 Subject: GHS-related changes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11131 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/SPC5/RT-SPC560D-EVB/.cproject | 89 +++++++++++++- demos/SPC5/RT-SPC560D-EVB/.project | 2 +- demos/SPC5/RT-SPC560D-EVB/Makefile | 205 +++------------------------------ demos/SPC5/RT-SPC560D-EVB/Makefile-ghs | 181 +++++++++++++++++++++++++++++ demos/SPC5/RT-SPC560D-EVB/Makefile-ht | 189 ++++++++++++++++++++++++++++++ demos/SPC5/RT-SPC560D-EVB/main.c | 1 - 6 files changed, 471 insertions(+), 196 deletions(-) create mode 100644 demos/SPC5/RT-SPC560D-EVB/Makefile-ghs create mode 100644 demos/SPC5/RT-SPC560D-EVB/Makefile-ht (limited to 'demos/SPC5') diff --git a/demos/SPC5/RT-SPC560D-EVB/.cproject b/demos/SPC5/RT-SPC560D-EVB/.cproject index f74af61c9..0ccb116a5 100644 --- a/demos/SPC5/RT-SPC560D-EVB/.cproject +++ b/demos/SPC5/RT-SPC560D-EVB/.cproject @@ -35,21 +35,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + diff --git a/demos/SPC5/RT-SPC560D-EVB/.project b/demos/SPC5/RT-SPC560D-EVB/.project index 5a21d7f0a..202a3a6f0 100644 --- a/demos/SPC5/RT-SPC560D-EVB/.project +++ b/demos/SPC5/RT-SPC560D-EVB/.project @@ -27,7 +27,7 @@ board 2 - CHIBIOS/os/hal/boards/ST_EVB_SPC560D + CHIBIOS/os/hal/boards/ST_EVB_SPC56EC os diff --git a/demos/SPC5/RT-SPC560D-EVB/Makefile b/demos/SPC5/RT-SPC560D-EVB/Makefile index ed53373db..1dbf0181d 100644 --- a/demos/SPC5/RT-SPC560D-EVB/Makefile +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile @@ -1,194 +1,23 @@ ############################################################################## -# Build global options -# NOTE: Can be overridden externally. +# Multi-project makefile rules # -# 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 +all: + @echo + @echo === Building with GHS ============================================== + +@make --no-print-directory -f Makefile-ghs all + @echo ==================================================================== + @echo + @echo === Building with HighTec ========================================== + +@make --no-print-directory -f Makefile-ht all + @echo ==================================================================== + @echo +clean: + @echo + +@make --no-print-directory -f Makefile-ghs clean + @echo + +@make --no-print-directory -f Makefile-ht clean + @echo # -# Architecture or project specific options ############################################################################## - -############################################################################## -# Project, sources and paths -# - -# Define project name here -PROJECT = ch - -# Imported source files and paths -CHIBIOS = ../../.. -# 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/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)/test/lib/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 = $(STARTUPSRC) \ - $(KERNSRC) \ - $(PORTSRC) \ - $(OSALSRC) \ - $(HALSRC) \ - $(PLATFORMSRC) \ - $(BOARDSRC) \ - $(TESTSRC) \ - $(STREAMSSRC) \ - $(SHELLSRC) \ - main.c - -# C++ sources here. -CPPSRC = - -# List ASM source files here -ASMSRC = -ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) - -INCDIR = $(CHIBIOS)/os/license \ - $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ - $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ - $(STREAMSINC) $(SHELLINC) - -# -# Project, sources and paths -############################################################################## - -############################################################################## -# Compiler settings -# - -#MCU = e200zx -meabi -msdata=none -mnew-mnemonics -mregnames # HighTec -MCU = e200z0 -meabi -msdata=none -mregnames # Free GCC - -#TRGT = ppc-vle- -#TRGT = powerpc-eabivle- -TRGT = ppc-freevle-eabi- -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 -############################################################################## - -############################################################################## -# Start of user section -# - -# List all user C define here, like -D_DEBUG=1 -UDEFS = - -# 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 -############################################################################## - -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 new file mode 100644 index 000000000..52233dd8b --- /dev/null +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile-ghs @@ -0,0 +1,181 @@ +############################################################################## +# Build global options +# NOTE: Can be overridden externally. +# + +# Compiler options here. +ifeq ($(USE_OPT),) + USE_OPT = -gnu99 -G -dual_debug -Ospeed -Onounroll +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-ghs +DEPDIR := ./.dep-ghs + +# Licensing files. +include $(CHIBIOS)/os/license/license.mk +# Startup files. +include $(CHIBIOS)/os/common/startup/e200/compilers/GHS/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/osal.mk +# RTOS files (optional). +include $(CHIBIOS)/os/rt/rt.mk +include $(CHIBIOS)/os/common/ports/e200/compilers/GHS/mk/port.mk +# Other files (optional). +include $(CHIBIOS)/test/lib/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 + +# 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 = ppc560xd + +TRGT = +CC = $(TRGT)ccppc +CPPC = $(TRGT)cxppc +LD = $(TRGT)cxppc +AS = $(TRGT)ccppc +AR = $(TRGT)ax +OD = $(TRGT)gdump +SZ = $(TRGT)gfunsize +HEX = gsrec -hex386 +MOT = gsrec +BIN = gmemfile + +# Define C warning options here +CWARN = -Wunknown-pragmas -Wimplicit-int -Wshadow -Wtrigraphs -Wundef + +# Define C++ warning options here +CPPWARN = -Wunknown-pragmas -Wimplicit-int -Wshadow -Wtrigraphs -Wundef + +# +# Compiler settings +############################################################################## + +RULESPATH = $(CHIBIOS)/os/common/startup/e200/compilers/GHS +include $(RULESPATH)/rules.mk diff --git a/demos/SPC5/RT-SPC560D-EVB/Makefile-ht b/demos/SPC5/RT-SPC560D-EVB/Makefile-ht new file mode 100644 index 000000000..97c47b91e --- /dev/null +++ b/demos/SPC5/RT-SPC560D-EVB/Makefile-ht @@ -0,0 +1,189 @@ +############################################################################## +# 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-ht +DEPDIR := ./.dep-ht + +# 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_SPC560D/board.mk +include $(CHIBIOS)/os/hal/ports/SPC5/SPC560Dxx/platform.mk +include $(CHIBIOS)/os/hal/osal/rt/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)/test/lib/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 + +# 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 = e200zx -meabi -msdata=none -mnew-mnemonics -mregnames # HighTec +#MCU = e200z4 -meabi -msdata=none -mregnames # Free GCC + +TRGT = ppc-vle- +#TRGT = powerpc-eabivle- +#TRGT = ppc-freevle-eabi- +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/main.c b/demos/SPC5/RT-SPC560D-EVB/main.c index 98b1028bb..1a4d14785 100644 --- a/demos/SPC5/RT-SPC560D-EVB/main.c +++ b/demos/SPC5/RT-SPC560D-EVB/main.c @@ -139,5 +139,4 @@ int main(void) { chThdWait(shelltp); /* Waiting termination. */ chThdSleepMilliseconds(1000); } - return 0; } -- cgit v1.2.3