summaryrefslogtreecommitdiff
path: root/nuttx/configs
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/configs')
-rw-r--r--nuttx/configs/amber/README.txt14
-rw-r--r--nuttx/configs/amber/hello/Make.defs28
-rw-r--r--nuttx/configs/avr32dev1/README.txt12
-rw-r--r--nuttx/configs/avr32dev1/nsh/Make.defs15
-rw-r--r--nuttx/configs/ea3131/README.txt28
-rw-r--r--nuttx/configs/ea3131/nsh/Make.defs25
-rw-r--r--nuttx/configs/ea3131/ostest/Make.defs25
-rw-r--r--nuttx/configs/ea3131/pgnsh/Make.defs25
-rw-r--r--nuttx/configs/ea3131/usbserial/Make.defs25
-rw-r--r--nuttx/configs/ea3131/usbstorage/Make.defs25
-rw-r--r--nuttx/configs/ea3152/README.txt28
-rw-r--r--nuttx/configs/ea3152/ostest/Make.defs25
-rw-r--r--nuttx/configs/micropendous3/README.txt16
-rw-r--r--nuttx/configs/micropendous3/hello/Make.defs28
-rw-r--r--nuttx/configs/mirtoo/README.txt15
-rw-r--r--nuttx/configs/ntosd-dm320/README.txt28
-rw-r--r--nuttx/configs/ntosd-dm320/nettest/Make.defs25
-rw-r--r--nuttx/configs/ntosd-dm320/nsh/Make.defs25
-rw-r--r--nuttx/configs/ntosd-dm320/ostest/Make.defs25
-rw-r--r--nuttx/configs/ntosd-dm320/poll/Make.defs25
-rw-r--r--nuttx/configs/ntosd-dm320/thttpd/Make.defs25
-rw-r--r--nuttx/configs/ntosd-dm320/udp/Make.defs25
-rw-r--r--nuttx/configs/ntosd-dm320/uip/Make.defs25
-rw-r--r--nuttx/configs/olimex-lpc2378/nsh/Make.defs25
-rw-r--r--nuttx/configs/olimex-lpc2378/ostest/Make.defs25
-rw-r--r--nuttx/configs/stm3220g-eval/README.txt33
-rw-r--r--nuttx/configs/teensy/README.txt16
-rw-r--r--nuttx/configs/teensy/hello/Make.defs28
-rw-r--r--nuttx/configs/teensy/nsh/Make.defs28
-rw-r--r--nuttx/configs/teensy/usbstorage/Make.defs28
30 files changed, 196 insertions, 524 deletions
diff --git a/nuttx/configs/amber/README.txt b/nuttx/configs/amber/README.txt
index 63fa5d41f..56e31ba7f 100644
--- a/nuttx/configs/amber/README.txt
+++ b/nuttx/configs/amber/README.txt
@@ -187,6 +187,12 @@ Atmel AVRISP mkII Connection
Toolchains
^^^^^^^^^^
+The toolchain may be selected using the mconf tool (via 'make menuconfig'),
+by editing the existing configuration file (defconfig), or by overriding
+the toolchain on the make commandline with CONFIG_AVR_TOOLCHAIN=<toolchain>.
+
+The valid values for <toolchain> are BUILDROOT, CROSSPACK, LINUXGCC and WINAVR.
+
Buildroot:
There is a DIY buildroot version for the AVR boards here:
@@ -223,6 +229,14 @@ Linux:
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
.config file.
+Mac OS X:
+
+ For Mac OS X, the CrossPack for AVR toolchain is available from:
+
+ http://www.obdev.at/products/crosspack/index.html
+
+ This toolchain is functionally equivalent to the Linux GCC toolchain.
+
Windows Native Toolchains
^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/nuttx/configs/amber/hello/Make.defs b/nuttx/configs/amber/hello/Make.defs
index 15c31f192..e7f998dc7 100644
--- a/nuttx/configs/amber/hello/Make.defs
+++ b/nuttx/configs/amber/hello/Make.defs
@@ -35,33 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_AVR_WINAVR),y)
- # WinAVR toolchain under Windows/Cygwin
- CROSSDEV = avr-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=atmega128
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_LINUXGCC),y)
- # GCC toolchain under Linux
- CROSSDEV = avr-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=atmega128
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_BUILDROOT),y)
- # NuttX buildroot GCC toolchain under Linux or Cygwin
- CROSSDEV = avr-nuttx-elf-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=atmega128
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
+include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/avr32dev1/README.txt b/nuttx/configs/avr32dev1/README.txt
index 68d019227..37e15dc9b 100644
--- a/nuttx/configs/avr32dev1/README.txt
+++ b/nuttx/configs/avr32dev1/README.txt
@@ -112,7 +112,7 @@ PA17 and PA23 are avaiable from the AVR32DEV1:
Development Environment
^^^^^^^^^^^^^^^^^^^^^^^
- Either Linux or Cygwin on Windows can be used for the development environment.
+ Linux, Mac OS X or Cygwin on Windows can be used for the development environment.
The source has been built only using the GNU toolchain (see below). Other
toolchains will likely cause problems. Testing was performed using the Cygwin
environment.
@@ -140,6 +140,16 @@ WinAVR:
AVR32 toolchain as well as the AVR toolchain and various support
libraries and header files.
+AVR32 Toolchain Builder:
+
+ A third option is to build the toolchain yourself. For OS X and Linux systems,
+ this Makefile will build a complete gcc-4.4.3 toolchain:
+
+ https://github.com/jsnyder/avr32-toolchain
+
+ By default the toolchain installs into ${HOME}/avr-32-tools-<somedate> and
+ the bin subdirectory must be added to your path before compiling.
+
IDEs
^^^^
diff --git a/nuttx/configs/avr32dev1/nsh/Make.defs b/nuttx/configs/avr32dev1/nsh/Make.defs
index aa84884d0..bccb35069 100644
--- a/nuttx/configs/avr32dev1/nsh/Make.defs
+++ b/nuttx/configs/avr32dev1/nsh/Make.defs
@@ -35,20 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_AVR32_AVRTOOLSW),y)
- # AVR Tools under Windows
- CROSSDEV = avr32-
- WINTOOL = y
- ARCHCPUFLAGS = -mpart=uc3b0256
-endif
-ifeq ($(CONFIG_AVR32_AVRTOOLSL),y)
- # AVR Tools under Linux
- CROSSDEV = avr32-
- ARCHCPUFLAGS = -mpart=uc3b0256
-endif
+include ${TOPDIR}/arch/avr/src/avr32/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ea3131/README.txt b/nuttx/configs/ea3131/README.txt
index 2912bf318..fcfc0792f 100644
--- a/nuttx/configs/ea3131/README.txt
+++ b/nuttx/configs/ea3131/README.txt
@@ -34,8 +34,9 @@ GNU Toolchain Options
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
- 3. Raisonance GNU toolchain, or
- 4. The NuttX buildroot Toolchain (see below).
+ 3. Raisonance GNU toolchain,
+ 4. The NuttX buildroot Toolchain (see below), or
+ 5. Any generic arm-none-eabi GNU toolchain.
All testing has been conducted using the NuttX buildroot toolchain. However,
the make system is setup to default to use the devkitARM toolchain. To use
@@ -47,10 +48,16 @@ GNU Toolchain Options
CONFIG_LPC31_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
+ CONFIG_ARM_TOOLCHAIN_GNU_EABI : Generic arm-none-eabi toolchain
If you are not using CONFIG_LPC31_BUILDROOT, then you may also have to modify
the PATH in the setenv.h file if your make cannot find the tools.
+ The toolchain may also be set using the mconf utility (make menuconfig) or by
+ passing CONFIG_ARM_TOOLCHAIN=<toolchain> to make, where <toolchain> is one
+ of CODESOURCERYW, CODESOURCERYL, DEVKITARM, BUILDROOT or GNU_EABI as described
+ above.
+
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
@@ -87,6 +94,23 @@ GNU Toolchain Options
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
path or will get the wrong version of make.
+ Generic arm-none-eabi GNU Toolchain
+ -----------------------------------
+ There are a number of toolchain projects providing support for ARMv4/v5
+ class processors, including:
+
+ GCC ARM Embedded
+ https://launchpad.net/gcc-arm-embedded
+
+ Summon ARM Toolchain
+ https://github.com/esden/summon-arm-toolchain
+
+ Yagarto
+ http://www.yagarto.de
+
+ Others exist for various Linux distributions, MacPorts, etc. Any version
+ based on GCC 4.6.3 or later should work.
+
IDEs
^^^^
diff --git a/nuttx/configs/ea3131/nsh/Make.defs b/nuttx/configs/ea3131/nsh/Make.defs
index a061eb22c..1bfd6f4d5 100644
--- a/nuttx/configs/ea3131/nsh/Make.defs
+++ b/nuttx/configs/ea3131/nsh/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_LPC31_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_LPC31_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ea3131/ostest/Make.defs b/nuttx/configs/ea3131/ostest/Make.defs
index ba750e212..9c8780a4a 100644
--- a/nuttx/configs/ea3131/ostest/Make.defs
+++ b/nuttx/configs/ea3131/ostest/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_LPC31_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_LPC31_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ea3131/pgnsh/Make.defs b/nuttx/configs/ea3131/pgnsh/Make.defs
index c142319de..f71a0920e 100644
--- a/nuttx/configs/ea3131/pgnsh/Make.defs
+++ b/nuttx/configs/ea3131/pgnsh/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_LPC31_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_LPC31_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ea3131/usbserial/Make.defs b/nuttx/configs/ea3131/usbserial/Make.defs
index ef64e2615..1b1eb45d5 100644
--- a/nuttx/configs/ea3131/usbserial/Make.defs
+++ b/nuttx/configs/ea3131/usbserial/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_LPC31_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_LPC31_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ea3131/usbstorage/Make.defs b/nuttx/configs/ea3131/usbstorage/Make.defs
index 739360615..7155ccf5c 100644
--- a/nuttx/configs/ea3131/usbstorage/Make.defs
+++ b/nuttx/configs/ea3131/usbstorage/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_LPC31_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_LPC31_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ea3152/README.txt b/nuttx/configs/ea3152/README.txt
index 7aa57e3ae..da57945bd 100644
--- a/nuttx/configs/ea3152/README.txt
+++ b/nuttx/configs/ea3152/README.txt
@@ -33,8 +33,9 @@ GNU Toolchain Options
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
- 3. Raisonance GNU toolchain, or
- 4. The NuttX buildroot Toolchain (see below).
+ 3. Raisonance GNU toolchain,
+ 4. The NuttX buildroot Toolchain (see below), or
+ 5. Any generic arm-none-eabi GNU toolchain.
All testing has been conducted using the NuttX buildroot toolchain. However,
the make system is setup to default to use the devkitARM toolchain. To use
@@ -46,10 +47,16 @@ GNU Toolchain Options
CONFIG_LPC31_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
+ CONFIG_ARM_TOOLCHAIN_GNU_EABI : Generic arm-none-eabi toolchain
If you are not using CONFIG_LPC31_BUILDROOT, then you may also have to modify
the PATH in the setenv.h file if your make cannot find the tools.
+ The toolchain may also be set using the mconf utility (make menuconfig) or by
+ passing CONFIG_ARM_TOOLCHAIN=<toolchain> to make, where <toolchain> is one
+ of CODESOURCERYW, CODESOURCERYL, DEVKITARM, BUILDROOT or GNU_EABI as described
+ above.
+
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
@@ -85,6 +92,23 @@ GNU Toolchain Options
NOTE 2: The devkitARM toolchain includes a version of MSYS make. Make sure that
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
path or will get the wrong version of make.
+
+ Generic arm-none-eabi GNU Toolchain
+ -----------------------------------
+ There are a number of toolchain projects providing support for ARMv4/v5
+ class processors, including:
+
+ GCC ARM Embedded
+ https://launchpad.net/gcc-arm-embedded
+
+ Summon ARM Toolchain
+ https://github.com/esden/summon-arm-toolchain
+
+ Yagarto
+ http://www.yagarto.de
+
+ Others exist for various Linux distributions, MacPorts, etc. Any version
+ based on GCC 4.6.3 or later should work.
IDEs
^^^^
diff --git a/nuttx/configs/ea3152/ostest/Make.defs b/nuttx/configs/ea3152/ostest/Make.defs
index f69eb5e95..45168938a 100644
--- a/nuttx/configs/ea3152/ostest/Make.defs
+++ b/nuttx/configs/ea3152/ostest/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_LPC31_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_LPC31_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_LPC31_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/micropendous3/README.txt b/nuttx/configs/micropendous3/README.txt
index 583f1d8d8..1b0f2c8ce 100644
--- a/nuttx/configs/micropendous3/README.txt
+++ b/nuttx/configs/micropendous3/README.txt
@@ -198,7 +198,13 @@ Toolchains
There are several toolchain options. However, testing has been performed
using *only* the NuttX buildroot toolchain described below. Therefore,
-the NuttX buildroot toolchain is the recommended choice:
+the NuttX buildroot toolchain is the recommended choice.
+
+The toolchain may be selected using the mconf tool (via 'make menuconfig'),
+by editing the existing configuration file (defconfig), or by overriding
+the toolchain on the make commandline with CONFIG_AVR_TOOLCHAIN=<toolchain>.
+
+The valid values for <toolchain> are BUILDROOT, CROSSPACK, LINUXGCC and WINAVR.
Buildroot:
@@ -236,6 +242,14 @@ Linux:
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
.config file.
+Mac OS X:
+
+ For Mac OS X, the CrossPack for AVR toolchain is available from:
+
+ http://www.obdev.at/products/crosspack/index.html
+
+ This toolchain is functionally equivalent to the Linux GCC toolchain.
+
Windows Native Toolchains
^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/nuttx/configs/micropendous3/hello/Make.defs b/nuttx/configs/micropendous3/hello/Make.defs
index 69073bb43..a40098fff 100644
--- a/nuttx/configs/micropendous3/hello/Make.defs
+++ b/nuttx/configs/micropendous3/hello/Make.defs
@@ -35,33 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_AVR_WINAVR),y)
- # WinAVR toolchain under Windows/Cygwin
- CROSSDEV = avr-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb647
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_LINUXGCC),y)
- # GCC toolchain under Linux
- CROSSDEV = avr-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb647
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_BUILDROOT),y)
- # NuttX buildroot GCC toolchain under Linux or Cygwin
- CROSSDEV = avr-nuttx-elf-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb647
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
+include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/mirtoo/README.txt b/nuttx/configs/mirtoo/README.txt
index 488884ba5..89c137a03 100644
--- a/nuttx/configs/mirtoo/README.txt
+++ b/nuttx/configs/mirtoo/README.txt
@@ -323,6 +323,12 @@ Additional signals available via Peripheral Pin Selections (PPS)
Toolchains
==========
+ Note that in addition to the configuration options listed below, the
+ toolchain can be configured using the mconf utility ('make menuconfig')
+ or by passing CONFIG_MIPS32_TOOLCHAIN=<toolchain> to make, where
+ <toolchain> is one of GNU_ELF, MICROCHIPL, MICROCHIPW, MICROCHIPL_LITE,
+ MICROCHIPW_LITE, MICROCHIPOPENL or PINGUINOW as described below.
+
MPLAB/C32
---------
@@ -376,7 +382,7 @@ Toolchains
Note that the tools will have the prefix, mypic32- so, for example, the
compiler will be called mypic32-gcc.
- Pinguino mips-elf Toolchain
+ Pinguino mips-elf / Generic mips-elf Toolchain
---------------------------
Another option is the mips-elf toolchain used with the Pinguino project. This
@@ -390,12 +396,15 @@ Toolchains
configurations. Use one of these configuration options to select the Pinguino
mips-elf toolchain:
- CONFIG_PIC32MX_PINGUINOW - Pinguino mips-elf toolchain for Windows
- CONFIG_PIC32MX_PINGUINOL - Pinguino mips toolchain for Linux
+ CONFIG_PIC32MX_PINGUINOW - Pinguino mips-elf toolchain for Windows
+ CONFIG_MIPS32_TOOLCHAIN_GNU_ELF - mips-elf toolchain for Linux or OS X
And set the path appropriately in the setenv.sh file. These tool configurations
are untested -- expect some additional integration issues. Good luck!
+ This configuration will also work with any generic mips-elf GCC past version
+ 4.6 or so.
+
MPLAB/C32 vs MPLABX/X32
-----------------------
diff --git a/nuttx/configs/ntosd-dm320/README.txt b/nuttx/configs/ntosd-dm320/README.txt
index 1a6a38e7c..d85e53525 100644
--- a/nuttx/configs/ntosd-dm320/README.txt
+++ b/nuttx/configs/ntosd-dm320/README.txt
@@ -54,7 +54,8 @@ GNU Toolchain Options
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
3. Raisonance GNU toolchain, or
- 4. The NuttX buildroot Toolchain (see below).
+ 4. The NuttX buildroot Toolchain (see below), or
+ 5. Any generic arm-none-eabi GNU toolchain.
All testing has been conducted using the NuttX buildroot toolchain. However,
the make system is setup to default to use the devkitARM toolchain. To use
@@ -65,11 +66,17 @@ GNU Toolchain Options
CONFIG_DM320_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_DM320_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_DM320_DEVKITARM=y : devkitARM under Windows
- CONFIG_DM320_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
+ CONFIG_DM320_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
+ CONFIG_ARM_TOOLCHAIN_GNU_EABI : Generic arm-none-eabi toolchain
If you are not using CONFIG_DM320_BUILDROOT, then you may also have to modify
the PATH in the setenv.h file if your make cannot find the tools.
+ The toolchain may also be set using the mconf utility (make menuconfig) or by
+ passing CONFIG_ARM_TOOLCHAIN=<toolchain> to make, where <toolchain> is one
+ of CODESOURCERYW, CODESOURCERYL, DEVKITARM, BUILDROOT or GNU_EABI as described
+ above.
+
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
@@ -105,6 +112,23 @@ GNU Toolchain Options
NOTE 2: The devkitARM toolchain includes a version of MSYS make. Make sure that
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
path or will get the wrong version of make.
+
+ Generic arm-none-eabi GNU Toolchain
+ -----------------------------------
+ There are a number of toolchain projects providing support for ARMv4/v5
+ class processors, including:
+
+ GCC ARM Embedded
+ https://launchpad.net/gcc-arm-embedded
+
+ Summon ARM Toolchain
+ https://github.com/esden/summon-arm-toolchain
+
+ Yagarto
+ http://www.yagarto.de
+
+ Others exist for various Linux distributions, MacPorts, etc. Any version
+ based on GCC 4.6.3 or later should work.
IDEs
^^^^
diff --git a/nuttx/configs/ntosd-dm320/nettest/Make.defs b/nuttx/configs/ntosd-dm320/nettest/Make.defs
index 8c5b7e93b..86dd3f815 100644
--- a/nuttx/configs/ntosd-dm320/nettest/Make.defs
+++ b/nuttx/configs/ntosd-dm320/nettest/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ntosd-dm320/nsh/Make.defs b/nuttx/configs/ntosd-dm320/nsh/Make.defs
index fa6149406..088dc7976 100644
--- a/nuttx/configs/ntosd-dm320/nsh/Make.defs
+++ b/nuttx/configs/ntosd-dm320/nsh/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ntosd-dm320/ostest/Make.defs b/nuttx/configs/ntosd-dm320/ostest/Make.defs
index 9b2ab9e5e..9312ae060 100644
--- a/nuttx/configs/ntosd-dm320/ostest/Make.defs
+++ b/nuttx/configs/ntosd-dm320/ostest/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ntosd-dm320/poll/Make.defs b/nuttx/configs/ntosd-dm320/poll/Make.defs
index 69c20da94..fb208f85c 100644
--- a/nuttx/configs/ntosd-dm320/poll/Make.defs
+++ b/nuttx/configs/ntosd-dm320/poll/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ntosd-dm320/thttpd/Make.defs b/nuttx/configs/ntosd-dm320/thttpd/Make.defs
index 252416f6b..cc62a030a 100644
--- a/nuttx/configs/ntosd-dm320/thttpd/Make.defs
+++ b/nuttx/configs/ntosd-dm320/thttpd/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ntosd-dm320/udp/Make.defs b/nuttx/configs/ntosd-dm320/udp/Make.defs
index 0cdb9f05d..1c8893289 100644
--- a/nuttx/configs/ntosd-dm320/udp/Make.defs
+++ b/nuttx/configs/ntosd-dm320/udp/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/ntosd-dm320/uip/Make.defs b/nuttx/configs/ntosd-dm320/uip/Make.defs
index 64bb4494b..6d2a223df 100644
--- a/nuttx/configs/ntosd-dm320/uip/Make.defs
+++ b/nuttx/configs/ntosd-dm320/uip/Make.defs
@@ -35,30 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_DM320_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_DM320_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_DM320_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/olimex-lpc2378/nsh/Make.defs b/nuttx/configs/olimex-lpc2378/nsh/Make.defs
index 5fba7e214..a7fce92f4 100644
--- a/nuttx/configs/olimex-lpc2378/nsh/Make.defs
+++ b/nuttx/configs/olimex-lpc2378/nsh/Make.defs
@@ -40,30 +40,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_OLIMEX_LPC2378_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_OLIMEX_LPC2378_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_OLIMEX_LPC2378_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_OLIMEX_LPC2378_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/olimex-lpc2378/ostest/Make.defs b/nuttx/configs/olimex-lpc2378/ostest/Make.defs
index 2c007cd39..2d8218bad 100644
--- a/nuttx/configs/olimex-lpc2378/ostest/Make.defs
+++ b/nuttx/configs/olimex-lpc2378/ostest/Make.defs
@@ -40,30 +40,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_OLIMEX_LPC2378_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_OLIMEX_LPC2378_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_OLIMEX_LPC2378_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- WINTOOL = y
-endif
-ifeq ($(CONFIG_OLIMEX_LPC2378_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- CROSSDEV = arm-nuttx-elf-
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/stm3220g-eval/README.txt b/nuttx/configs/stm3220g-eval/README.txt
index 1e3388e70..8695dbb89 100644
--- a/nuttx/configs/stm3220g-eval/README.txt
+++ b/nuttx/configs/stm3220g-eval/README.txt
@@ -26,7 +26,7 @@ Contents
Development Environment
=======================
- Either Linux or Cygwin on Windows can be used for the development environment.
+ Linux, OS X or Cygwin on Windows can be used for the development environment.
The source has been built only using the GNU toolchain (see below). Other
toolchains will likely cause problems. Testing was performed using the Cygwin
environment because the Raisonance R-Link emulatator and some RIDE7 development tools
@@ -43,8 +43,9 @@ GNU Toolchain Options
1. The CodeSourcery GNU toolchain,
2. The Atollic Toolchain,
3. The devkitARM GNU toolchain,
- 4. Raisonance GNU toolchain, or
- 5. The NuttX buildroot Toolchain (see below).
+ 4. Raisonance GNU toolchain,
+ 5. The NuttX buildroot Toolchain (see below), or
+ 6. Any generic arm-none-eabi GNU toolchain.
Most testing has been conducted using the CodeSourcery toolchain for Windows and
that is the default toolchain in most configurations. To use the Atollic
@@ -59,10 +60,16 @@ GNU Toolchain Options
CONFIG_STM32_DEVKITARM=y : devkitARM under Windows
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
+ CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI : Generic arm-none-eabi toolchain
If you change the default toolchain, then you may also have to modify the PATH in
the setenv.h file if your make cannot find the tools.
+ The toolchain may also be set using the mconf utility (make menuconfig) or by
+ passing CONFIG_ARMV7M_TOOLCHAIN=<toolchain> to make, where <toolchain> is one
+ of CODESOURCERYW, CODESOURCERYL, ATOLLOC, DEVKITARM, RAISONANCE, BUILDROOT or
+ GNU_EABI as described above.
+
NOTE: the CodeSourcery (for Windows), Atollic, devkitARM, and Raisonance toolchains are
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
@@ -133,6 +140,26 @@ GNU Toolchain Options
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
path or will get the wrong version of make.
+ Generic arm-none-eabi GNU Toolchain
+ -----------------------------------
+ There are a number of toolchain projects providing support for the Cortex-M
+ class processors, including:
+
+ GCC ARM Embedded
+ https://launchpad.net/gcc-arm-embedded
+
+ Thumb2 Newlib Toolchain
+ https://github.com/EliasOenal/TNT
+
+ Summon ARM Toolchain
+ https://github.com/esden/summon-arm-toolchain
+
+ Yagarto
+ http://www.yagarto.de
+
+ Others exist for various Linux distributions, MacPorts, etc. Any version
+ based on GCC 4.6.3 or later should work.
+
IDEs
====
diff --git a/nuttx/configs/teensy/README.txt b/nuttx/configs/teensy/README.txt
index 30349e1ff..951f4a87e 100644
--- a/nuttx/configs/teensy/README.txt
+++ b/nuttx/configs/teensy/README.txt
@@ -201,7 +201,13 @@ Toolchains
There are several toolchain options. However, testing has been performed
using *only* the NuttX buildroot toolchain described below. Therefore,
-the NuttX buildroot toolchain is the recommended choice:
+the NuttX buildroot toolchain is the recommended choice.
+
+The toolchain may be selected using the mconf tool (via 'make menuconfig'),
+by editing the existing configuration file (defconfig), or by overriding
+the toolchain on the make commandline with CONFIG_AVR_TOOLCHAIN=<toolchain>.
+
+The valid values for <toolchain> are BUILDROOT, CROSSPACK, LINUXGCC and WINAVR.
Buildroot:
@@ -239,6 +245,14 @@ Linux:
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
.config file.
+Mac OS X:
+
+ For Mac OS X, the CrossPack for AVR toolchain is available from:
+
+ http://www.obdev.at/products/crosspack/index.html
+
+ This toolchain is functionally equivalent to the Linux GCC toolchain.
+
Windows Native Toolchains
^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/nuttx/configs/teensy/hello/Make.defs b/nuttx/configs/teensy/hello/Make.defs
index 9c7cb8268..d09279a8d 100644
--- a/nuttx/configs/teensy/hello/Make.defs
+++ b/nuttx/configs/teensy/hello/Make.defs
@@ -35,33 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_AVR_WINAVR),y)
- # WinAVR toolchain under Windows/Cygwin
- CROSSDEV = avr-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_LINUXGCC),y)
- # GCC toolchain under Linux
- CROSSDEV = avr-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_BUILDROOT),y)
- # NuttX buildroot GCC toolchain under Linux or Cygwin
- CROSSDEV = avr-nuttx-elf-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
+include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/teensy/nsh/Make.defs b/nuttx/configs/teensy/nsh/Make.defs
index 63c9db51f..e65958cfe 100644
--- a/nuttx/configs/teensy/nsh/Make.defs
+++ b/nuttx/configs/teensy/nsh/Make.defs
@@ -35,33 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_AVR_WINAVR),y)
- # WinAVR toolchain under Windows/Cygwin
- CROSSDEV = avr-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_LINUXGCC),y)
- # GCC toolchain under Linux
- CROSSDEV = avr-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_BUILDROOT),y)
- # NuttX buildroot GCC toolchain under Linux or Cygwin
- CROSSDEV = avr-nuttx-elf-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
+include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains
diff --git a/nuttx/configs/teensy/usbstorage/Make.defs b/nuttx/configs/teensy/usbstorage/Make.defs
index 6474a772e..ba3878521 100644
--- a/nuttx/configs/teensy/usbstorage/Make.defs
+++ b/nuttx/configs/teensy/usbstorage/Make.defs
@@ -35,33 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_AVR_WINAVR),y)
- # WinAVR toolchain under Windows/Cygwin
- CROSSDEV = avr-
- WINTOOL = y
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_LINUXGCC),y)
- # GCC toolchain under Linux
- CROSSDEV = avr-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
-
-ifeq ($(CONFIG_AVR_BUILDROOT),y)
- # NuttX buildroot GCC toolchain under Linux or Cygwin
- CROSSDEV = avr-nuttx-elf-
- MAXOPTIMIZATION = -O2
- ARCHCPUFLAGS = -mmcu=at90usb1286
- LDFLAGS += -nostartfiles -nodefaultlibs
-endif
+include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
ifeq ($(WINTOOL),y)
# Windows-native toolchains