arch/armv7-a/r: Unify the toolchain definition of eabi for linux and windows

Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
chao.an 2022-04-19 14:38:36 +08:00 committed by Xiang Xiao
parent 4a085e1cdb
commit 2df591b3bb
12 changed files with 30 additions and 65 deletions

View File

@ -128,25 +128,15 @@ endif # ARMV7A_HAVE_L2CC
choice choice
prompt "Toolchain Selection" prompt "Toolchain Selection"
default ARMV7A_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS default ARMV7A_TOOLCHAIN_GNU_EABI
default ARMV7A_TOOLCHAIN_GNU_EABIL if !TOOLCHAIN_WINDOWS
config ARMV7A_TOOLCHAIN_BUILDROOT config ARMV7A_TOOLCHAIN_BUILDROOT
bool "Buildroot (Cygwin or Linux)" bool "Buildroot (Cygwin or Linux)"
select ARCH_TOOLCHAIN_GNU select ARCH_TOOLCHAIN_GNU
depends on !WINDOWS_NATIVE depends on !WINDOWS_NATIVE
config ARMV7A_TOOLCHAIN_GNU_EABIL config ARMV7A_TOOLCHAIN_GNU_EABI
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)" bool "Generic GNU EABI toolchain"
select ARCH_TOOLCHAIN_GNU
---help---
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
configured for arm-none-eabi-.
config ARMV7A_TOOLCHAIN_GNU_EABIW
bool "Generic GNU EABI toolchain under Windows"
depends on TOOLCHAIN_WINDOWS
select CYGWIN_WINTOOL if WINDOWS_CYGWIN
select ARCH_TOOLCHAIN_GNU select ARCH_TOOLCHAIN_GNU
---help--- ---help---
This option should work for any modern GNU toolchain (GCC 4.5 or newer) This option should work for any modern GNU toolchain (GCC 4.5 or newer)

View File

@ -32,13 +32,7 @@ ifeq ($(filter y, \
endif endif
ifeq ($(filter y, \ ifeq ($(filter y, \
$(CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL) \ $(CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI) \
),y)
CONFIG_ARMV7A_TOOLCHAIN ?= GNU_EABI
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW) \
),y) ),y)
CONFIG_ARMV7A_TOOLCHAIN ?= GNU_EABI CONFIG_ARMV7A_TOOLCHAIN ?= GNU_EABI
endif endif

View File

@ -128,25 +128,15 @@ endif # ARMV7R_HAVE_L2CC
choice choice
prompt "Toolchain Selection" prompt "Toolchain Selection"
default ARMV7R_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS default ARMV7R_TOOLCHAIN_GNU_EABI
default ARMV7R_TOOLCHAIN_GNU_EABIL if !TOOLCHAIN_WINDOWS
config ARMV7R_TOOLCHAIN_BUILDROOT config ARMV7R_TOOLCHAIN_BUILDROOT
bool "Buildroot (Cygwin or Linux)" bool "Buildroot (Cygwin or Linux)"
select ARCH_TOOLCHAIN_GNU select ARCH_TOOLCHAIN_GNU
depends on !WINDOWS_NATIVE depends on !WINDOWS_NATIVE
config ARMV7R_TOOLCHAIN_GNU_EABIL config ARMV7R_TOOLCHAIN_GNU_EABI
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)" bool "Generic GNU EABI toolchain"
select ARCH_TOOLCHAIN_GNU
---help---
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
configured for arm-none-eabi-.
config ARMV7R_TOOLCHAIN_GNU_EABIW
bool "Generic GNU EABI toolchain under Windows"
depends on TOOLCHAIN_WINDOWS
select CYGWIN_WINTOOL if WINDOWS_CYGWIN
select ARCH_TOOLCHAIN_GNU select ARCH_TOOLCHAIN_GNU
---help--- ---help---
This option should work for any modern GNU toolchain (GCC 4.5 or newer) This option should work for any modern GNU toolchain (GCC 4.5 or newer)

View File

@ -32,13 +32,7 @@ ifeq ($(filter y, \
endif endif
ifeq ($(filter y, \ ifeq ($(filter y, \
$(CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIL) \ $(CONFIG_ARMV7R_TOOLCHAIN_GNU_EABI) \
),y)
CONFIG_ARMV7R_TOOLCHAIN ?= GNU_EABI
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIW) \
),y) ),y)
CONFIG_ARMV7R_TOOLCHAIN ?= GNU_EABI CONFIG_ARMV7R_TOOLCHAIN ?= GNU_EABI
endif endif

View File

@ -367,7 +367,7 @@ Configurations
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
Configuration Sub-directories Configuration Sub-directories
----------------------------- -----------------------------

View File

@ -210,7 +210,7 @@ Configurations
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
Configuration Sub-directories Configuration Sub-directories
----------------------------- -----------------------------

View File

@ -453,7 +453,7 @@ NOTES:
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
4. The SAMA5Dx is running at 528MHz by default in these configurations. 4. The SAMA5Dx is running at 528MHz by default in these configurations.

View File

@ -757,7 +757,7 @@ Configurations
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
4. The SAMA5Dx is running at 528MHz by default in these configurations. 4. The SAMA5Dx is running at 528MHz by default in these configurations.

View File

@ -109,8 +109,7 @@ GNU Toolchain Options
configuration options to your .config (or defconfig) file: configuration options to your .config (or defconfig) file:
CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : Generic GCC ARM EABI toolchain
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
NOTE about Windows native toolchains NOTE about Windows native toolchains
------------------------------------ ------------------------------------
@ -3110,7 +3109,7 @@ Configurations
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
4. The SAMA5Dx is running at 396MHz by default in these configurations. 4. The SAMA5Dx is running at 396MHz by default in these configurations.
This is because the original timing for the PLLs, NOR FLASH, and SDRAM This is because the original timing for the PLLs, NOR FLASH, and SDRAM
@ -3173,7 +3172,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3235,7 +3234,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a

View File

@ -131,8 +131,7 @@ GNU Toolchain Options
configuration options to your .config (or defconfig) file: configuration options to your .config (or defconfig) file:
CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : Generic GCC ARM EABI toolchain
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
IDEs IDEs
==== ====
@ -3294,7 +3293,7 @@ Configurations
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
4. The SAMA5Dx is running at 396MHz by default in these configurations. 4. The SAMA5Dx is running at 396MHz by default in these configurations.
This is because the original timing for the PLLs, NOR FLASH, and SDRAM This is because the original timing for the PLLs, NOR FLASH, and SDRAM
@ -3390,7 +3389,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3468,7 +3467,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3541,7 +3540,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a

View File

@ -125,8 +125,7 @@ GNU Toolchain Options
configuration options to your .config (or defconfig) file: configuration options to your .config (or defconfig) file:
CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : Generic GCC ARM EABI toolchain
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
IDEs IDEs
==== ====
@ -3573,7 +3572,7 @@ Configurations
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
System Type -> Toolchain: System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
4. The SAMA5Dx is running at 528MHz by default in these configurations. 4. The SAMA5Dx is running at 528MHz by default in these configurations.
@ -3665,7 +3664,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3734,7 +3733,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3813,7 +3812,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3982,7 +3981,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -4228,7 +4227,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -4880,7 +4879,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI=y : GNU EABI toolchain
If you are running on Linux, make *certain* that you have If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a CONFIG_HOST_LINUX=y *before* the first make or you will create a

View File

@ -1,3 +1,3 @@
/arm/[a]*,CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL /arm/[a]*,CONFIG_ARMV7A_TOOLCHAIN_GNU_EABI
/arm/[b-h]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI /arm/[b-h]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI