diff options
author | Joel Bodenmann <joel@seriouslyembedded.com> | 2015-08-29 16:35:34 +0200 |
---|---|---|
committer | Joel Bodenmann <joel@seriouslyembedded.com> | 2015-08-29 16:35:34 +0200 |
commit | 4c6e2433a5d7e72e037322d2e521da4d846f1aef (patch) | |
tree | 18d27674dad7db0be18f93c6097ed49aaba1c9e2 /tools/gmake_scripts/os_chibios_3.mk | |
parent | 3f7ded913d87dc9cbbbd99ccc5ec9c11fd775aa5 (diff) | |
download | uGFX-4c6e2433a5d7e72e037322d2e521da4d846f1aef.tar.gz uGFX-4c6e2433a5d7e72e037322d2e521da4d846f1aef.tar.bz2 uGFX-4c6e2433a5d7e72e037322d2e521da4d846f1aef.zip |
Updating ChibiOS 3.x build system support
Diffstat (limited to 'tools/gmake_scripts/os_chibios_3.mk')
-rw-r--r-- | tools/gmake_scripts/os_chibios_3.mk | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/tools/gmake_scripts/os_chibios_3.mk b/tools/gmake_scripts/os_chibios_3.mk new file mode 100644 index 00000000..1a44f4b1 --- /dev/null +++ b/tools/gmake_scripts/os_chibios_3.mk @@ -0,0 +1,84 @@ +# +# This file is subject to the terms of the GFX License. If a copy of +# the license was not distributed with this file, you can obtain one at: +# +# http://ugfx.org/license.html +# + +# See readme.txt for the make API + +# Requirements: +# +# CHIBIOS The location of the ChibiOS code. eg CHIBIOS = ../chibios +# CHIBIOS_CPUCLASS The class of the CPU. eg CHIBIOS_CPUCLASS = ARMCMx +# CHIBIOS_PLATFORM The name of the ChibiOS platform. eg CHIBIOS_PLATFORM = STM32 +# CHIBIOS_DEVICE_FAMILY The name of the ChibiOS device family. eg CHIBIOS_DEVICE_FAMILY = STM32F4xx +# CHIBIOS_STARTUP The name of the ChibiOS startup files. eg CHIBIOS_STARTUP = startup_stm32f4xx +# CHIBIOS_PORT The name of the ChibiOS port. eg CHIBIOS_PORT = v7m +# + +# Optional: +# +# CHIBIOS_LDSCRIPT The name of the loader script eg CHIBIOS_LDSCRIPT = STM32F429xI.ld +# CHIBIOS_BOARD The name of the ChibiOS board eg CHIBIOS_BOARD = ST_STM32F429I_DISCOVERY - if not specified you must include equivalent code yourself +# CHIBIOS_VERSION Which version of ChibiOS is this (2 or 3) - default is 3 +# CHIBIOS_PROCESS_STACKSIZE Size of the ChibiOS process stack. Only useful if the link script supports it - default is 0x400 +# CHIBIOS_EXCEPTIONS_STACKSIZE Size of the ChibiOS exceptopms stack. Only useful if the link script supports it - default is 0x400 +# + +PATHLIST += CHIBIOS + + + +include $(CHIBIOS)/os/common/ports/$(CHIBIOS_CPUCLASS)/compilers/GCC/mk/$(CHIBIOS_STARTUP).mk +include $(CHIBIOS)/os/hal/hal.mk +include $(CHIBIOS)/os/hal/ports/$(CHIBIOS_PLATFORM)/$(CHIBIOS_DEVICE_FAMILY)/platform.mk +include $(CHIBIOS)/os/hal/osal/rt/osal.mk +include $(CHIBIOS)/os/rt/rt.mk +include $(CHIBIOS)/os/rt/ports/$(CHIBIOS_CPUCLASS)/compilers/GCC/mk/port_$(CHIBIOS_PORT).mk +ifneq ($(CHIBIOS_BOARD),) + include $(CHIBIOS)/os/hal/boards/$(CHIBIOS_BOARD)/board.mk +endif +LIBPATH += $(CHIBIOS)/os/common/ports/$(CHIBIOS_CPUCLASS)/compilers/GCC + +ifeq ($(LDSCRIPT),) + ifneq ($(CHIBIOS_LDSCRIPT),) + LDSCRIPT= $(STARTUPLD)/$(CHIBIOS_LDSCRIPT) + endif +endif + +ifneq ($(LDSCRIPT),) + ifeq ($(CHIBIOS_PROCESS_STACKSIZE),) + LDFLAGS += -Wl,--defsym=__process_stack_size__=0x400 + else + LDFLAGS += -Wl,--defsym=__process_stack_size__=$(CHIBIOS_PROCESS_STACKSIZE) + endif + ifeq ($(CHIBIOS_EXCEPTIONS_STACKSIZE),) + LDFLAGS += -Wl,--defsym=__main_stack_size__=0x400 + else + LDFLAGS += -Wl,--defsym=__main_stack_size__=$(CHIBIOS_EXCEPTIONS_STACKSIZE) + endif +endif + +# Add include files +INCPATH += $(STARTUPINC) \ + $(KERNINC) \ + $(PORTINC) \ + $(OSALINC) \ + $(HALINC) \ + $(PLATFORMINC) \ + $(BOARDINC) + +# Add C files +SRC += $(STARTUPSRC) \ + $(KERNSRC) \ + $(PORTSRC) \ + $(OSALSRC) \ + $(HALSRC) \ + $(PLATFORMSRC) \ + $(BOARDSRC) + +# Add ASM files +SRC += $(STARTUPASM) \ + $(PORTASM) \ + $(OSALASM) |