aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gmake_scripts/os_chibios_2.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gmake_scripts/os_chibios_2.mk')
-rw-r--r--tools/gmake_scripts/os_chibios_2.mk72
1 files changed, 72 insertions, 0 deletions
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)