From 4c6e2433a5d7e72e037322d2e521da4d846f1aef Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Sat, 29 Aug 2015 16:35:34 +0200 Subject: Updating ChibiOS 3.x build system support --- tools/gmake_scripts/os_chibios_2.mk | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 tools/gmake_scripts/os_chibios_2.mk (limited to 'tools/gmake_scripts/os_chibios_2.mk') diff --git a/tools/gmake_scripts/os_chibios_2.mk b/tools/gmake_scripts/os_chibios_2.mk new file mode 100644 index 00000000..299f42ec --- /dev/null +++ b/tools/gmake_scripts/os_chibios_2.mk @@ -0,0 +1,72 @@ +# +# 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_PLATFORM The name of the ChibiOS platform eg. CHIBIOS_PLATFORM = AT91SAM7 +# CHIBIOS_PORT The name of the ChibiOS port eg. CHIBIOS_PORT = GCC/ARM/AT91SAM7 +# + +# Optional: +# +# CHIBIOS_LDSCRIPT The name of the loader script eg. CHIBIOS_LDSCRIPT = AT91SAM7X256.ld +# CHIBIOS_BOARD The name of the ChibiOS board eg. CHIBIOS_BOARD = OLIMEX_SAM7_EX256 - if not specified you must include equivalent code yourself +# CHIBIOS_VERSION Which version of ChibiOS is this (2 or 3) - default is 3 +# CHIBIOS_STM32LIB Use the STM32 library source for drivers instead of native drivers (yes or no) - default no +# 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/hal/hal.mk +include $(CHIBIOS)/os/hal/platforms/$(CHIBIOS_PLATFORM)/platform.mk +include $(CHIBIOS)/os/kernel/kernel.mk +include $(CHIBIOS)/os/ports/$(CHIBIOS_PORT)/port.mk +ifneq ($(CHIBIOS_BOARD),) + include $(CHIBIOS)/boards/$(CHIBIOS_BOARD)/board.mk +endif + +ifeq ($(LDSCRIPT),) + ifneq ($(CHIBIOS_LDSCRIPT),) + LDSCRIPT= $(PORTLD)/$(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 + +ifeq ($(CHIBIOS_STM32LIB),yes) + include $(CHIBIOS)/ext/stm32lib/stm32lib.mk + SRC += $(STM32SRC) + DEFS += USE_STDPERIPH_DRIVER + INCPATH += $(STM32INC) +endif + +INCPATH += $(PORTINC) $(KERNINC) $(OSALINC) \ + $(HALINC) $(PLATFORMINC) $(BOARDINC) + +SRC += $(PORTSRC) \ + $(KERNSRC) \ + $(HALSRC) \ + $(PLATFORMSRC) \ + $(BOARDSRC) \ + $(OSALSRC) \ + $(PORTASM) -- cgit v1.2.3