aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gmake_scripts/os_chibios.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gmake_scripts/os_chibios.mk')
-rw-r--r--tools/gmake_scripts/os_chibios.mk73
1 files changed, 4 insertions, 69 deletions
diff --git a/tools/gmake_scripts/os_chibios.mk b/tools/gmake_scripts/os_chibios.mk
index f583d186..536ec3f7 100644
--- a/tools/gmake_scripts/os_chibios.mk
+++ b/tools/gmake_scripts/os_chibios.mk
@@ -9,77 +9,12 @@
# 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
-# CHIBIOS_CPUCLASS The class of the CPU. Only required for ChibiOS v3 eg CHIBIOS_CPUCLASS=ARMCMx
+# CHIBIOS_VERSION Which version of ChibiOS is this (2 or 3) - default is 3
#
-# 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_STM32LIB Use the STM32 library source for drivers instead of native drivers (yes or no) - default no
-# CHIBIOS_VERSION Which version of ChibiOS is this (2 or 3) - default is 2
-# 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
-ifeq ($(CHIBIOS_VERSION),3)
- include $(CHIBIOS)/os/hal/hal.mk
- include $(CHIBIOS)/os/hal/osal/rt/osal.mk
- include $(CHIBIOS)/os/hal/ports/$(CHIBIOS_PLATFORM)/platform.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 ($(CHIBIOS_VERSION),2)
+ include $(GFXLIB)/tools/gmake_scripts/os_chibios_2.mk
else
- 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
-endif
-
-ifeq ($(LDSCRIPT),)
- ifneq ($(CHIBIOS_LDSCRIPT),)
- LDSCRIPT= $(PORTLD)/$(CHIBIOS_LDSCRIPT)
- endif
+ include $(GFXLIB)/tools/gmake_scripts/os_chibios_3.mk
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) $(TESTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC)
-SRC += $(PORTSRC) \
- $(KERNSRC) \
- $(TESTSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(OSALSRC) \
- $(PORTASM)