SAMV7: Update floating point and TCM configuration options. Update TODO list. Update comments. Refresh a configuration

This commit is contained in:
Gregory Nutt 2015-03-10 07:50:32 -06:00
parent d6fce04562
commit 9e10f868eb
4 changed files with 45 additions and 2 deletions

View File

@ -348,13 +348,26 @@ config ARCH_HAVE_FPU
bool
default n
config ARCH_HAVE_DPFPU
bool
default n
config ARCH_FPU
bool "FPU support"
default y
depends on ARCH_HAVE_FPU
---help---
Build in support for the ARM Cortex-M4 Floating Point Unit (FPU).
Check your chip specifications first; not all Cortex-M4 chips support the FPU.
Check your chip specifications first; not all Cortex-M4 chips
support the FPU.
config ARCH_DPFPU
bool "Double precision FPU support"
default y
depends on ARCH_FPU && ARCH_HAVE_DPFPU
---help---
Enable toolchain support for double precision (64-bit) floating
point if both the toolchain and the hardware support it.
config ARMV7M_MPU
bool "MPU support"

View File

@ -23,6 +23,24 @@ config ARMV7M_DCACHE
default n
depends on ARMV7M_HAVE_DCACHE
config ARMV7M_HAVE_ITCM
bool
default n
config ARMV7M_HAVE_DTCM
bool
default n
config ARMV7M_ITCM
bool "Use ITCM"
default n
depends on ARMV7M_HAVE_ITCM
config ARMV7M_DTCM
bool "Use DTCM"
default n
depends on ARMV7M_HAVE_DTCM
choice
prompt "Toolchain Selection"
default ARMV7M_TOOLCHAIN_GNU_EABIW if HOST_WINDOWS

View File

@ -128,7 +128,11 @@ ifeq ($(CONFIG_ARCH_CORTEXM4),y)
TOOLCHAIN_MTUNE := -mtune=cortex-m4
TOOLCHAIN_MARCH := -march=armv7e-m
ifeq ($(CONFIG_ARCH_FPU),y)
ifeq ($(CONFIG_ARCH_DPFPU),y)
TOOLCHAIN_MFLOAT := -mfpu=fpv4-sp -mfloat-abi=hard
else
TOOLCHAIN_MFLOAT := -mfpu=fpv4-sp-d16 -mfloat-abi=hard
endif
else
TOOLCHAIN_MFLOAT := -mfloat-abi=soft
endif
@ -140,9 +144,13 @@ else ifeq ($(CONFIG_ARCH_CORTEXM7),y)
TOOLCHAIN_MCPU := -mcpu=cortex-m4
TOOLCHAIN_MTUNE := -mtune=cortex-m4
TOOLCHAIN_MARCH := -march=armv7e-m
# FIXME: Most tools do not yet fpv5 FPU types either
ifeq ($(CONFIG_ARCH_FPU),y)
# TOOLCHAIN_MFLOAT := -mfpu=fpv5-sp-d16 -mfloat-abi=hard # Single precision
ifeq ($(CONFIG_ARCH_DPFPU),y)
TOOLCHAIN_MFLOAT := -mfpu=fpv5-d16 -mfloat-abi=hard
else
TOOLCHAIN_MFLOAT := -mfpu=fpv5-sp-d16 -mfloat-abi=hard
endif
else
TOOLCHAIN_MFLOAT := -mfloat-abi=soft
endif

View File

@ -54,8 +54,12 @@ endchoice # Atmel SAMV7 Chip Selection
config ARCH_CHIP_SAMV71
bool
default n
select ARCH_HAVE_FPU
select ARCH_HAVE_DPFPU # REVISIT
select ARMV7M_HAVE_ICACHE
select ARMV7M_HAVE_DCACHE
select ARMV7M_HAVE_ITCM
select ARMV7M_HAVE_DTCM
config ARCH_CHIP_SAMV71Q
bool