Add common Toolchain.defs for AVR/AVR32; Add Toolchain.defs for ARM; Add more toolchain options (from Mike); incdir.sh and .bat now take -s option
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5384 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
34458c1112
commit
2ecbe6d360
@ -187,6 +187,12 @@ Atmel AVRISP mkII Connection
|
|||||||
Toolchains
|
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:
|
Buildroot:
|
||||||
|
|
||||||
There is a DIY buildroot version for the AVR boards here:
|
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
|
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
|
||||||
.config file.
|
.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
|
Windows Native Toolchains
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -35,33 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -112,7 +112,7 @@ PA17 and PA23 are avaiable from the AVR32DEV1:
|
|||||||
Development Environment
|
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
|
The source has been built only using the GNU toolchain (see below). Other
|
||||||
toolchains will likely cause problems. Testing was performed using the Cygwin
|
toolchains will likely cause problems. Testing was performed using the Cygwin
|
||||||
environment.
|
environment.
|
||||||
@ -140,6 +140,16 @@ WinAVR:
|
|||||||
AVR32 toolchain as well as the AVR toolchain and various support
|
AVR32 toolchain as well as the AVR toolchain and various support
|
||||||
libraries and header files.
|
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
|
IDEs
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
|
@ -35,20 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/avr/src/avr32/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -34,8 +34,9 @@ GNU Toolchain Options
|
|||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
1. The CodeSourcery GNU toolchain,
|
||||||
2. The devkitARM GNU toolchain,
|
2. The devkitARM GNU toolchain,
|
||||||
3. Raisonance GNU toolchain, or
|
3. Raisonance GNU toolchain,
|
||||||
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,
|
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
|
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_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
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
|
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 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
|
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are
|
||||||
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
||||||
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
|
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
|
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
||||||
path or will get the wrong version of make.
|
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
|
IDEs
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -33,8 +33,9 @@ GNU Toolchain Options
|
|||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
1. The CodeSourcery GNU toolchain,
|
||||||
2. The devkitARM GNU toolchain,
|
2. The devkitARM GNU toolchain,
|
||||||
3. Raisonance GNU toolchain, or
|
3. Raisonance GNU toolchain,
|
||||||
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,
|
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
|
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_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
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
|
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 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
|
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are
|
||||||
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
||||||
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
|
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
|
||||||
@ -86,6 +93,23 @@ GNU Toolchain Options
|
|||||||
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
||||||
path or will get the wrong version of make.
|
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
|
IDEs
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -198,7 +198,13 @@ Toolchains
|
|||||||
|
|
||||||
There are several toolchain options. However, testing has been performed
|
There are several toolchain options. However, testing has been performed
|
||||||
using *only* the NuttX buildroot toolchain described below. Therefore,
|
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:
|
Buildroot:
|
||||||
|
|
||||||
@ -236,6 +242,14 @@ Linux:
|
|||||||
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
|
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
|
||||||
.config file.
|
.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
|
Windows Native Toolchains
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -35,33 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -323,6 +323,12 @@ Additional signals available via Peripheral Pin Selections (PPS)
|
|||||||
Toolchains
|
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
|
MPLAB/C32
|
||||||
---------
|
---------
|
||||||
|
|
||||||
@ -376,7 +382,7 @@ Toolchains
|
|||||||
Note that the tools will have the prefix, mypic32- so, for example, the
|
Note that the tools will have the prefix, mypic32- so, for example, the
|
||||||
compiler will be called mypic32-gcc.
|
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
|
Another option is the mips-elf toolchain used with the Pinguino project. This
|
||||||
@ -391,11 +397,14 @@ Toolchains
|
|||||||
mips-elf toolchain:
|
mips-elf toolchain:
|
||||||
|
|
||||||
CONFIG_PIC32MX_PINGUINOW - Pinguino mips-elf toolchain for Windows
|
CONFIG_PIC32MX_PINGUINOW - Pinguino mips-elf toolchain for Windows
|
||||||
CONFIG_PIC32MX_PINGUINOL - Pinguino mips toolchain for Linux
|
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
|
And set the path appropriately in the setenv.sh file. These tool configurations
|
||||||
are untested -- expect some additional integration issues. Good luck!
|
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
|
MPLAB/C32 vs MPLABX/X32
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
@ -54,7 +54,8 @@ GNU Toolchain Options
|
|||||||
1. The CodeSourcery GNU toolchain,
|
1. The CodeSourcery GNU toolchain,
|
||||||
2. The devkitARM GNU toolchain,
|
2. The devkitARM GNU toolchain,
|
||||||
3. Raisonance GNU toolchain, or
|
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,
|
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
|
the make system is setup to default to use the devkitARM toolchain. To use
|
||||||
@ -66,10 +67,16 @@ GNU Toolchain Options
|
|||||||
CONFIG_DM320_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_DM320_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_DM320_DEVKITARM=y : devkitARM under Windows
|
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
|
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 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
|
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are
|
||||||
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
||||||
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
|
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
|
||||||
@ -106,6 +113,23 @@ GNU Toolchain Options
|
|||||||
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
||||||
path or will get the wrong version of make.
|
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
|
IDEs
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,30 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -40,30 +40,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -40,30 +40,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/arm/src/arm/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -26,7 +26,7 @@ Contents
|
|||||||
Development Environment
|
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
|
The source has been built only using the GNU toolchain (see below). Other
|
||||||
toolchains will likely cause problems. Testing was performed using the Cygwin
|
toolchains will likely cause problems. Testing was performed using the Cygwin
|
||||||
environment because the Raisonance R-Link emulatator and some RIDE7 development tools
|
environment because the Raisonance R-Link emulatator and some RIDE7 development tools
|
||||||
@ -43,8 +43,9 @@ GNU Toolchain Options
|
|||||||
1. The CodeSourcery GNU toolchain,
|
1. The CodeSourcery GNU toolchain,
|
||||||
2. The Atollic Toolchain,
|
2. The Atollic Toolchain,
|
||||||
3. The devkitARM GNU toolchain,
|
3. The devkitARM GNU toolchain,
|
||||||
4. Raisonance GNU toolchain, or
|
4. Raisonance GNU toolchain,
|
||||||
5. The NuttX buildroot Toolchain (see below).
|
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
|
Most testing has been conducted using the CodeSourcery toolchain for Windows and
|
||||||
that is the default toolchain in most configurations. To use the Atollic
|
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_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
|
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
|
||||||
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
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
|
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 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
|
NOTE: the CodeSourcery (for Windows), Atollic, devkitARM, and Raisonance toolchains are
|
||||||
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
|
||||||
toolchains are Cygwin and/or Linux native toolchains. There are several limitations
|
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
|
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
||||||
path or will get the wrong version of make.
|
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
|
IDEs
|
||||||
====
|
====
|
||||||
|
|
||||||
|
@ -201,7 +201,13 @@ Toolchains
|
|||||||
|
|
||||||
There are several toolchain options. However, testing has been performed
|
There are several toolchain options. However, testing has been performed
|
||||||
using *only* the NuttX buildroot toolchain described below. Therefore,
|
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:
|
Buildroot:
|
||||||
|
|
||||||
@ -239,6 +245,14 @@ Linux:
|
|||||||
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
|
After configuring NuttX, make sure that CONFIG_AVR_LINUXGCC=y is set in your
|
||||||
.config file.
|
.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
|
Windows Native Toolchains
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -35,33 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,33 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
@ -35,33 +35,7 @@
|
|||||||
|
|
||||||
include ${TOPDIR}/.config
|
include ${TOPDIR}/.config
|
||||||
include ${TOPDIR}/tools/Config.mk
|
include ${TOPDIR}/tools/Config.mk
|
||||||
|
include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
|
||||||
# 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
|
|
||||||
|
|
||||||
ifeq ($(WINTOOL),y)
|
ifeq ($(WINTOOL),y)
|
||||||
# Windows-native toolchains
|
# Windows-native toolchains
|
||||||
|
Loading…
Reference in New Issue
Block a user