New makefiles in Kinetis demos.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7827 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2015-03-29 09:03:15 +00:00
parent 46abfd539f
commit b6467d97b0
12 changed files with 178 additions and 115 deletions

View File

@ -5,8 +5,7 @@
# Compiler options here. # Compiler options here.
ifeq ($(USE_OPT),) ifeq ($(USE_OPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -DCRT0_INIT_STACKS=0 -std=gnu99 USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
# USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
endif endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
@ -31,7 +30,7 @@ endif
# Enable this if you want link time optimizations (LTO) # Enable this if you want link time optimizations (LTO)
ifeq ($(USE_LTO),) ifeq ($(USE_LTO),)
USE_LTO = no USE_LTO = yes
endif endif
# If enabled, this option allows to compile the application in THUMB mode. # If enabled, this option allows to compile the application in THUMB mode.
@ -64,6 +63,11 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x400 USE_EXCEPTIONS_STACKSIZE = 0x400
endif endif
# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif
# #
# Architecture or project specific options # Architecture or project specific options
############################################################################## ##############################################################################
@ -77,26 +81,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_k20x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/MK20DX128.ld LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(TESTSRC) \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -124,10 +134,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -151,6 +161,7 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex

View File

@ -5,8 +5,7 @@
# Compiler options here. # Compiler options here.
ifeq ($(USE_OPT),) ifeq ($(USE_OPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -DCRT0_INIT_STACKS=0 USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
# USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
endif endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
@ -64,6 +63,11 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x400 USE_EXCEPTIONS_STACKSIZE = 0x400
endif endif
# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif
# #
# Architecture or project specific options # Architecture or project specific options
############################################################################## ##############################################################################
@ -77,26 +81,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_k20x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/MK20DX128.ld LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(TESTSRC) \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -124,10 +134,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -151,6 +161,7 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex

View File

@ -10,7 +10,7 @@ endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
ifeq ($(USE_COPT),) ifeq ($(USE_COPT),)
USE_COPT = -std=gnu99 USE_COPT =
endif endif
# C++ specific options here (added to USE_OPT). # C++ specific options here (added to USE_OPT).
@ -30,7 +30,7 @@ endif
# Enable this if you want link time optimizations (LTO) # Enable this if you want link time optimizations (LTO)
ifeq ($(USE_LTO),) ifeq ($(USE_LTO),)
USE_LTO = no USE_LTO = yes
endif endif
# If enabled, this option allows to compile the application in THUMB mode. # If enabled, this option allows to compile the application in THUMB mode.
@ -76,26 +76,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/KL2x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/KL2x/platform.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/KL25Z128.ld LDSCRIPT= $(STARTUPLD)/KL25Z128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(TESTSRC) \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -123,10 +129,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -150,6 +156,7 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex

View File

@ -76,26 +76,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/KL2x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/KL2x/platform.mk
include $(CHIBIOS)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/KL25Z128.ld LDSCRIPT= $(STARTUPLD)/KL25Z128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(TESTSRC) \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -123,10 +129,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -150,6 +156,7 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex

View File

@ -10,7 +10,7 @@ endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
ifeq ($(USE_COPT),) ifeq ($(USE_COPT),)
USE_COPT = -std=gnu99 USE_COPT =
endif endif
# C++ specific options here (added to USE_OPT). # C++ specific options here (added to USE_OPT).
@ -30,7 +30,7 @@ endif
# Enable this if you want link time optimizations (LTO) # Enable this if you want link time optimizations (LTO)
ifeq ($(USE_LTO),) ifeq ($(USE_LTO),)
USE_LTO = no USE_LTO = yes
endif endif
# If enabled, this option allows to compile the application in THUMB mode. # If enabled, this option allows to compile the application in THUMB mode.
@ -63,6 +63,11 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x400 USE_EXCEPTIONS_STACKSIZE = 0x400
endif endif
# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif
# #
# Architecture or project specific options # Architecture or project specific options
############################################################################## ##############################################################################
@ -76,27 +81,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_k20x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/MCHCK_K20/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk
include $(CHIBIOS)/os/hal/boards/MCHCK_K20/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/MK20DX128.ld LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(CHIBIOS)/os/hal/lib/streams/memstreams.c \ $(TESTSRC) \
$(CHIBIOS)/os/hal/lib/streams/chprintf.c \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -124,10 +134,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -151,6 +161,7 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex

View File

@ -10,7 +10,7 @@ endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
ifeq ($(USE_COPT),) ifeq ($(USE_COPT),)
USE_COPT = -std=gnu99 USE_COPT =
endif endif
# C++ specific options here (added to USE_OPT). # C++ specific options here (added to USE_OPT).
@ -63,6 +63,11 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x400 USE_EXCEPTIONS_STACKSIZE = 0x400
endif endif
# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif
# #
# Architecture or project specific options # Architecture or project specific options
############################################################################## ##############################################################################
@ -76,27 +81,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_k20x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/MCHCK_K20/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk
include $(CHIBIOS)/os/hal/boards/MCHCK_K20/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/MK20DX128.ld LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(CHIBIOS)/os/hal/lib/streams/memstreams.c \ $(TESTSRC) \
$(CHIBIOS)/os/hal/lib/streams/chprintf.c \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -124,10 +134,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -151,6 +161,7 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex

View File

@ -5,7 +5,7 @@
# Compiler options here. # Compiler options here.
ifeq ($(USE_OPT),) ifeq ($(USE_OPT),)
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -DCRT0_INIT_STACKS=0 USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
endif endif
# C specific options here (added to USE_OPT). # C specific options here (added to USE_OPT).
@ -63,6 +63,11 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x400 USE_EXCEPTIONS_STACKSIZE = 0x400
endif endif
# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif
# #
# Architecture or project specific options # Architecture or project specific options
############################################################################## ##############################################################################
@ -76,26 +81,32 @@ PROJECT = ch
# Imported source files and paths # Imported source files and paths
CHIBIOS = ../../.. CHIBIOS = ../../..
# Startup files.
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_k20x.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/boards/PJRC_TEENSY_3/board.mk
include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk include $(CHIBIOS)/os/hal/ports/KINETIS/K20x/platform.mk
include $(CHIBIOS)/os/hal/boards/PJRC_TEENSY_3/board.mk
include $(CHIBIOS)/os/hal/osal/rt/osal.mk include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Other files (optional).
include $(CHIBIOS)/test/rt/test.mk include $(CHIBIOS)/test/rt/test.mk
# Define linker script file here # Define linker script file here
LDSCRIPT= $(PORTLD)/MK20DX128.ld LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global # C sources that can be compiled in ARM or THUMB mode depending on the global
# setting. # setting.
CSRC = $(PORTSRC) \ CSRC = $(STARTUPSRC) \
$(KERNSRC) \ $(KERNSRC) \
$(TESTSRC) \ $(PORTSRC) \
$(HALSRC) \
$(OSALSRC) \ $(OSALSRC) \
$(HALSRC) \
$(PLATFORMSRC) \ $(PLATFORMSRC) \
$(BOARDSRC) \ $(BOARDSRC) \
$(TESTSRC) \
main.c main.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global # C++ sources that can be compiled in ARM or THUMB mode depending on the global
@ -123,10 +134,10 @@ TCSRC =
TCPPSRC = TCPPSRC =
# List ASM source files here # List ASM source files here
ASMSRC = $(PORTASM) ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
$(HALINC) $(OSALINC) $(PLATFORMINC) $(BOARDINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
$(CHIBIOS)/os/various $(CHIBIOS)/os/various
# #
@ -150,10 +161,12 @@ LD = $(TRGT)gcc
#LD = $(TRGT)g++ #LD = $(TRGT)g++
CP = $(TRGT)objcopy CP = $(TRGT)objcopy
AS = $(TRGT)gcc -x assembler-with-cpp AS = $(TRGT)gcc -x assembler-with-cpp
AR = $(TRGT)ar
OD = $(TRGT)objdump OD = $(TRGT)objdump
SZ = $(TRGT)size SZ = $(TRGT)size
HEX = $(CP) -O ihex HEX = $(CP) -O ihex
BIN = $(CP) -O binary BIN = $(CP) -O binary
SREC = $(CP) -O srec
# ARM-specific options here # ARM-specific options here
AOPT = AOPT =

View File

@ -0,0 +1,11 @@
# List of the ChibiOS generic K20x startup and CMSIS files.
STARTUPSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/vectors.c
STARTUPASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s
STARTUPINC = $(CHIBIOS)/os/common/ports/ARMCMx/devices/K20x \
$(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/KINETIS
STARTUPLD = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/ld

View File

@ -0,0 +1,11 @@
# List of the ChibiOS generic KL2x startup and CMSIS files.
STARTUPSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/vectors.c
STARTUPASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s
STARTUPINC = $(CHIBIOS)/os/common/ports/ARMCMx/devices/KL2x \
$(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/KINETIS
STARTUPLD = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/ld

View File

@ -135,12 +135,13 @@ static void ext_lld_exti_irq_disable(void) {
* Generic interrupt handler. * Generic interrupt handler.
*/ */
static inline void irq_handler(PORT_TypeDef * const port, const unsigned port_width, const uint8_t *channel_map) { static inline void irq_handler(PORT_TypeDef * const port, const unsigned port_width, const uint8_t *channel_map) {
unsigned pin;
uint32_t isfr = port->ISFR; uint32_t isfr = port->ISFR;
/* Clear all pending interrupts on this port. */ /* Clear all pending interrupts on this port. */
port->ISFR = 0xFFFFFFFF; port->ISFR = 0xFFFFFFFF;
for (unsigned pin = 0; pin < port_width; pin++) { for (pin = 0; pin < port_width; pin++) {
if (isfr & (1 << pin)) { if (isfr & (1 << pin)) {
expchannel_t channel = channel_map[pin]; expchannel_t channel = channel_map[pin];
EXTD1.config->channels[channel].cb(&EXTD1, channel); EXTD1.config->channels[channel].cb(&EXTD1, channel);
@ -246,12 +247,13 @@ void ext_lld_init(void) {
* @notapi * @notapi
*/ */
void ext_lld_start(EXTDriver *extp) { void ext_lld_start(EXTDriver *extp) {
expchannel_t channel;
if (extp->state == EXT_STOP) if (extp->state == EXT_STOP)
ext_lld_exti_irq_enable(); ext_lld_exti_irq_enable();
/* Configuration of automatic channels.*/ /* Configuration of automatic channels.*/
for (expchannel_t channel = 0; channel < EXT_MAX_CHANNELS; channel++) { for (channel = 0; channel < EXT_MAX_CHANNELS; channel++) {
uint32_t mode = extp->config->channels[channel].mode; uint32_t mode = extp->config->channels[channel].mode;
PORT_TypeDef *port = extp->config->channels[channel].port; PORT_TypeDef *port = extp->config->channels[channel].port;

View File

@ -1,16 +0,0 @@
# List of the ChibiOS/RT Cortex-M4 K20x port files.
PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/vectors.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
$(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/KINETIS \
$(CHIBIOS)/os/common/ports/ARMCMx/devices/K20x \
$(CHIBIOS)/os/rt/ports/ARMCMx \
$(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC
PORTLD = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/ld

View File

@ -1,16 +0,0 @@
# List of the ChibiOS/RT Cortex-M0+ KL2x port files.
PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/vectors.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v6m.c
PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s \
$(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/KINETIS \
$(CHIBIOS)/os/common/ports/ARMCMx/devices/KL2x \
$(CHIBIOS)/os/rt/ports/ARMCMx \
$(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC
PORTLD = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/ld