aboutsummaryrefslogtreecommitdiffstats
path: root/demos
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2018-10-21 18:07:47 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2018-10-21 18:07:47 +0000
commit368d449f4200ee44b2f942cbc978449d9fdd1db9 (patch)
treef25b2de264ba7ae929ce72f3abc67cf6f15179b2 /demos
parent7fa69f45182056cc0bdbaa0d3666a36af8f88f07 (diff)
downloadChibiOS-368d449f4200ee44b2f942cbc978449d9fdd1db9.tar.gz
ChibiOS-368d449f4200ee44b2f942cbc978449d9fdd1db9.tar.bz2
ChibiOS-368d449f4200ee44b2f942cbc978449d9fdd1db9.zip
Updated demos.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12384 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'demos')
-rw-r--r--demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/source/usbcfg.c (renamed from demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/usbcfg.c)0
-rw-r--r--demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/source/usbcfg.h (renamed from demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/usbcfg.h)0
-rw-r--r--demos/STM32/RT-STM32-LWIP-FATFS-USB/source/usbcfg.c (renamed from demos/STM32/RT-STM32-LWIP-FATFS-USB/src/usbcfg.c)0
-rw-r--r--demos/STM32/RT-STM32-LWIP-FATFS-USB/source/usbcfg.h (renamed from demos/STM32/RT-STM32-LWIP-FATFS-USB/src/usbcfg.h)0
-rw-r--r--demos/STM32/RT-STM32L031K6-NUCLEO32/Makefile113
-rw-r--r--demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/chconf.h (renamed from demos/STM32/RT-STM32L031K6-NUCLEO32/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/halconf.h (renamed from demos/STM32/RT-STM32L031K6-NUCLEO32/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L031K6-NUCLEO32/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L053-DISCOVERY/Makefile115
-rw-r--r--demos/STM32/RT-STM32L053-DISCOVERY/cfg/chconf.h (renamed from demos/STM32/RT-STM32L053-DISCOVERY/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L053-DISCOVERY/cfg/halconf.h (renamed from demos/STM32/RT-STM32L053-DISCOVERY/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L053-DISCOVERY/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L053-DISCOVERY/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.c342
-rw-r--r--demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.h26
-rw-r--r--demos/STM32/RT-STM32L053R8-NUCLEO64/Makefile113
-rw-r--r--demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/chconf.h (renamed from demos/STM32/RT-STM32L053R8-NUCLEO64/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/halconf.h (renamed from demos/STM32/RT-STM32L053R8-NUCLEO64/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L053R8-NUCLEO64/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L073RZ-NUCLEO64/Makefile113
-rw-r--r--demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/chconf.h (renamed from demos/STM32/RT-STM32L073RZ-NUCLEO64/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/halconf.h (renamed from demos/STM32/RT-STM32L073RZ-NUCLEO64/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L073RZ-NUCLEO64/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L152-DISCOVERY/Makefile113
-rw-r--r--demos/STM32/RT-STM32L152-DISCOVERY/cfg/chconf.h (renamed from demos/STM32/RT-STM32L152-DISCOVERY/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L152-DISCOVERY/cfg/halconf.h (renamed from demos/STM32/RT-STM32L152-DISCOVERY/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L152-DISCOVERY/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L152-DISCOVERY/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L152RE-NUCLEO64/Makefile113
-rw-r--r--demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/chconf.h (renamed from demos/STM32/RT-STM32L152RE-NUCLEO64/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/halconf.h (renamed from demos/STM32/RT-STM32L152RE-NUCLEO64/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L152RE-NUCLEO64/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L432KC-NUCLEO32/Makefile113
-rw-r--r--demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/chconf.h (renamed from demos/STM32/RT-STM32L432KC-NUCLEO32/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/halconf.h (renamed from demos/STM32/RT-STM32L432KC-NUCLEO32/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L432KC-NUCLEO32/mcuconf.h)0
-rw-r--r--demos/STM32/RT-STM32L476RG-NUCLEO64/Makefile113
-rw-r--r--demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/chconf.h (renamed from demos/STM32/RT-STM32L476RG-NUCLEO64/chconf.h)0
-rw-r--r--demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/halconf.h (renamed from demos/STM32/RT-STM32L476RG-NUCLEO64/halconf.h)0
-rw-r--r--demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/mcuconf.h (renamed from demos/STM32/RT-STM32L476RG-NUCLEO64/mcuconf.h)0
38 files changed, 353 insertions, 921 deletions
diff --git a/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/usbcfg.c b/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/source/usbcfg.c
index ab6cf54fa..ab6cf54fa 100644
--- a/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/usbcfg.c
+++ b/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/source/usbcfg.c
diff --git a/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/usbcfg.h b/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/source/usbcfg.h
index f0b40ba8f..f0b40ba8f 100644
--- a/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/usbcfg.h
+++ b/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/source/usbcfg.h
diff --git a/demos/STM32/RT-STM32-LWIP-FATFS-USB/src/usbcfg.c b/demos/STM32/RT-STM32-LWIP-FATFS-USB/source/usbcfg.c
index ab6cf54fa..ab6cf54fa 100644
--- a/demos/STM32/RT-STM32-LWIP-FATFS-USB/src/usbcfg.c
+++ b/demos/STM32/RT-STM32-LWIP-FATFS-USB/source/usbcfg.c
diff --git a/demos/STM32/RT-STM32-LWIP-FATFS-USB/src/usbcfg.h b/demos/STM32/RT-STM32-LWIP-FATFS-USB/source/usbcfg.h
index f0b40ba8f..f0b40ba8f 100644
--- a/demos/STM32/RT-STM32-LWIP-FATFS-USB/src/usbcfg.h
+++ b/demos/STM32/RT-STM32-LWIP-FATFS-USB/source/usbcfg.h
diff --git a/demos/STM32/RT-STM32L031K6-NUCLEO32/Makefile b/demos/STM32/RT-STM32L031K6-NUCLEO32/Makefile
index 2d4d8da58..e77e17fa2 100644
--- a/demos/STM32/RT-STM32L031K6-NUCLEO32/Makefile
+++ b/demos/STM32/RT-STM32L031K6-NUCLEO32/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m0
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m0
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L031K6-NUCLEO32/chconf.h b/demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/chconf.h
index 68b1e8a98..68b1e8a98 100644
--- a/demos/STM32/RT-STM32L031K6-NUCLEO32/chconf.h
+++ b/demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L031K6-NUCLEO32/halconf.h b/demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L031K6-NUCLEO32/halconf.h
+++ b/demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L031K6-NUCLEO32/mcuconf.h b/demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/mcuconf.h
index 4f3bb8b08..4f3bb8b08 100644
--- a/demos/STM32/RT-STM32L031K6-NUCLEO32/mcuconf.h
+++ b/demos/STM32/RT-STM32L031K6-NUCLEO32/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L053-DISCOVERY/Makefile b/demos/STM32/RT-STM32L053-DISCOVERY/Makefile
index deca81087..c7f4fd997 100644
--- a/demos/STM32/RT-STM32L053-DISCOVERY/Makefile
+++ b/demos/STM32/RT-STM32L053-DISCOVERY/Makefile
@@ -5,7 +5,7 @@
# Compiler options here.
ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
+ USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
endif
# C specific options here (added to USE_OPT).
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m0
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m0
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L053-DISCOVERY/chconf.h b/demos/STM32/RT-STM32L053-DISCOVERY/cfg/chconf.h
index 68b1e8a98..68b1e8a98 100644
--- a/demos/STM32/RT-STM32L053-DISCOVERY/chconf.h
+++ b/demos/STM32/RT-STM32L053-DISCOVERY/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L053-DISCOVERY/halconf.h b/demos/STM32/RT-STM32L053-DISCOVERY/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L053-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32L053-DISCOVERY/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L053-DISCOVERY/mcuconf.h b/demos/STM32/RT-STM32L053-DISCOVERY/cfg/mcuconf.h
index 89b9135e5..89b9135e5 100644
--- a/demos/STM32/RT-STM32L053-DISCOVERY/mcuconf.h
+++ b/demos/STM32/RT-STM32L053-DISCOVERY/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.c b/demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.c
deleted file mode 100644
index f3e69c237..000000000
--- a/demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/* Virtual serial port over USB.*/
-SerialUSBDriver SDU1;
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-#define USBD1_INTERRUPT_REQUEST_EP 2
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t vcom_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x02, /* bDeviceClass (CDC). */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0483, /* idVendor (ST). */
- 0x5740, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor vcom_device_descriptor = {
- sizeof vcom_device_descriptor_data,
- vcom_device_descriptor_data
-};
-
-/* Configuration Descriptor tree for a CDC.*/
-static const uint8_t vcom_configuration_descriptor_data[67] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(67, /* wTotalLength. */
- 0x02, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x01, /* bNumEndpoints. */
- 0x02, /* bInterfaceClass (Communications
- Interface Class, CDC section
- 4.2). */
- 0x02, /* bInterfaceSubClass (Abstract
- Control Model, CDC section 4.3). */
- 0x01, /* bInterfaceProtocol (AT commands,
- CDC section 4.4). */
- 0), /* iInterface. */
- /* Header Functional Descriptor (CDC section 5.2.3).*/
- USB_DESC_BYTE (5), /* bLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x00), /* bDescriptorSubtype (Header
- Functional Descriptor. */
- USB_DESC_BCD (0x0110), /* bcdCDC. */
- /* Call Management Functional Descriptor. */
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x01), /* bDescriptorSubtype (Call Management
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bmCapabilities (D0+D1). */
- USB_DESC_BYTE (0x01), /* bDataInterface. */
- /* ACM Functional Descriptor.*/
- USB_DESC_BYTE (4), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x02), /* bDescriptorSubtype (Abstract
- Control Management Descriptor). */
- USB_DESC_BYTE (0x02), /* bmCapabilities. */
- /* Union Functional Descriptor.*/
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x06), /* bDescriptorSubtype (Union
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bMasterInterface (Communication
- Class Interface). */
- USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
- Interface). */
- /* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
- 0x03, /* bmAttributes (Interrupt). */
- 0x0008, /* wMaxPacketSize. */
- 0xFF), /* bInterval. */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x01, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x0A, /* bInterfaceClass (Data Class
- Interface, CDC section 4.5). */
- 0x00, /* bInterfaceSubClass (CDC section
- 4.6). */
- 0x00, /* bInterfaceProtocol (CDC section
- 4.7). */
- 0x00), /* iInterface. */
- /* Endpoint 3 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00), /* bInterval. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00) /* bInterval. */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor vcom_configuration_descriptor = {
- sizeof vcom_configuration_descriptor_data,
- vcom_configuration_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t vcom_string0[] = {
- USB_DESC_BYTE(4), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t vcom_string1[] = {
- USB_DESC_BYTE(38), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0,
- 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0,
- 'c', 0, 's', 0
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t vcom_string2[] = {
- USB_DESC_BYTE(56), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'i', 0, 'b', 0, 'i', 0, 'O', 0, 'S', 0, '/', 0,
- 'R', 0, 'T', 0, ' ', 0, 'V', 0, 'i', 0, 'r', 0, 't', 0, 'u', 0,
- 'a', 0, 'l', 0, ' ', 0, 'C', 0, 'O', 0, 'M', 0, ' ', 0, 'P', 0,
- 'o', 0, 'r', 0, 't', 0
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t vcom_string3[] = {
- USB_DESC_BYTE(8), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor vcom_strings[] = {
- {sizeof vcom_string0, vcom_string0},
- {sizeof vcom_string1, vcom_string1},
- {sizeof vcom_string2, vcom_string2},
- {sizeof vcom_string3, vcom_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
-
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &vcom_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &vcom_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &vcom_strings[dindex];
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_BULK,
- NULL,
- sduDataTransmitted,
- sduDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/**
- * @brief IN EP2 state.
- */
-static USBInEndpointState ep2instate;
-
-/**
- * @brief EP2 initialization structure (IN only).
- */
-static const USBEndpointConfig ep2config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- sduInterruptTransmitted,
- NULL,
- 0x0010,
- 0x0000,
- &ep2instate,
- NULL,
- 1,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
- extern SerialUSBDriver SDU1;
-
- switch (event) {
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- chSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
-
- /* Resetting the state of the CDC subsystem.*/
- sduConfigureHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_RESET:
- /* Falls into.*/
- case USB_EVENT_UNCONFIGURED:
- /* Falls into.*/
- case USB_EVENT_SUSPEND:
- chSysLockFromISR();
-
- /* Disconnection event on suspend.*/
- sduSuspendHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_WAKEUP:
- chSysLockFromISR();
-
- /* Connection event on wakeup.*/
- sduWakeupHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- sduRequestsHook,
- sof_handler
-};
-
-/*
- * Serial over USB driver configuration.
- */
-const SerialUSBConfig serusbcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP,
- USBD1_INTERRUPT_REQUEST_EP
-};
diff --git a/demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.h b/demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.h
deleted file mode 100644
index 886cd0222..000000000
--- a/demos/STM32/RT-STM32L053-DISCOVERY/usbcfg.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef USBCFG_H
-#define USBCFG_H
-
-extern const USBConfig usbcfg;
-extern SerialUSBConfig serusbcfg;
-extern SerialUSBDriver SDU1;
-
-#endif /* USBCFG_H */
-
-/** @} */
diff --git a/demos/STM32/RT-STM32L053R8-NUCLEO64/Makefile b/demos/STM32/RT-STM32L053R8-NUCLEO64/Makefile
index 5a31b9a74..e006b182c 100644
--- a/demos/STM32/RT-STM32L053R8-NUCLEO64/Makefile
+++ b/demos/STM32/RT-STM32L053R8-NUCLEO64/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m0
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m0
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L053R8-NUCLEO64/chconf.h b/demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/chconf.h
index 68b1e8a98..68b1e8a98 100644
--- a/demos/STM32/RT-STM32L053R8-NUCLEO64/chconf.h
+++ b/demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L053R8-NUCLEO64/halconf.h b/demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L053R8-NUCLEO64/halconf.h
+++ b/demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L053R8-NUCLEO64/mcuconf.h b/demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/mcuconf.h
index 142bbd68f..142bbd68f 100644
--- a/demos/STM32/RT-STM32L053R8-NUCLEO64/mcuconf.h
+++ b/demos/STM32/RT-STM32L053R8-NUCLEO64/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L073RZ-NUCLEO64/Makefile b/demos/STM32/RT-STM32L073RZ-NUCLEO64/Makefile
index 7985775d4..c495befb7 100644
--- a/demos/STM32/RT-STM32L073RZ-NUCLEO64/Makefile
+++ b/demos/STM32/RT-STM32L073RZ-NUCLEO64/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m0
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m0
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L073RZ-NUCLEO64/chconf.h b/demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/chconf.h
index 68b1e8a98..68b1e8a98 100644
--- a/demos/STM32/RT-STM32L073RZ-NUCLEO64/chconf.h
+++ b/demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L073RZ-NUCLEO64/halconf.h b/demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L073RZ-NUCLEO64/halconf.h
+++ b/demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L073RZ-NUCLEO64/mcuconf.h b/demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/mcuconf.h
index ac0ee151f..ac0ee151f 100644
--- a/demos/STM32/RT-STM32L073RZ-NUCLEO64/mcuconf.h
+++ b/demos/STM32/RT-STM32L073RZ-NUCLEO64/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L152-DISCOVERY/Makefile b/demos/STM32/RT-STM32L152-DISCOVERY/Makefile
index 2f8d118d0..c3ce56e46 100644
--- a/demos/STM32/RT-STM32L152-DISCOVERY/Makefile
+++ b/demos/STM32/RT-STM32L152-DISCOVERY/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m3
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m3
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L152-DISCOVERY/chconf.h b/demos/STM32/RT-STM32L152-DISCOVERY/cfg/chconf.h
index 45c6d83a5..45c6d83a5 100644
--- a/demos/STM32/RT-STM32L152-DISCOVERY/chconf.h
+++ b/demos/STM32/RT-STM32L152-DISCOVERY/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L152-DISCOVERY/halconf.h b/demos/STM32/RT-STM32L152-DISCOVERY/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L152-DISCOVERY/halconf.h
+++ b/demos/STM32/RT-STM32L152-DISCOVERY/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L152-DISCOVERY/mcuconf.h b/demos/STM32/RT-STM32L152-DISCOVERY/cfg/mcuconf.h
index 12ac88d3f..12ac88d3f 100644
--- a/demos/STM32/RT-STM32L152-DISCOVERY/mcuconf.h
+++ b/demos/STM32/RT-STM32L152-DISCOVERY/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO64/Makefile b/demos/STM32/RT-STM32L152RE-NUCLEO64/Makefile
index 55fa50850..09e1860c7 100644
--- a/demos/STM32/RT-STM32L152RE-NUCLEO64/Makefile
+++ b/demos/STM32/RT-STM32L152RE-NUCLEO64/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m3
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m3
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO64/chconf.h b/demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/chconf.h
index a7343edc2..a7343edc2 100644
--- a/demos/STM32/RT-STM32L152RE-NUCLEO64/chconf.h
+++ b/demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO64/halconf.h b/demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L152RE-NUCLEO64/halconf.h
+++ b/demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L152RE-NUCLEO64/mcuconf.h b/demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/mcuconf.h
index eac1c272b..eac1c272b 100644
--- a/demos/STM32/RT-STM32L152RE-NUCLEO64/mcuconf.h
+++ b/demos/STM32/RT-STM32L152RE-NUCLEO64/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L432KC-NUCLEO32/Makefile b/demos/STM32/RT-STM32L432KC-NUCLEO32/Makefile
index e6c852f7c..46c8c18ed 100644
--- a/demos/STM32/RT-STM32L432KC-NUCLEO32/Makefile
+++ b/demos/STM32/RT-STM32L432KC-NUCLEO32/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m4
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m4
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L432KC-NUCLEO32/chconf.h b/demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/chconf.h
index a7343edc2..a7343edc2 100644
--- a/demos/STM32/RT-STM32L432KC-NUCLEO32/chconf.h
+++ b/demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L432KC-NUCLEO32/halconf.h b/demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L432KC-NUCLEO32/halconf.h
+++ b/demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L432KC-NUCLEO32/mcuconf.h b/demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/mcuconf.h
index 618fea28a..618fea28a 100644
--- a/demos/STM32/RT-STM32L432KC-NUCLEO32/mcuconf.h
+++ b/demos/STM32/RT-STM32L432KC-NUCLEO32/cfg/mcuconf.h
diff --git a/demos/STM32/RT-STM32L476RG-NUCLEO64/Makefile b/demos/STM32/RT-STM32L476RG-NUCLEO64/Makefile
index 599e36c69..91f933a33 100644
--- a/demos/STM32/RT-STM32L476RG-NUCLEO64/Makefile
+++ b/demos/STM32/RT-STM32L476RG-NUCLEO64/Makefile
@@ -18,7 +18,7 @@ ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif
-# Enable this if you want the linker to remove unused code and data
+# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif
@@ -28,16 +28,11 @@ ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif
-# Enable this if you want link time optimizations (LTO)
+# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
@@ -74,19 +69,30 @@ ifeq ($(USE_FPU),)
USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
##############################################################################
-# Project, sources and paths
+# Project, target, sources and paths
#
# Define project name here
PROJECT = ch
-# Imported source files and paths
-CHIBIOS = ../../..
+# Target settings.
+MCU = cortex-m4
+
+# Imported source files and paths.
+CHIBIOS := ../../..
+CONFDIR := ./cfg
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@@ -100,6 +106,8 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+# Auto-build files in ./source recursively.
+include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
@@ -118,73 +126,23 @@ CSRC = $(ALLCSRC) \
# setting.
CPPSRC = $(ALLCPPSRC)
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
+# List ASM source files here.
ASMSRC = $(ALLASMSRC)
-ASMXSRC = $(ALLXASMSRC)
-
-INCDIR = $(ALLINC) $(TESTINC)
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
+# List ASM with preprocessor source files here.
+ASMXSRC = $(ALLXASMSRC)
-MCU = cortex-m4
+# Inclusion directories.
+INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
+# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-# Define C++ warning options here
+# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
-# Compiler settings
+# Project, target, sources and paths
##############################################################################
##############################################################################
@@ -207,8 +165,25 @@ ULIBDIR =
ULIBS =
#
-# End of user defines
+# 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
+#
+
+#
+# Custom rules
+##############################################################################
diff --git a/demos/STM32/RT-STM32L476RG-NUCLEO64/chconf.h b/demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/chconf.h
index a7343edc2..a7343edc2 100644
--- a/demos/STM32/RT-STM32L476RG-NUCLEO64/chconf.h
+++ b/demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/chconf.h
diff --git a/demos/STM32/RT-STM32L476RG-NUCLEO64/halconf.h b/demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/halconf.h
index 89be0946a..89be0946a 100644
--- a/demos/STM32/RT-STM32L476RG-NUCLEO64/halconf.h
+++ b/demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/halconf.h
diff --git a/demos/STM32/RT-STM32L476RG-NUCLEO64/mcuconf.h b/demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/mcuconf.h
index baba1fb9d..baba1fb9d 100644
--- a/demos/STM32/RT-STM32L476RG-NUCLEO64/mcuconf.h
+++ b/demos/STM32/RT-STM32L476RG-NUCLEO64/cfg/mcuconf.h