-
Notifications
You must be signed in to change notification settings - Fork 226
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
2,104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,201 @@ | ||
############################################################################## | ||
# Build global options | ||
# NOTE: Can be overridden externally. | ||
# | ||
|
||
# Compiler options here. | ||
ifeq ($(USE_OPT),) | ||
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16 | ||
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 = yes | ||
endif | ||
|
||
# Enable this if you want to see the full log while compiling. | ||
ifeq ($(USE_VERBOSE_COMPILE),) | ||
USE_VERBOSE_COMPILE = yes | ||
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 Cortex-M 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 Cortex-M main/exceptions stack. This | ||
# stack is used for processing interrupts and exceptions. | ||
ifeq ($(USE_EXCEPTIONS_STACKSIZE),) | ||
USE_EXCEPTIONS_STACKSIZE = 0x400 | ||
endif | ||
|
||
# Enables the use of FPU (no, softfp, hard). | ||
ifeq ($(USE_FPU),) | ||
USE_FPU = no | ||
endif | ||
|
||
# FPU-related options. | ||
ifeq ($(USE_FPU_OPT),) | ||
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 | ||
endif | ||
|
||
# | ||
# Architecture or project specific options | ||
############################################################################## | ||
|
||
############################################################################## | ||
# Project, target, sources and paths | ||
# | ||
|
||
# Define project name here | ||
PROJECT = ch | ||
|
||
# Target settings. | ||
MCU = cortex-m33 | ||
|
||
# Imported source files and paths. | ||
CHIBIOS := ../../../../../ChibiOS | ||
CHIBIOS_CONTRIB := $(CHIBIOS)/../ChibiOS-Contrib | ||
CONFDIR := ./cfg | ||
BUILDDIR := ./build | ||
DEPDIR := ./.dep | ||
|
||
# Licensing files. | ||
include $(CHIBIOS)/os/license/license.mk | ||
# Startup files. | ||
include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_efr32fg23x.mk | ||
# HAL-OSAL files (optional). | ||
#include $(CHIBIOS)/os/hal/hal.mk | ||
include $(CHIBIOS_CONTRIB)/os/hal/hal.mk | ||
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk | ||
include $(CHIBIOS_CONTRIB)/os/hal/ports/SILABS/EFR32FG23/platform.mk | ||
include $(CHIBIOS_CONTRIB)/os/hal/boards/SILABS_EFR32FG23_DK2600A/board.mk | ||
# RTOS files (optional). | ||
include $(CHIBIOS)/os/rt/rt.mk | ||
include $(CHIBIOS)/os/common/ports/ARMv8-M-ML/compilers/GCC/mk/port.mk | ||
#include $(CHIBIOS)/os/common/ports/ARMv8-M-ML-TZ/compilers/GCC/mk/port.mk | ||
# Auto-build files in ./source recursively. | ||
#include $(CHIBIOS)/tools/mk/autobuild.mk | ||
# Other files (optional). | ||
#include $(CHIBIOS)/os/test/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/common/abstractions/cmsis_os/cmsis_os.mk | ||
|
||
# Define linker script file here | ||
LDSCRIPT = $(STARTUPLD_CONTRIB)/EFR32FG23XF512.ld | ||
|
||
# C sources that can be compiled in ARM or THUMB mode depending on the global | ||
# setting. | ||
CSRC = $(ALLCSRC) \ | ||
$(TESTSRC) \ | ||
$(CHIBIOS_CONTRIB)/os/various/bitmap.c \ | ||
main.c | ||
|
||
# C++ sources that can be compiled in ARM or THUMB mode depending on the global | ||
# setting. | ||
CPPSRC = $(ALLCPPSRC) | ||
|
||
# List ASM source files here. | ||
ASMSRC = $(ALLASMSRC) | ||
|
||
# List ASM with preprocessor source files here. | ||
ASMXSRC = $(ALLXASMSRC) | ||
|
||
# Inclusion directories. | ||
INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC) \ | ||
$(CHIBIOS_CONTRIB)/os/various | ||
|
||
# Define C warning options here. | ||
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes -Wcast-align=strict | ||
|
||
# Define C++ warning options here. | ||
CPPWARN = -Wall -Wextra -Wundef | ||
|
||
# | ||
# Project, target, sources and paths | ||
############################################################################## | ||
|
||
############################################################################## | ||
# Start of user section | ||
# | ||
|
||
# List all user C define here, like -D_DEBUG=1 | ||
UDEFS = -DEFR32FG23B010F512IM48=1 \ | ||
-DCORTEX_ENABLE_WFI_IDLE \ | ||
-DESCAPE_HATCH_ENABLE=TRUE \ | ||
-DEFR32_DMA_REQUIRED | ||
|
||
# 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 section | ||
############################################################################## | ||
|
||
############################################################################## | ||
# Common rules | ||
# | ||
|
||
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk | ||
include $(RULESPATH)/arm-none-eabi.mk | ||
include $(RULESPATH)/rules.mk | ||
|
||
# | ||
# Common rules | ||
############################################################################## | ||
|
||
############################################################################## | ||
# Custom rules | ||
# | ||
|
||
include post-build.mk | ||
|
||
# | ||
# Custom rules | ||
############################################################################## |
Oops, something went wrong.