Removing prefix targeting while it wasn't building with regular installed gcc

master
Sven Steudte 2018-08-15 21:17:37 +02:00
rodzic d7a6906fe4
commit b74d27a5c7
2 zmienionych plików z 480 dodań i 510 usunięć

Wyświetl plik

@ -1,258 +1,243 @@
# If you want to hold different toolchains on Linux in /opt you can get them from ##############################################################################
# https://launchpad.net/gcc-arm-embedded . Copy unpacked files as 'root' to /opt . # Build global options
# If you want to use other toolchain than system-wide installed proceed as following: # NOTE: Can be overridden externally.
# Type on a terminal #
# export OPT_GCC_ARM=/opt/folder-of-your-toolchain
# Now 'make all' uses choosen toolchain instead of system wide installed.
# If yu want to switch back to system wide type
# export OPT_GCC_ARM=
ifdef OPT_GCC_ARM # Compiler options here.
PREFIX = $(OPT_GCC_ARM)/bin/ ifeq ($(USE_OPT),)
else USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
PREFIX = /usr/bin/
endif endif
############################################################################## # C specific options here (added to USE_OPT).
# Build global options ifeq ($(USE_COPT),)
# NOTE: Can be overridden externally. USE_COPT = -std=c11
# endif
# Compiler options here. # C++ specific options here (added to USE_OPT).
ifeq ($(USE_OPT),) ifeq ($(USE_CPPOPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 USE_CPPOPT = -fno-rtti
endif endif
# C specific options here (added to USE_OPT). # Enable this if you want the linker to remove unused code and data
ifeq ($(USE_COPT),) ifeq ($(USE_LINK_GC),)
USE_COPT = -std=c11 USE_LINK_GC = yes
endif endif
# C++ specific options here (added to USE_OPT). # Linker extra moptions here.
ifeq ($(USE_CPPOPT),) ifeq ($(USE_LDOPT),)
USE_CPPOPT = -fno-rtti USE_LDOPT =
endif endif
# Enable this if you want the linker to remove unused code and data # Enable this if you want link time optimizations (LTO)
ifeq ($(USE_LINK_GC),) ifeq ($(USE_LTO),)
USE_LINK_GC = yes USE_LTO = yes
endif endif
# Linker extra moptions here. # If enabled, this option allows to compile the application in THUMB mode.
ifeq ($(USE_LDOPT),) ifeq ($(USE_THUMB),)
USE_LDOPT = USE_THUMB = yes
endif endif
# Enable this if you want link time optimizations (LTO) # Enable this if you want to see the full log while compiling.
ifeq ($(USE_LTO),) ifeq ($(USE_VERBOSE_COMPILE),)
USE_LTO = yes USE_VERBOSE_COMPILE = no
endif endif
# If enabled, this option allows to compile the application in THUMB mode. # If enabled, this option makes the build process faster by not compiling
ifeq ($(USE_THUMB),) # modules not used in the current configuration.
USE_THUMB = yes ifeq ($(USE_SMART_BUILD),)
endif USE_SMART_BUILD = yes
endif
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),) #
USE_VERBOSE_COMPILE = no # Build global options
endif ##############################################################################
# If enabled, this option makes the build process faster by not compiling ##############################################################################
# modules not used in the current configuration. # Architecture or project specific options
ifeq ($(USE_SMART_BUILD),) #
USE_SMART_BUILD = yes
endif # 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),)
# Build global options USE_PROCESS_STACKSIZE = 0x1000
############################################################################## endif
############################################################################## # Stack size to the allocated to the Cortex-M main/exceptions stack. This
# Architecture or project specific options # stack is used for processing interrupts and exceptions.
# ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x5000
# Stack size to be allocated to the Cortex-M process stack. This stack is endif
# the stack used by the main() thread.
ifeq ($(USE_PROCESS_STACKSIZE),) # Enables the use of FPU (no, softfp, hard).
USE_PROCESS_STACKSIZE = 0x1000 ifeq ($(USE_FPU),)
endif USE_FPU = hard
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) \
# Stack size to the allocated to the Cortex-M main/exceptions stack. This -mfpu=fpv4-sp-d16 -fsingle-precision-constant
# stack is used for processing interrupts and exceptions. endif
ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x5000 #
endif # Architecture or project specific options
##############################################################################
# Enables the use of FPU (no, softfp, hard).
ifeq ($(USE_FPU),) ##############################################################################
USE_FPU = hard # Project, sources and paths
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) \ #
-mfpu=fpv4-sp-d16 -fsingle-precision-constant
endif # Define project name here
PROJECT = pp10a
#
# Architecture or project specific options # Imported source files and paths
############################################################################## CHIBIOS = ChibiOS
CONFDIR := ${CURDIR}/cfg/$(PROJECT)
############################################################################## BUILDDIR := ${CURDIR}/build/$(PROJECT)
# Project, sources and paths DEPDIR := ${CURDIR}/.dep/$(PROJECT)
# CMSISINC = ${CURDIR}/CMSIS/include
CMSISLIB = ${CURDIR}/CMSIS/Lib/GCC
# Define project name here
PROJECT = pp10a # ChibiOS versions of system calls
ALLCSRC := $(CHIBIOS)/os/various/syscalls.c
# Imported source files and paths
CHIBIOS = ChibiOS # Licensing files.
CONFDIR := ${CURDIR}/cfg/$(PROJECT) include $(CHIBIOS)/os/license/license.mk
BUILDDIR := ${CURDIR}/build/$(PROJECT) # Startup files.
DEPDIR := ${CURDIR}/.dep/$(PROJECT) include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
CMSISINC = ${CURDIR}/CMSIS/include # HAL-OSAL files (optional).
CMSISLIB = ${CURDIR}/CMSIS/Lib/GCC include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/platform.mk
# ChibiOS versions of system calls include $(CHIBIOS)/os/hal/osal/rt/osal.mk
ALLCSRC := $(CHIBIOS)/os/various/syscalls.c # BOARD files.
include $(CONFDIR)/board/board.mk
# Licensing files. # PORTAB files.
include $(CHIBIOS)/os/license/license.mk include $(CONFDIR)/portab.mk
# Startup files. # RTOS files (optional).
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk include $(CHIBIOS)/os/rt/rt.mk
# HAL-OSAL files (optional). include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
include $(CHIBIOS)/os/hal/hal.mk # Auto-build files in AUTOBUILD_ROOT recursively.
include $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/platform.mk include $(CHIBIOS)/tools/mk/autobuild.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk # Other files (optional).
# BOARD files. include $(CHIBIOS)/test/lib/test.mk
include $(CONFDIR)/board/board.mk include $(CHIBIOS)/test/rt/rt_test.mk
# PORTAB files. include $(CHIBIOS)/test/oslib/oslib_test.mk
include $(CONFDIR)/portab.mk include $(CHIBIOS)/os/hal/lib/streams/streams.mk
# RTOS files (optional). include $(CHIBIOS)/os/various/shell/shell.mk
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Auto-build files in AUTOBUILD_ROOT recursively. # Define linker script file here
include $(CHIBIOS)/tools/mk/autobuild.mk LDSCRIPT= $(CONFDIR)/STM32F413xH.ld
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk #$(info $$ALLCSRC is [${ALLCSRC}])
include $(CHIBIOS)/test/rt/rt_test.mk #$(info $$CONFDIR is [${CONFDIR}])
include $(CHIBIOS)/test/oslib/oslib_test.mk #$(info $$ALLINC is [${ALLINC}])
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
include $(CHIBIOS)/os/various/shell/shell.mk # C sources that can be compiled in ARM or THUMB mode depending on the global
include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk # setting.
CSRC = $(ALLCSRC) \
# Define linker script file here $(TESTSRC) \
LDSCRIPT= $(CONFDIR)/STM32F413xH.ld main.c \
#$(info $$ALLCSRC is [${ALLCSRC}]) # C++ sources that can be compiled in ARM or THUMB mode depending on the global
#$(info $$CONFDIR is [${CONFDIR}]) # setting.
#$(info $$ALLINC is [${ALLINC}]) CPPSRC = $(ALLCPPSRC)
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources to be compiled in ARM mode regardless of the global setting.
# setting. # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
CSRC = $(ALLCSRC) \ # option that results in lower performance and larger code size.
$(TESTSRC) \ ACSRC =
main.c \
# C++ sources to be compiled in ARM mode regardless of the global setting.
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
# setting. # option that results in lower performance and larger code size.
CPPSRC = $(ALLCPPSRC) ACPPSRC =
# C sources to be compiled in ARM mode regardless of the global setting. # C sources to be compiled in THUMB mode regardless of the global setting.
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
# option that results in lower performance and larger code size. # option that results in lower performance and larger code size.
ACSRC = TCSRC =
# C++ sources to be compiled in ARM mode regardless of the global setting. # C sources to be compiled in THUMB mode regardless of the global setting.
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
# option that results in lower performance and larger code size. # option that results in lower performance and larger code size.
ACPPSRC = TCPPSRC =
# C sources to be compiled in THUMB mode regardless of the global setting. # List ASM source files here
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler ASMSRC = $(ALLASMSRC)
# option that results in lower performance and larger code size. ASMXSRC = $(ALLXASMSRC)
TCSRC =
INCDIR = $(ALLINC) $(TESTINC)
# C sources to be compiled in THUMB mode regardless of the global setting. #$(info $$INCDIR is [${INCDIR}])
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler #
# option that results in lower performance and larger code size. # Project, sources and paths
TCPPSRC = ##############################################################################
# List ASM source files here ##############################################################################
ASMSRC = $(ALLASMSRC) # Compiler settings
ASMXSRC = $(ALLXASMSRC) #
INCDIR = $(ALLINC) $(TESTINC) MCU = cortex-m4
#$(info $$INCDIR is [${INCDIR}])
# #TRGT = arm-elf-
# Project, sources and paths TRGT = arm-none-eabi-
############################################################################## CC = $(TRGT)gcc
CPPC = $(TRGT)g++
############################################################################## # Enable loading with g++ only if you need C++ runtime support.
# Compiler settings # NOTE: You can use C++ even without C++ support if you are careful. C++
# # runtime support makes code size explode.
LD = $(TRGT)gcc
MCU = cortex-m4 #LD = $(TRGT)g++
CP = $(TRGT)objcopy
#TRGT = arm-elf- AS = $(TRGT)gcc -x assembler-with-cpp
TRGT = $(PREFIX)arm-none-eabi- AR = $(TRGT)ar
CC = $(TRGT)gcc OD = $(TRGT)objdump
CPPC = $(TRGT)g++ SZ = $(TRGT)size
# Enable loading with g++ only if you need C++ runtime support. HEX = $(CP) -O ihex
# NOTE: You can use C++ even without C++ support if you are careful. C++ BIN = $(CP) -O binary
# runtime support makes code size explode.
LD = $(TRGT)gcc # ARM-specific options here
#LD = $(TRGT)g++ AOPT =
CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp # THUMB-specific options here
AR = $(TRGT)ar TOPT = -mthumb -DTHUMB
OD = $(TRGT)objdump
SZ = $(TRGT)size # Define C warning options here
HEX = $(CP) -O ihex CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
BIN = $(CP) -O binary
# Define C++ warning options here
# ARM-specific options here CPPWARN = -Wall -Wextra -Wundef
AOPT =
#
# THUMB-specific options here # Compiler settings
TOPT = -mthumb -DTHUMB ##############################################################################
# Define C warning options here ##############################################################################
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes # Start of user section
#
# Define C++ warning options here
CPPWARN = -Wall -Wextra -Wundef # List all user C define here, like -D_DEBUG=1
UDEFS = -D_GNU_SOURCE -DARM_MATH_CM4 -DSHELL_CMD_TEST_ENABLED=0 \
# -DSHELL_CMD_EXIT_ENABLED=1 -DUSB_TRACE_LEVEL=5 \
# Compiler settings -DSHELL_CMD_MEM_ENABLED=0
############################################################################## # -DDISABLE_HW_WATCHDOG=1
############################################################################## # Define ASM defines here
# Start of user section UADEFS =
#
# List all user directories here
# List all user C define here, like -D_DEBUG=1 UINCDIR = $(CMSISINC)
UDEFS = -D_GNU_SOURCE -DARM_MATH_CM4 -DSHELL_CMD_TEST_ENABLED=0 \
-DSHELL_CMD_EXIT_ENABLED=1 -DUSB_TRACE_LEVEL=5 \ # List the user directory to look for the libraries here
-DSHELL_CMD_MEM_ENABLED=0 ULIBDIR = $(CMSISLIB)
# -DDISABLE_HW_WATCHDOG=1
# List all user libraries here
# Define ASM defines here ULIBS = -lm $(CMSISLIB)/libarm_cortexM4l_math.a
UADEFS =
#
# List all user directories here # End of user defines
UINCDIR = $(CMSISINC) ##############################################################################
# List the user directory to look for the libraries here RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
ULIBDIR = $(CMSISLIB) include $(RULESPATH)/rules.mk
# List all user libraries here burn-$(PROJECT):
ULIBS = -lm $(CMSISLIB)/libarm_cortexM4l_math.a st-flash write build/$(PROJECT)/$(PROJECT).bin 0x08000000
#
# End of user defines
##############################################################################
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
include $(RULESPATH)/rules.mk
burn-$(PROJECT):
st-flash write build/$(PROJECT)/$(PROJECT).bin 0x08000000

Wyświetl plik

@ -1,258 +1,243 @@
# If you want to hold different toolchains on Linux in /opt you can get them from ##############################################################################
# https://launchpad.net/gcc-arm-embedded . Copy unpacked files as 'root' to /opt . # Build global options
# If you want to use other toolchain than system-wide installed proceed as following: # NOTE: Can be overridden externally.
# Type on a terminal #
# export OPT_GCC_ARM=/opt/folder-of-your-toolchain
# Now 'make all' uses choosen toolchain instead of system wide installed.
# If yu want to switch back to system wide type
# export OPT_GCC_ARM=
ifdef OPT_GCC_ARM # Compiler options here.
PREFIX = $(OPT_GCC_ARM)/bin/ ifeq ($(USE_OPT),)
else USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
PREFIX = /usr/bin/
endif endif
############################################################################## # C specific options here (added to USE_OPT).
# Build global options ifeq ($(USE_COPT),)
# NOTE: Can be overridden externally. USE_COPT = -std=c11
# endif
# Compiler options here. # C++ specific options here (added to USE_OPT).
ifeq ($(USE_OPT),) ifeq ($(USE_CPPOPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 USE_CPPOPT = -fno-rtti
endif endif
# C specific options here (added to USE_OPT). # Enable this if you want the linker to remove unused code and data
ifeq ($(USE_COPT),) ifeq ($(USE_LINK_GC),)
USE_COPT = -std=c11 USE_LINK_GC = yes
endif endif
# C++ specific options here (added to USE_OPT). # Linker extra moptions here.
ifeq ($(USE_CPPOPT),) ifeq ($(USE_LDOPT),)
USE_CPPOPT = -fno-rtti USE_LDOPT =
endif endif
# Enable this if you want the linker to remove unused code and data # Enable this if you want link time optimizations (LTO)
ifeq ($(USE_LINK_GC),) ifeq ($(USE_LTO),)
USE_LINK_GC = yes USE_LTO = yes
endif endif
# Linker extra moptions here. # If enabled, this option allows to compile the application in THUMB mode.
ifeq ($(USE_LDOPT),) ifeq ($(USE_THUMB),)
USE_LDOPT = USE_THUMB = yes
endif endif
# Enable this if you want link time optimizations (LTO) # Enable this if you want to see the full log while compiling.
ifeq ($(USE_LTO),) ifeq ($(USE_VERBOSE_COMPILE),)
USE_LTO = yes USE_VERBOSE_COMPILE = no
endif endif
# If enabled, this option allows to compile the application in THUMB mode. # If enabled, this option makes the build process faster by not compiling
ifeq ($(USE_THUMB),) # modules not used in the current configuration.
USE_THUMB = yes ifeq ($(USE_SMART_BUILD),)
endif USE_SMART_BUILD = yes
endif
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),) #
USE_VERBOSE_COMPILE = no # Build global options
endif ##############################################################################
# If enabled, this option makes the build process faster by not compiling ##############################################################################
# modules not used in the current configuration. # Architecture or project specific options
ifeq ($(USE_SMART_BUILD),) #
USE_SMART_BUILD = yes
endif # 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),)
# Build global options USE_PROCESS_STACKSIZE = 0x1000
############################################################################## endif
############################################################################## # Stack size to the allocated to the Cortex-M main/exceptions stack. This
# Architecture or project specific options # stack is used for processing interrupts and exceptions.
# ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x5000
# Stack size to be allocated to the Cortex-M process stack. This stack is endif
# the stack used by the main() thread.
ifeq ($(USE_PROCESS_STACKSIZE),) # Enables the use of FPU (no, softfp, hard).
USE_PROCESS_STACKSIZE = 0x1000 ifeq ($(USE_FPU),)
endif USE_FPU = hard
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) \
# Stack size to the allocated to the Cortex-M main/exceptions stack. This -mfpu=fpv4-sp-d16 -fsingle-precision-constant
# stack is used for processing interrupts and exceptions. endif
ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x5000 #
endif # Architecture or project specific options
##############################################################################
# Enables the use of FPU (no, softfp, hard).
ifeq ($(USE_FPU),) ##############################################################################
USE_FPU = hard # Project, sources and paths
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) \ #
-mfpu=fpv4-sp-d16 -fsingle-precision-constant
endif # Define project name here
PROJECT = pp10b
#
# Architecture or project specific options # Imported source files and paths
############################################################################## CHIBIOS = ChibiOS
CONFDIR := ${CURDIR}/cfg/$(PROJECT)
############################################################################## BUILDDIR := ${CURDIR}/build/$(PROJECT)
# Project, sources and paths DEPDIR := ${CURDIR}/.dep/$(PROJECT)
# CMSISINC = ${CURDIR}/CMSIS/include
CMSISLIB = ${CURDIR}/CMSIS/Lib/GCC
# Define project name here
PROJECT = pp10b # ChibiOS versions of system calls
ALLCSRC := $(CHIBIOS)/os/various/syscalls.c
# Imported source files and paths
CHIBIOS = ChibiOS # Licensing files.
CONFDIR := ${CURDIR}/cfg/$(PROJECT) include $(CHIBIOS)/os/license/license.mk
BUILDDIR := ${CURDIR}/build/$(PROJECT) # Startup files.
DEPDIR := ${CURDIR}/.dep/$(PROJECT) include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
CMSISINC = ${CURDIR}/CMSIS/include # HAL-OSAL files (optional).
CMSISLIB = ${CURDIR}/CMSIS/Lib/GCC include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/platform.mk
# ChibiOS versions of system calls include $(CHIBIOS)/os/hal/osal/rt/osal.mk
ALLCSRC := $(CHIBIOS)/os/various/syscalls.c # BOARD files.
include $(CONFDIR)/board/board.mk
# Licensing files. # PORTAB files.
include $(CHIBIOS)/os/license/license.mk include $(CONFDIR)/portab.mk
# Startup files. # RTOS files (optional).
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk include $(CHIBIOS)/os/rt/rt.mk
# HAL-OSAL files (optional). include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
include $(CHIBIOS)/os/hal/hal.mk # Auto-build files in AUTOBUILD_ROOT recursively.
include $(CHIBIOS)/os/hal/ports/STM32/STM32F4xx/platform.mk include $(CHIBIOS)/tools/mk/autobuild.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk # Other files (optional).
# BOARD files. include $(CHIBIOS)/test/lib/test.mk
include $(CONFDIR)/board/board.mk include $(CHIBIOS)/test/rt/rt_test.mk
# PORTAB files. include $(CHIBIOS)/test/oslib/oslib_test.mk
include $(CONFDIR)/portab.mk include $(CHIBIOS)/os/hal/lib/streams/streams.mk
# RTOS files (optional). include $(CHIBIOS)/os/various/shell/shell.mk
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Auto-build files in AUTOBUILD_ROOT recursively. # Define linker script file here
include $(CHIBIOS)/tools/mk/autobuild.mk LDSCRIPT= $(CONFDIR)/STM32F413xH.ld
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk #$(info $$ALLCSRC is [${ALLCSRC}])
include $(CHIBIOS)/test/rt/rt_test.mk #$(info $$CONFDIR is [${CONFDIR}])
include $(CHIBIOS)/test/oslib/oslib_test.mk #$(info $$ALLINC is [${ALLINC}])
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
include $(CHIBIOS)/os/various/shell/shell.mk # C sources that can be compiled in ARM or THUMB mode depending on the global
include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk # setting.
CSRC = $(ALLCSRC) \
# Define linker script file here $(TESTSRC) \
LDSCRIPT= $(CONFDIR)/STM32F413xH.ld main.c \
#$(info $$ALLCSRC is [${ALLCSRC}]) # C++ sources that can be compiled in ARM or THUMB mode depending on the global
#$(info $$CONFDIR is [${CONFDIR}]) # setting.
#$(info $$ALLINC is [${ALLINC}]) CPPSRC = $(ALLCPPSRC)
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources to be compiled in ARM mode regardless of the global setting.
# setting. # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
CSRC = $(ALLCSRC) \ # option that results in lower performance and larger code size.
$(TESTSRC) \ ACSRC =
main.c \
# C++ sources to be compiled in ARM mode regardless of the global setting.
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
# setting. # option that results in lower performance and larger code size.
CPPSRC = $(ALLCPPSRC) ACPPSRC =
# C sources to be compiled in ARM mode regardless of the global setting. # C sources to be compiled in THUMB mode regardless of the global setting.
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
# option that results in lower performance and larger code size. # option that results in lower performance and larger code size.
ACSRC = TCSRC =
# C++ sources to be compiled in ARM mode regardless of the global setting. # C sources to be compiled in THUMB mode regardless of the global setting.
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
# option that results in lower performance and larger code size. # option that results in lower performance and larger code size.
ACPPSRC = TCPPSRC =
# C sources to be compiled in THUMB mode regardless of the global setting. # List ASM source files here
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler ASMSRC = $(ALLASMSRC)
# option that results in lower performance and larger code size. ASMXSRC = $(ALLXASMSRC)
TCSRC =
INCDIR = $(ALLINC) $(TESTINC)
# C sources to be compiled in THUMB mode regardless of the global setting. #$(info $$INCDIR is [${INCDIR}])
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler #
# option that results in lower performance and larger code size. # Project, sources and paths
TCPPSRC = ##############################################################################
# List ASM source files here ##############################################################################
ASMSRC = $(ALLASMSRC) # Compiler settings
ASMXSRC = $(ALLXASMSRC) #
INCDIR = $(ALLINC) $(TESTINC) MCU = cortex-m4
#$(info $$INCDIR is [${INCDIR}])
# #TRGT = arm-elf-
# Project, sources and paths TRGT = arm-none-eabi-
############################################################################## CC = $(TRGT)gcc
CPPC = $(TRGT)g++
############################################################################## # Enable loading with g++ only if you need C++ runtime support.
# Compiler settings # NOTE: You can use C++ even without C++ support if you are careful. C++
# # runtime support makes code size explode.
LD = $(TRGT)gcc
MCU = cortex-m4 #LD = $(TRGT)g++
CP = $(TRGT)objcopy
#TRGT = arm-elf- AS = $(TRGT)gcc -x assembler-with-cpp
TRGT = $(PREFIX)arm-none-eabi- AR = $(TRGT)ar
CC = $(TRGT)gcc OD = $(TRGT)objdump
CPPC = $(TRGT)g++ SZ = $(TRGT)size
# Enable loading with g++ only if you need C++ runtime support. HEX = $(CP) -O ihex
# NOTE: You can use C++ even without C++ support if you are careful. C++ BIN = $(CP) -O binary
# runtime support makes code size explode.
LD = $(TRGT)gcc # ARM-specific options here
#LD = $(TRGT)g++ AOPT =
CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp # THUMB-specific options here
AR = $(TRGT)ar TOPT = -mthumb -DTHUMB
OD = $(TRGT)objdump
SZ = $(TRGT)size # Define C warning options here
HEX = $(CP) -O ihex CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
BIN = $(CP) -O binary
# Define C++ warning options here
# ARM-specific options here CPPWARN = -Wall -Wextra -Wundef
AOPT =
#
# THUMB-specific options here # Compiler settings
TOPT = -mthumb -DTHUMB ##############################################################################
# Define C warning options here ##############################################################################
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes # Start of user section
#
# Define C++ warning options here
CPPWARN = -Wall -Wextra -Wundef # List all user C define here, like -D_DEBUG=1
UDEFS = -D_GNU_SOURCE -DARM_MATH_CM4 -DSHELL_CMD_TEST_ENABLED=0 \
# -DSHELL_CMD_EXIT_ENABLED=1 -DUSB_TRACE_LEVEL=5 \
# Compiler settings -DSHELL_CMD_MEM_ENABLED=0
############################################################################## # -DDISABLE_HW_WATCHDOG=1
############################################################################## # Define ASM defines here
# Start of user section UADEFS =
#
# List all user directories here
# List all user C define here, like -D_DEBUG=1 UINCDIR = $(CMSISINC)
UDEFS = -D_GNU_SOURCE -DARM_MATH_CM4 -DSHELL_CMD_TEST_ENABLED=0 \
-DSHELL_CMD_EXIT_ENABLED=1 -DUSB_TRACE_LEVEL=5 \ # List the user directory to look for the libraries here
-DSHELL_CMD_MEM_ENABLED=0 ULIBDIR = $(CMSISLIB)
# -DDISABLE_HW_WATCHDOG=1
# List all user libraries here
# Define ASM defines here ULIBS = -lm $(CMSISLIB)/libarm_cortexM4l_math.a
UADEFS =
#
# List all user directories here # End of user defines
UINCDIR = $(CMSISINC) ##############################################################################
# List the user directory to look for the libraries here RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
ULIBDIR = $(CMSISLIB) include $(RULESPATH)/rules.mk
# List all user libraries here burn-$(PROJECT):
ULIBS = -lm $(CMSISLIB)/libarm_cortexM4l_math.a st-flash write build/$(PROJECT)/$(PROJECT).bin 0x08000000
#
# End of user defines
##############################################################################
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
include $(RULESPATH)/rules.mk
burn-$(PROJECT):
st-flash write build/$(PROJECT)/$(PROJECT).bin 0x08000000