arch/arm: Remove support for old redundant toolchains.

Remove support for the Codesourcery, Atollic, DevKitArm, Raisonance, and CodeRed toolchains.  Not only are these tools old and no longer used but they are all equivalent to standard ARM EABI toolchains.  Retaining specific support has no effect (they are still supported, but now just as generic EABI toolchains).
This commit is contained in:
Gregory Nutt 2020-05-13 08:18:31 -06:00 committed by Abdelatif Guettouche
parent e989147119
commit 801b9d6e5f
183 changed files with 286 additions and 2074 deletions

View File

@ -14,22 +14,6 @@ config ARM_TOOLCHAIN_BUILDROOT
bool "Buildroot (Cygwin or Linux)"
depends on !WINDOWS_NATIVE
config ARM_TOOLCHAIN_CODESOURCERYL
bool "CodeSourcery GNU toolchain under Linux"
depends on HOST_LINUX
---help---
For use with the GNU toolchain built with the NuttX buildroot package.
This tools may be arm-nuttx-eabi- or, if ARM_OABI_TOOLCHAIN is set,
arm-nuttx-elf-.
config ARM_TOOLCHAIN_CODESOURCERYW
bool "CodeSourcery GNU toolchain under Windows"
depends on TOOLCHAIN_WINDOWS
config ARM_TOOLCHAIN_DEVKITARM
bool "devkitARM GNU toolchain"
depends on TOOLCHAIN_WINDOWS
config ARM_TOOLCHAIN_GNU_EABIL
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
---help---

View File

@ -1,35 +1,20 @@
############################################################################
# arch/arm/src/armv/Toolchain.defs
#
# Copyright (C) 2012-2014, 2017 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# http://www.apache.org/licenses/LICENSE-2.0
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
@ -48,24 +33,6 @@ ifeq ($(filter y, \
CONFIG_ARM_TOOLCHAIN ?= BUILDROOT
endif
ifeq ($(filter y, \
$(CONFIG_ARM_TOOLCHAIN_CODESOURCERYL) \
),y)
CONFIG_ARM_TOOLCHAIN ?= CODESOURCERYL
endif
ifeq ($(filter y, \
$(CONFIG_ARM_TOOLCHAIN_CODESOURCERYW) \
),y)
CONFIG_ARM_TOOLCHAIN ?= CODESOURCERYW
endif
ifeq ($(filter y, \
$(CONFIG_ARM_TOOLCHAIN_DEVKITARM) \
),y)
CONFIG_ARM_TOOLCHAIN ?= DEVKITARM
endif
ifeq ($(filter y, \
$(CONFIG_ARM_TOOLCHAIN_GNU_EABIL) \
),y)
@ -113,35 +80,6 @@ endif
MAXOPTIMIZATION ?= -Os
endif
# CodeSourcery under Linux
ifeq ($(CONFIG_ARM_TOOLCHAIN),CODESOURCERYL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -O2
endif
# CodeSourcery under Windows
ifeq ($(CONFIG_ARM_TOOLCHAIN),CODESOURCERYW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -O2
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# devkitARM under Windows
ifeq ($(CONFIG_ARM_TOOLCHAIN),DEVKITARM)
CROSSDEV ?= arm-eabi-
ARCROSSDEV ?= arm-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
ifeq ($(CONFIG_ARM_TOOLCHAIN),GNU_EABIL)

View File

@ -10,41 +10,11 @@ choice
default ARMV6M_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS
default ARMV6M_TOOLCHAIN_GNU_EABIL if !TOOLCHAIN_WINDOWS
config ARMV6M_TOOLCHAIN_ATOLLIC
bool "Atollic Lite/Pro for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_BUILDROOT
bool "Buildroot (Cygwin or Linux)"
depends on !WINDOWS_NATIVE
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_CODEREDL
bool "CodeRed for Linux"
depends on HOST_LINUX
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_CODEREDW
bool "CodeRed for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_CODESOURCERYL
bool "CodeSourcery GNU toolchain under Linux"
depends on HOST_LINUX
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_CODESOURCERYW
bool "CodeSourcery GNU toolchain under Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_DEVKITARM
bool "devkitARM GNU toolchain"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV6M_TOOLCHAIN_GNU_EABIL
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
select ARCH_TOOLCHAIN_GNU

View File

@ -1,35 +1,20 @@
############################################################################
# arch/arm/src/armv6-m/Toolchain.defs
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# http://www.apache.org/licenses/LICENSE-2.0
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
@ -42,34 +27,10 @@
# command-line selection.
#
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_ATOLLIC)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= ATOLLIC
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= BUILDROOT
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_CODEREDL)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= CODEREDL
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_CODEREDW)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= CODEREDW
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYL)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= CODESOURCERYL
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= CODESOURCERYW
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_DEVKITARM)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= DEVKITARM
endif
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIL)),y)
CONFIG_ARMV6M_TOOLCHAIN ?= GNU_EABIL
endif
@ -100,17 +61,6 @@ ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y)
MAXOPTIMIZATION := $(CONFIG_DEBUG_OPTLEVEL)
endif
# Atollic toolchain under Windows
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),ATOLLIC)
CROSSDEV ?= arm-atollic-eabi-
ARCROSSDEV ?= arm-atollic-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# NuttX buildroot under Linux or Cygwin
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),BUILDROOT)
@ -119,55 +69,6 @@ ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),BUILDROOT)
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# Code Red RedSuite under Linux
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),CODEREDL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# Code Red RedSuite under Windows
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),CODEREDW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# CodeSourcery under Linux
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),CODESOURCERYL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# CodeSourcery under Windows
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),CODESOURCERYW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# devkitARM under Windows
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),DEVKITARM)
CROSSDEV ?= arm-eabi-
ARCROSSDEV ?= arm-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
endif
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),GNU_EABIL)

View File

@ -136,25 +136,6 @@ config ARMV7A_TOOLCHAIN_BUILDROOT
select ARCH_TOOLCHAIN_GNU
depends on !WINDOWS_NATIVE
config ARMV7A_TOOLCHAIN_CODESOURCERYL
bool "CodeSourcery GNU toolchain under Linux"
select ARCH_TOOLCHAIN_GNU
depends on HOST_LINUX
---help---
For use with the GNU toolchain built with the NuttX buildroot package.
This tools may be arm-nuttx-eabi- or, if ARMV7A_OABI_TOOLCHAIN is set,
arm-nuttx-elf-.
config ARMV7A_TOOLCHAIN_CODESOURCERYW
bool "CodeSourcery GNU toolchain under Windows"
select ARCH_TOOLCHAIN_GNU
depends on TOOLCHAIN_WINDOWS
config ARMV7A_TOOLCHAIN_DEVKITARM
bool "devkitARM GNU toolchain"
select ARCH_TOOLCHAIN_GNU
depends on TOOLCHAIN_WINDOWS
config ARMV7A_TOOLCHAIN_GNU_EABIL
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
select ARCH_TOOLCHAIN_GNU

View File

@ -1,35 +1,20 @@
############################################################################
# arch/arm/src/armv7-a/Toolchain.defs
#
# Copyright (C) 2013, 2019 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# http://www.apache.org/licenses/LICENSE-2.0
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
@ -46,24 +31,6 @@ ifeq ($(filter y, \
CONFIG_ARMV7A_TOOLCHAIN ?= BUILDROOT
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL) \
),y)
CONFIG_ARMV7A_TOOLCHAIN ?= CODESOURCERYL
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW) \
),y)
CONFIG_ARMV7A_TOOLCHAIN ?= CODESOURCERYW
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM) \
),y)
CONFIG_ARMV7A_TOOLCHAIN ?= DEVKITARM
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL) \
),y)
@ -131,35 +98,6 @@ endif
MAXOPTIMIZATION ?= -Os
endif
# CodeSourcery under Linux
ifeq ($(CONFIG_ARMV7A_TOOLCHAIN),CODESOURCERYL)
CROSSDEV ?= $(TARGET_ARCH)-none-eabi-
ARCROSSDEV ?= $(TARGET_ARCH)-none-eabi-
MAXOPTIMIZATION ?= -O2
endif
# CodeSourcery under Windows
ifeq ($(CONFIG_ARMV7A_TOOLCHAIN),CODESOURCERYW)
CROSSDEV ?= $(TARGET_ARCH)-none-eabi-
ARCROSSDEV ?= $(TARGET_ARCH)-none-eabi-
MAXOPTIMIZATION ?= -O2
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# devkitARM under Windows
ifeq ($(CONFIG_ARMV7A_TOOLCHAIN),DEVKITARM)
CROSSDEV ?= $(TARGET_ARCH)-eabi-
ARCROSSDEV ?= $(TARGET_ARCH)-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
ifeq ($(CONFIG_ARMV7A_TOOLCHAIN),GNU_EABIL)

View File

@ -135,41 +135,11 @@ config ARMV7M_TOOLCHAIN_IARL
depends on HOST_LINUX
select ARCH_TOOLCHAIN_IAR
config ARMV7M_TOOLCHAIN_ATOLLIC
bool "Atollic Lite/Pro for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_BUILDROOT
bool "Buildroot (Cygwin or Linux)"
depends on !WINDOWS_NATIVE
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_CODEREDL
bool "CodeRed for Linux"
depends on HOST_LINUX
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_CODEREDW
bool "CodeRed for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_CODESOURCERYL
bool "CodeSourcery GNU toolchain under Linux"
depends on HOST_LINUX
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_CODESOURCERYW
bool "CodeSourcery GNU toolchain under Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_DEVKITARM
bool "devkitARM GNU toolchain"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV7M_TOOLCHAIN_GNU_EABIL
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
depends on !WINDOWS_NATIVE
@ -196,11 +166,6 @@ config ARMV7M_TOOLCHAIN_CLANGW
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
configured for arm-none-eabi.
config ARMV7M_TOOLCHAIN_RAISONANCE
bool "STMicro Raisonance for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
endchoice
config ARMV7M_OABI_TOOLCHAIN

View File

@ -27,54 +27,12 @@
# command-line selection.
#
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= ATOLLIC
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= BUILDROOT
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_CODEREDL) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= CODEREDL
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_CODEREDW) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= CODEREDW
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= CODESOURCERYL
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= CODESOURCERYW
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= DEVKITARM
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_RAISONANCE) \
),y)
CONFIG_ARMV7M_TOOLCHAIN ?= RAISONANCE
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL) \
),y)
@ -151,18 +109,6 @@ else # ifeq ($(CONFIG_ARCH_CORTEXM3),y)
TOOLCHAIN_MFLOAT := -mfloat-abi=soft
endif
# Atollic toolchain under Windows
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),ATOLLIC)
CROSSDEV ?= arm-atollic-eabi-
ARCROSSDEV ?= arm-atollic-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# NuttX buildroot under Linux or Cygwin
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),BUILDROOT)
@ -178,59 +124,6 @@ endif
MAXOPTIMIZATION ?= -Os
endif
# Code Red RedSuite under Linux
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CODEREDL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif
# Code Red RedSuite under Windows
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CODEREDW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# CodeSourcery under Linux
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CODESOURCERYL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -O2
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif
# CodeSourcery under Windows
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CODESOURCERYW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# devkitARM under Windows
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),DEVKITARM)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),GNU_EABIL)
@ -273,13 +166,3 @@ ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CLANGW)
endif
endif
# Raisonance RIDE7 under Windows
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),RAISONANCE)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif

View File

@ -136,25 +136,6 @@ config ARMV7R_TOOLCHAIN_BUILDROOT
select ARCH_TOOLCHAIN_GNU
depends on !WINDOWS_NATIVE
config ARMV7R_TOOLCHAIN_CODESOURCERYL
bool "CodeSourcery GNU toolchain under Linux"
select ARCH_TOOLCHAIN_GNU
depends on HOST_LINUX
---help---
For use with the GNU toolchain built with the NuttX buildroot package.
This tools may be arm-nuttx-eabi- or, if ARMV7R_OABI_TOOLCHAIN is set,
arm-nuttx-elf-.
config ARMV7R_TOOLCHAIN_CODESOURCERYW
bool "CodeSourcery GNU toolchain under Windows"
select ARCH_TOOLCHAIN_GNU
depends on TOOLCHAIN_WINDOWS
config ARMV7R_TOOLCHAIN_DEVKITARM
bool "devkitARM GNU toolchain"
select ARCH_TOOLCHAIN_GNU
depends on TOOLCHAIN_WINDOWS
config ARMV7R_TOOLCHAIN_GNU_EABIL
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
select ARCH_TOOLCHAIN_GNU

View File

@ -1,35 +1,20 @@
############################################################################
# arch/arm/src/armv7-r/Toolchain.defs
#
# Copyright (C) 2015 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# http://www.apache.org/licenses/LICENSE-2.0
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
@ -46,24 +31,6 @@ ifeq ($(filter y, \
CONFIG_ARMV7R_TOOLCHAIN ?= BUILDROOT
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7R_TOOLCHAIN_CODESOURCERYL) \
),y)
CONFIG_ARMV7R_TOOLCHAIN ?= CODESOURCERYL
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7R_TOOLCHAIN_CODESOURCERYW) \
),y)
CONFIG_ARMV7R_TOOLCHAIN ?= CODESOURCERYW
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7R_TOOLCHAIN_DEVKITARM) \
),y)
CONFIG_ARMV7R_TOOLCHAIN ?= DEVKITARM
endif
ifeq ($(filter y, \
$(CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIL) \
),y)
@ -113,35 +80,6 @@ endif
MAXOPTIMIZATION ?= -Os
endif
# CodeSourcery under Linux
ifeq ($(CONFIG_ARMV7R_TOOLCHAIN),CODESOURCERYL)
CROSSDEV ?= $(TARGET_ARCH)-none-eabi-
ARCROSSDEV ?= $(TARGET_ARCH)-none-eabi-
MAXOPTIMIZATION ?= -O2
endif
# CodeSourcery under Windows
ifeq ($(CONFIG_ARMV7R_TOOLCHAIN),CODESOURCERYW)
CROSSDEV ?= $(TARGET_ARCH)-none-eabi-
ARCROSSDEV ?= $(TARGET_ARCH)-none-eabi-
MAXOPTIMIZATION ?= -O2
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# devkitARM under Windows
ifeq ($(CONFIG_ARMV7R_TOOLCHAIN),DEVKITARM)
CROSSDEV ?= $(TARGET_ARCH)-eabi-
ARCROSSDEV ?= $(TARGET_ARCH)-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
ifeq ($(CONFIG_ARMV7R_TOOLCHAIN),GNU_EABIL)

View File

@ -106,41 +106,11 @@ choice
default ARMV8M_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS
default ARMV8M_TOOLCHAIN_GNU_EABIL if !TOOLCHAIN_WINDOWS
config ARMV8M_TOOLCHAIN_ATOLLIC
bool "Atollic Lite/Pro for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_BUILDROOT
bool "Buildroot (Cygwin or Linux)"
depends on !WINDOWS_NATIVE
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_CODEREDL
bool "CodeRed for Linux"
depends on HOST_LINUX
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_CODEREDW
bool "CodeRed for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_CODESOURCERYL
bool "CodeSourcery GNU toolchain under Linux"
depends on HOST_LINUX
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_CODESOURCERYW
bool "CodeSourcery GNU toolchain under Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_DEVKITARM
bool "devkitARM GNU toolchain"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
config ARMV8M_TOOLCHAIN_GNU_EABIL
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
depends on !WINDOWS_NATIVE
@ -167,11 +137,6 @@ config ARMV8M_TOOLCHAIN_CLANGW
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
configured for arm-none-eabi.
config ARMV8M_TOOLCHAIN_RAISONANCE
bool "STMicro Raisonance for Windows"
depends on TOOLCHAIN_WINDOWS
select ARCH_TOOLCHAIN_GNU
endchoice
config ARMV8M_OABI_TOOLCHAIN

View File

@ -27,54 +27,12 @@
# command-line selection.
#
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_ATOLLIC) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= ATOLLIC
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_BUILDROOT) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= BUILDROOT
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_CODEREDL) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= CODEREDL
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_CODEREDW) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= CODEREDW
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_CODESOURCERYL) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= CODESOURCERYL
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_CODESOURCERYW) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= CODESOURCERYW
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_DEVKITARM) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= DEVKITARM
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_RAISONANCE) \
),y)
CONFIG_ARMV8M_TOOLCHAIN ?= RAISONANCE
endif
ifeq ($(filter y, \
$(CONFIG_ARMV8M_TOOLCHAIN_GNU_EABIL) \
),y)
@ -140,17 +98,6 @@ else ifeq ($(CONFIG_ARCH_CORTEXM35P),y)
endif
endif
# Atollic toolchain under Windows
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),ATOLLIC)
CROSSDEV ?= arm-atollic-eabi-
ARCROSSDEV ?= arm-atollic-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# NuttX buildroot under Linux or Cygwin
@ -167,59 +114,6 @@ endif
MAXOPTIMIZATION ?= -Os
endif
# Code Red RedSuite under Linux
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),CODEREDL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif
# Code Red RedSuite under Windows
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),CODEREDW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# CodeSourcery under Linux
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),CODESOURCERYL)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -O2
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif
# CodeSourcery under Windows
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),CODESOURCERYW)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
MAXOPTIMIZATION ?= -Os
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
endif
# devkitARM under Windows
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),DEVKITARM)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif
# Generic GNU EABI toolchain on OS X, Linux or any typical Posix system
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),GNU_EABIL)
@ -262,13 +156,3 @@ ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),CLANGW)
endif
endif
# Raisonance RIDE7 under Windows
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),RAISONANCE)
CROSSDEV ?= arm-none-eabi-
ARCROSSDEV ?= arm-none-eabi-
ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
WINTOOL = y
endif
ARCHCPUFLAGS = $(TOOLCHAIN_MCPU) -mthumb $(TOOLCHAIN_MFLOAT)
endif

View File

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

View File

@ -19,7 +19,6 @@ CONFIG_ARCH_CHIP_A1X=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_BUILTIN=y

View File

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

View File

@ -52,59 +52,15 @@ GNU Toolchain Options
The NuttX make system has been modified to support the following different
toolchain options.
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
3. Raisonance GNU toolchain, or
4. The NuttX buildroot Toolchain (see below), or
5. Any generic arm-none-eabi GNU toolchain.
1. The NuttX buildroot Toolchain (see below), or
2. 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
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
add one of the following configuration options to your .config (or defconfig)
file:
All testing has been conducted using the NuttX buildroot toolchain. To use
a different toolchain, you simply need to modify the configuration. As an
example:
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARM_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARM_TOOLCHAIN_GNU_EABIL : Generic arm-none-eabi toolchain
The toolchain may also be set using the kconfig-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
to using a Windows based toolchain in a Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
-Os.
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
@ -113,12 +69,6 @@ GNU Toolchain Options
GCC ARM Embedded
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
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.
@ -285,11 +235,11 @@ Common Configuration Notes
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
3. By default, all configurations assume the CodeSourcery toolchain under
3. By default, all configurations assume the ARM EABI toolchain under
Linux. This is easily reconfigured:
CONFIG_HOST_LINUX=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y
Configuration Sub-Directories
-----------------------------

View File

@ -10,7 +10,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_CHIP="dm320"
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_DISABLE_ENVIRON=y

View File

@ -13,7 +13,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_CHIP="dm320"
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_DISABLE_MQUEUE=y

View File

@ -11,7 +11,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_CHIP="dm320"
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_DISABLE_ENVIRON=y

View File

@ -11,7 +11,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
CONFIG_ARCH_BOARD_NTOSD_DM320=y
CONFIG_ARCH_CHIP="dm320"
CONFIG_ARCH_CHIP_DM320=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_DISABLE_ENVIRON=y

View File

@ -256,10 +256,10 @@ CONFIGURATIONS
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="efm32"
CONFIG_ARCH_CHIP_EFM32=y
CONFIG_ARCH_CHIP_EFM32G890F128=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=2662
CONFIG_DISABLE_ENVIRON=y
CONFIG_DISABLE_MOUNTPOINT=y

View File

@ -208,10 +208,10 @@ Configurations
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="efm32"
CONFIG_ARCH_CHIP_EFM32=y
CONFIG_ARCH_CHIP_EFM32GG990F1024=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=4787
CONFIG_DISABLE_ENVIRON=y
CONFIG_DISABLE_MOUNTPOINT=y

View File

@ -156,10 +156,11 @@ Configurations
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="efm32"
CONFIG_ARCH_CHIP_EFM32=y
CONFIG_ARCH_CHIP_EFM32G880F128=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=2662
CONFIG_DISABLE_ENVIRON=y
CONFIG_DISABLE_MOUNTPOINT=y

View File

@ -625,27 +625,6 @@ GNU Toolchain Options
You may also have to modify the PATH environment variable if your make cannot
find the tools.
NOTE: Using native Windows toolchains under Cygwin has some limitations.
This incuudes the CodeSourcery (for Windows) and devkitARM toolchains are
Windows native toolchains. The biggest limitations are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
Freedom K64F Configuration Options
==================================

View File

@ -625,30 +625,6 @@ GNU Toolchain Options
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y
You may also have to modify the PATH environment variable if your make cannot
find the tools.
NOTE: Using native Windows toolchains under Cygwin has some limitations.
This incuudes the CodeSourcery (for Windows) and devkitARM toolchains are
Windows native toolchains. The biggest limitations are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
Freedom K66F Configuration Options
==================================

View File

@ -292,13 +292,13 @@ NOTES:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
Support
for builtin applications is enabled, but in the base configuration

View File

@ -300,13 +300,13 @@ Where <subdir> is one of the following:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. Serial Console. A serial console is necessary to interrupt with
NSH. The serial console is configured on UART0 which is available

View File

@ -278,13 +278,13 @@ Where <subdir> is one of the following:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. Serial Console. A serial console is necessary to interrupt with
NSH. The serial console is configured on UART0 which is available

View File

@ -293,7 +293,7 @@ Where <subdir> is one of the following:
reconfiguration process.
2. This configuration is setup to build under Windows with Cygwin using
the CodeSourcery toolchain. That is, however, easily reconfigured.
the ARM EABI toolchain. That is, however, easily reconfigured.
3. This configuration uses a serial console on UART0 at 115200 8N1.
This is the serial port at the connector labelled COM1 on the
@ -343,12 +343,12 @@ Where <subdir> is one of the following:
NOTES:
1. Uses the CodeSourcery EABI toolchain under Windows. But that is
1. Uses the ARM EABI toolchain under Windows. But that is
easily reconfigured:
CONFIG_HOST_WINDOWS=y : Windows
CONFIG_HOST_WINDOWS_CYGWIN=y : under Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery toolchain
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
STATUS:
2015-06-06: The BINFS CGI files are seems to be running, but the

View File

@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_LPC1769=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_INTERRUPTSTACK=1536
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=7982
CONFIG_ETH0_PHY_KSZ8041=y
CONFIG_FS_FAT=y

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1769=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=7982
CONFIG_FS_FAT=y
CONFIG_LPC17_40_SSP0=y

View File

@ -13,7 +13,6 @@ CONFIG_ARCH_CHIP_LPC1769=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_INTERRUPTSTACK=1024
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=7982
CONFIG_BUILTIN=y
CONFIG_CONSOLE_SYSLOG=y

View File

@ -652,8 +652,8 @@ Where <subdir> is one of the following:
3. Build setup (easily reconfigured):
CONFIG_HOST_LINUX=y : Linux
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y : CodeRed for Linux
CONFIG_HOST_LINUX=y : Linux
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Linux
4. Jumpers: Nothing special. Use the default base board jumper
settings.

View File

@ -13,7 +13,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1768=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
CONFIG_BOARD_LOOPSPERMSEC=8079
CONFIG_DISABLE_ENVIRON=y
CONFIG_DISABLE_MOUNTPOINT=y

View File

@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1768=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
CONFIG_BOARD_LOOPSPERMSEC=8079
CONFIG_ETH0_PHY_LAN8720=y
CONFIG_FS_FAT=y

View File

@ -16,7 +16,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1768=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
CONFIG_BOARD_LOOPSPERMSEC=8079
CONFIG_DISABLE_ENVIRON=y
CONFIG_DISABLE_MOUNTPOINT=y

View File

@ -12,7 +12,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1768=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
CONFIG_BOARD_LOOPSPERMSEC=8079
CONFIG_CONSOLE_SYSLOG=y
CONFIG_DISABLE_MQUEUE=y

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1768=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
CONFIG_BOARD_LOOPSPERMSEC=8079
CONFIG_INTELHEX_BINARY=y
CONFIG_LIB_BOARDCTL=y

View File

@ -420,7 +420,7 @@ Using OpenOCD and GDB with an FT2232 JTAG emulator
(gdb) target remote localhost:3333
NOTE: The name of your GDB program may differ. For example, with the
CodeSourcery toolchain, the ARM GDB would be called arm-none-eabi-gdb.
ARM EABI toolchain, the ARM GDB would be called arm-none-eabi-gdb.
After starting GDB, you can load the NuttX ELF file:
@ -780,7 +780,7 @@ Configuration Sub-Directories
CONFIG_HOST_WINDOWS=y : Windows
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on Windows
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
2. The mouse is really useless with no display and no cursor. So this
configuration is only suited for low-level testing. It is also awkward
@ -888,12 +888,12 @@ Configuration Sub-Directories
NOTES:
1. Uses the CodeSourcery EABI toolchain under Windows. But that is
1. Uses the ARM EABI toolchain under Windows. But that is
easily reconfigured:
CONFIG_HOST_WINDOWS=y : Windows
CONFIG_HOST_WINDOWS_CYGWIN=y : under Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery toolchain
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
STATUS:
2015-06-02. This configuration was added in an attempt to replace

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1766=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=8111
CONFIG_BUILTIN=y
CONFIG_EXAMPLES_TOUCHSCREEN=y

View File

@ -12,7 +12,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
CONFIG_ARCH_CHIP_LPC1766=y
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=8111
CONFIG_BUILTIN=y
CONFIG_CONSOLE_SYSLOG=y

View File

@ -31,9 +31,8 @@ GNU Toolchain Options
The NuttX make system has been modified to support the following different
toolchain options.
1. The NuttX buildroot Toolchain (see below).
2. The CodeSourcery GNU toolchain,
3. The devkitARM GNU toolchain, or
1. The NuttX buildroot Toolchain (see below), or
2. The GNU EABI toolchain,
All testing has been conducted using the NuttX buildroot toolchain. To use
the CodeSourcery or devkitARM GNU toolchain, you simply need to build the
@ -41,41 +40,12 @@ GNU Toolchain Options
make # Will build for the NuttX buildroot toolchain
make CROSSDEV=arm-eabi- # Will build for the devkitARM toolchain
make CROSSDEV=arm-none-eabi- # Will build for the CodeSourcery toolchain
make CROSSDEV=arm-none-eabi- # Will build for the ARM EABI toolchain
make CROSSDEV=arm-nuttx-elf- # Will build for the NuttX buildroot toolchain
Of course, hard coding this CROSS_COMPILE value in Make.defs file will save
some repetitive typing.
NOTE: the CodeSourcery and devkitARM toolchains are Windows native toolchains.
The NuttX buildroot toolchain is a Cygwin toolchain. There are several limitations
to using a Windows based toolchain in a Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context; make CROSSDEV=arm-none-eabi-
An alias in your .bashrc file might make that less painful.
NOTE 1: The CodeSourcery toolchain (2009q1) may not work with default optimization
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
-Os.
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.
NuttX buildroot Toolchain
^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -13,7 +13,6 @@ CONFIG_ARCH_BOARD_OLIMEXLPC2378=y
CONFIG_ARCH_CHIP="lpc2378"
CONFIG_ARCH_CHIP_LPC2378=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=3270
CONFIG_IDLETHREAD_STACKSIZE=2048
CONFIG_LPC2378_UART0=y

View File

@ -32,62 +32,15 @@ GNU Toolchain Options
The NuttX make system has been modified to support the following different
toolchain options.
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
3. Raisonance GNU toolchain,
4. The NuttX buildroot Toolchain (see below), or
5. Any generic arm-none-eabi GNU toolchain.
1. The NuttX buildroot Toolchain (see below), or
2. 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
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
add one of the following configuration options to your .config (or defconfig)
file:
All testing has been conducted using the NuttX buildroot toolchain. To use
a different toolchain, you simply need to modify the configuration. As an
example:
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARM_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARM_TOOLCHAIN_GNU_EABIL : Generic arm-none-eabi toolchain
You may also have to modify the PATH environment variable if your make cannot
find the tools.
The toolchain may also be set using the kconfig-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
to using a Windows based toolchain in a Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
-Os.
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
@ -96,12 +49,6 @@ GNU Toolchain Options
GCC ARM Embedded
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
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.
@ -608,12 +555,12 @@ Common Configuration Notes
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
3. By default, all configurations assume the CodeSourcery toolchain
3. By default, all configurations assume the ARM EABI toolchain
under Cygwin with Windows. This is easily reconfigured, however:
CONFIG_HOST_WINDOWS=y
CONFIG_WINDOWS_CYGWIN=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
CONFIG_ARM_TOOLCHAIN_GNU_EABIW=y
Configuration Sub-Directories
-----------------------------

View File

@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_LPC31XX=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_ROMPGTABLE=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_FS_FAT=y

View File

@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_LPC3131=y
CONFIG_ARCH_CHIP_LPC31XX=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_BUILD_2PASS=y

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP_LPC31XX=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_ROMPGTABLE=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=16945
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_CONSOLE_SYSLOG=y

View File

@ -31,62 +31,15 @@ GNU Toolchain Options
The NuttX make system has been modified to support the following different
toolchain options.
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
3. Raisonance GNU toolchain,
4. The NuttX buildroot Toolchain (see below), or
5. Any generic arm-none-eabi GNU toolchain.
1. The NuttX buildroot Toolchain (see below), or
2. 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
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
add one of the following configuration options to your .config (or defconfig)
file:
All testing has been conducted using the NuttX buildroot toolchain. To use
a different toolchain, you simply need to modify the configuration. As an
example:
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARM_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARM_TOOLCHAIN_GNU_EABIL : Generic arm-none-eabi toolchain
You may also have to modify the PATH environment variable if your make cannot
find the tools.
The toolchain may also be set using the kconfig-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
to using a Windows based toolchain in a Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
-Os.
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
@ -95,12 +48,6 @@ GNU Toolchain Options
GCC ARM Embedded
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
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.

View File

@ -36,59 +36,14 @@ GNU Toolchain Options
The NuttX make system has been modified to support the following different
toolchain options.
1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain,
3. Raisonance GNU toolchain,
4. The NuttX buildroot Toolchain (see below), or
5. Any generic arm-none-eabi GNU toolchain.
1. The NuttX buildroot Toolchain (see below), or
2. 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
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
add one of the following configuration options to your .config (or defconfig)
file:
All testing has been conducted using the NuttX buildroot toolchain. To use
a different toolchain, you simply need to modify the configuration. As an
example:
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARM_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARM_TOOLCHAIN_GNU_EABIL : Generic arm-none-eabi toolchain for Linux
CONFIG_ARM_TOOLCHAIN_GNU_EABIW : Generic arm-none-eabi toolchain for Windows
The toolchain may also be set using the kconfig-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
to using a Windows based toolchain in a Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath' utility
but you might easily find some new path problems. If so, check out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
are used in Nuttx (e.g., include/arch). The make system works around these
problems for the Windows tools by copying directories instead of linking them.
But this can also cause some confusion for you: For example, you may edit
a file in a "linked" directory and find that your changes had no effect.
That is because you are building the copy of the file in the "fake" symbolic
directory. If you use a Windows toolchain, you should get in the habit of
making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
-Os.
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.
CONFIG_ARM_TOOLCHAIN_GNU_EABIL : Generic arm-none-eabi toolchain
Generic arm-none-eabi GNU Toolchain
-----------------------------------
@ -98,12 +53,6 @@ GNU Toolchain Options
GCC ARM Embedded
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
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.
@ -543,7 +492,7 @@ Configurations
- Console on UART -> UART-to-USB converter
- Platform: Windows with Cygwin
- Toolchain: CodeSourcery for Windows
- Toolchain: ARM EABI GCC for Windows
NOTES:
1. Built-in applications are not supported by default. To enable NSH

View File

@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_LPC31XX=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_ROMPGTABLE=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=4287
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_FAT_LCNAMES=y

View File

@ -123,32 +123,6 @@ the following lines in each Make.defs file:
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
Configuration Changes
---------------------
Below are all of the configuration changes that I had to make to
boards/arm/stm32/stm3240g-eval/configs/nsh2 in order to successfully build NuttX using
the Atollic toolchain WITH FPU support:
-CONFIG_ARCH_FPU=n : Enable FPU support
+CONFIG_ARCH_FPU=y
-CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : Disable the CodeSourcery toolchain
+CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=n
-CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=n : Enable the Atollic toolchains
+CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y :
-CONFIG_INTELHEX_BINARY=y : Suppress generation FLASH download formats
+CONFIG_INTELHEX_BINARY=n : (Only necessary with the "Lite" version)
-CONFIG_HAVE_CXX=y : Suppress generation of C++ code
+CONFIG_HAVE_CXX=n : (Only necessary with the "Lite" version)
See the section above on Toolchains, NOTE 2, for explanations for some of
the configuration settings. Some of the usual settings are just not supported
by the "Lite" version of the Atollic toolchain.
Bambino-200e Configuration Options
==================================
@ -453,8 +427,8 @@ Where <subdir> is one of the following:
2. By default, this project assumes that you are executing directly from
SRAM.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. To execute from SPIFI, you would need to set:

View File

@ -278,15 +278,15 @@ Code Red IDE/Tools
By default, the configurations here assume that you are executing directly
from SRAM.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
To execute from SPIFI, you would need to set:
CONFIG_LPC43_BOOT_SPIFI=y : Executing from SPIFI
CONFIG_RAM_SIZE=(128*1024) : SRAM Bank0 size
CONFIG_RAM_START=0x10000000 : SRAM Bank0 base address
CONFIG_SPIFI_OFFSET=(512*1024) : SPIFI file system offset
CONFIG_LPC43_BOOT_SPIFI=y : Executing from SPIFI
CONFIG_RAM_SIZE=(128*1024) : SRAM Bank0 size
CONFIG_RAM_START=0x10000000 : SRAM Bank0 base address
CONFIG_SPIFI_OFFSET=(512*1024) : SPIFI file system offset
To boot the LPC4330-Xplorer from SPIFI the DIP switches should be 1-OFF,
2-ON, 3-ON, 4-ON (LOW LOW LOW HIGH in Table 19, MSB to LSB).
@ -375,31 +375,6 @@ the following lines in each Make.defs file:
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
Configuration Changes
---------------------
Below are all of the configuration changes that I had to make to boards/stm3240g-eval/nsh2
in order to successfully build NuttX using the Atollic toolchain WITH FPU support:
-CONFIG_ARCH_FPU=n : Enable FPU support
+CONFIG_ARCH_FPU=y
-CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : Disable the CodeSourcery toolchain
+CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=n
-CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=n : Enable the Atollic toolchains
+CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y :
-CONFIG_INTELHEX_BINARY=y : Suppress generation FLASH download formats
+CONFIG_INTELHEX_BINARY=n : (Only necessary with the "Lite" version)
-CONFIG_HAVE_CXX=y : Suppress generation of C++ code
+CONFIG_HAVE_CXX=n : (Only necessary with the "Lite" version)
See the section above on Toolchains, NOTE 2, for explanations for some of
the configuration settings. Some of the usual settings are just not supported
by the "Lite" version of the Atollic toolchain.
LPC4330-Xplorer Configuration Options
=====================================
@ -613,8 +588,8 @@ Where <subdir> is one of the following:
2. By default, this project assumes that you are executing directly from
SRAM.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. To execute from SPIFI, you would need to set:

View File

@ -16,7 +16,6 @@ CONFIG_ARCH_CHIP_LPC4330FET100=y
CONFIG_ARCH_CHIP_LPC43XX=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_STDARG_H=y
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y
CONFIG_BOARD_LOOPSPERMSEC=18535
CONFIG_FAT_LCNAMES=y
CONFIG_FAT_LFN=y

View File

@ -274,8 +274,8 @@ Code Red IDE/Tools
By default, the configurations here assume that you are executing directly
from SRAM.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
To execute from SPIFI, you would need to set:
@ -414,31 +414,6 @@ the following lines in each Make.defs file:
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
Configuration Changes
---------------------
Below are all of the configuration changes that I had to make to boards/stm3240g-eval/nsh2
in order to successfully build NuttX using the Atollic toolchain WITH FPU support:
-CONFIG_ARCH_FPU=n : Enable FPU support
+CONFIG_ARCH_FPU=y
-CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : Disable the CodeSourcery toolchain
+CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=n
-CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=n : Enable the Atollic toolchains
+CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y :
-CONFIG_INTELHEX_BINARY=y : Suppress generation FLASH download formats
+CONFIG_INTELHEX_BINARY=n : (Only necessary with the "Lite" version)
-CONFIG_HAVE_CXX=y : Suppress generation of C++ code
+CONFIG_HAVE_CXX=n : (Only necessary with the "Lite" version)
See the section above on Toolchains, NOTE 2, for explanations for some of
the configuration settings. Some of the usual settings are just not supported
by the "Lite" version of the Atollic toolchain.
LPC4337-ws Configuration Options
=====================================
@ -652,8 +627,8 @@ Where <subdir> is one of the following:
2. The project can exucute directly from SRAM with NuttX loaded by a debugger
by setting the following configuration options.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. To execute from SPIFI, you would need to set:

View File

@ -271,8 +271,8 @@ Code Red IDE/Tools
By default, the configurations here assume that you are executing directly
from SRAM.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Linux
To execute from SPIFI, you would need to set:
@ -411,31 +411,6 @@ the following lines in each Make.defs file:
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
Configuration Changes
---------------------
Below are all of the configuration changes that I had to make to boards/stm3240g-eval/nsh2
in order to successfully build NuttX using the Atollic toolchain WITH FPU support:
-CONFIG_ARCH_FPU=n : Enable FPU support
+CONFIG_ARCH_FPU=y
-CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : Disable the CodeSourcery toolchain
+CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=n
-CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=n : Enable the Atollic toolchains
+CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y :
-CONFIG_INTELHEX_BINARY=y : Suppress generation FLASH download formats
+CONFIG_INTELHEX_BINARY=n : (Only necessary with the "Lite" version)
-CONFIG_HAVE_CXX=y : Suppress generation of C++ code
+CONFIG_HAVE_CXX=n : (Only necessary with the "Lite" version)
See the section above on Toolchains, NOTE 2, for explanations for some of
the configuration settings. Some of the usual settings are just not supported
by the "Lite" version of the Atollic toolchain.
LPC4357-EVB Configuration Options
=====================================
@ -649,8 +624,8 @@ Where <subdir> is one of the following:
2. The project can exucute directly from SRAM with NuttX loaded by a debugger
by setting the following configuration options.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. To execute from SPIFI, you would need to set:

View File

@ -274,8 +274,8 @@ Code Red IDE/Tools
By default, the configurations here assume that you are executing directly
from SRAM.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
To execute from SPIFI, you would need to set:
@ -414,31 +414,6 @@ the following lines in each Make.defs file:
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
Configuration Changes
---------------------
Below are all of the configuration changes that I had to make to boards/stm3240g-eval/nsh2
in order to successfully build NuttX using the Atollic toolchain WITH FPU support:
-CONFIG_ARCH_FPU=n : Enable FPU support
+CONFIG_ARCH_FPU=y
-CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : Disable the CodeSourcery toolchain
+CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=n
-CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=n : Enable the Atollic toolchains
+CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y :
-CONFIG_INTELHEX_BINARY=y : Suppress generation FLASH download formats
+CONFIG_INTELHEX_BINARY=n : (Only necessary with the "Lite" version)
-CONFIG_HAVE_CXX=y : Suppress generation of C++ code
+CONFIG_HAVE_CXX=n : (Only necessary with the "Lite" version)
See the section above on Toolchains, NOTE 2, for explanations for some of
the configuration settings. Some of the usual settings are just not supported
by the "Lite" version of the Atollic toolchain.
LPC4370-Link2 Configuration Options
=====================================
@ -652,8 +627,8 @@ Where <subdir> is one of the following:
2. The project can exucute directly from SRAM with NuttX loaded by a debugger
by setting the following configuration options.
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. To execute from SPIFI, you would need to set:

View File

@ -281,13 +281,13 @@ Where <subdir> is one of the following:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. Serial Console. A serial console is necessary to interrupt with
NSH. The serial console is configured on UART1 which is available

View File

@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_SAM34=y
CONFIG_ARCH_CHIP_SAM4E=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=11990
CONFIG_BUILTIN=y
CONFIG_ETH0_PHY_KSZ8051=y

View File

@ -24,7 +24,6 @@ CONFIG_ARCH_CHIP_SAM34=y
CONFIG_ARCH_CHIP_SAM4E=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=11990
CONFIG_BUILTIN=y
CONFIG_ETH0_PHY_KSZ8051=y

View File

@ -759,23 +759,6 @@ Configurations
System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
That same configuration will work with Atmel GCC toolchain. The only
change required to use the Atmel GCC toolchain is to change the PATH
variable so that those tools are selected instead of the CodeSourcery
tools. Try 'which arm-none-eabi-gcc' to make sure that you are
selecting the right tool.
See also the "NOTE about Windows native toolchains" in the section call
"GNU Toolchain Options" above.
!!!WARNING!!! The first time that you type 'make', the system will
configure itself based on the settings in the .config file. One of
these settings can cause a lot of confusion if you configure the build
in the wrong state: If you are running on Linux, make *certain* that
you have CONFIG_HOST_LINUX=y *before* the first make or you will
create a very corrupt configuration that may not be easy to recover
from.
4. The SAMA5Dx is running at 528MHz by default in these configurations.
Board Selection -> CPU Frequency

View File

@ -108,17 +108,9 @@ GNU Toolchain Options
a different toolchain, you simply need to add change to one of the following
configuration options to your .config (or defconfig) file:
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
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_EABIW=y : Generic GCC ARM EABI toolchain for Windows
The CodeSourcery GCC toolchain is selected with
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y and setting the PATH variable
appropriately.
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_EABIW=y : Generic GCC ARM EABI toolchain for Windows
NOTE about Windows native toolchains
------------------------------------
@ -3123,23 +3115,6 @@ Configurations
System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
That same configuration will work with Atmel GCC toolchain. The only
change required to use the Atmel GCC toolchain is to change the PATH
variable so that those tools are selected instead of the CodeSourcery
tools. Try 'which arm-none-eabi-gcc' to make sure that you are
selecting the right tool.
See also the "NOTE about Windows native toolchains" in the section call
"GNU Toolchain Options" above.
!!!WARNING!!! The first time that you type 'make', the system will
configure itself based on the settings in the .config file. One of
these settings can cause a lot of confusion if you configure the build
in the wrong state: If you are running on Linux, make *certain* that
you have CONFIG_HOST_LINUX=y *before* the first make or you will
create a very corrupt configuration that may not be easy to recover
from.
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
came from the Atmel NoOS sample code which runs at that rate.
@ -3197,13 +3172,12 @@ Configurations
2. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
native, generic ARM EABI GCC toolchain. Both the build environment
and the toolchain selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3260,13 +3234,12 @@ Configurations
2. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
native, generic ARM EABI GCC toolchain. Both the build environment
and the toolchain selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_BUILTIN=y

View File

@ -19,7 +19,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_BUILTIN=y

View File

@ -130,41 +130,9 @@ GNU Toolchain Options
a different toolchain, you simply need to add change to one of the following
configuration options to your .config (or defconfig) file:
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
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_EABIW=y : Generic GCC ARM EABI toolchain for Windows
The CodeSourcery GCC toolchain is selected with
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y and setting the PATH variable
appropriately.
NOTE about Windows native toolchains
------------------------------------
There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath'
utility but you might easily find some new path problems. If so, check
out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic
links are used in Nuttx (e.g., include/arch). The make system works
around these problems for the Windows tools by copying directories
instead of linking them. But this can also cause some confusion for
you: For example, you may edit a file in a "linked" directory and find
that your changes had no effect. That is because you are building the
copy of the file in the "fake" symbolic directory. If you use a\
Windows toolchain, you should get in the habit of making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
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_EABIW=y : Generic GCC ARM EABI toolchain for Windows
IDEs
====
@ -3328,23 +3296,6 @@ Configurations
System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
That same configuration will work with Atmel GCC toolchain. The only
change required to use the Atmel GCC toolchain is to change the PATH
variable so that those tools are selected instead of the CodeSourcery
tools. Try 'which arm-none-eabi-gcc' to make sure that you are
selecting the right tool.
See also the "NOTE about Windows native toolchains" in the section call
"GNU Toolchain Options" above.
!!!WARNING!!! The first time that you type 'make', the system will
configure itself based on the settings in the .config file. One of
these settings can cause a lot of confusion if you configure the build
in the wrong state: If you are running on Linux, make *certain* that
you have CONFIG_HOST_LINUX=y *before* the first make or you will
create a very corrupt configuration that may not be easy to recover
from.
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
came from the Atmel NoOS sample code which runs at that rate.
@ -3434,13 +3385,12 @@ Configurations
2. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
native, generic ARM EABI GCC toolchain. Both the build environment
and the toolchain selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3517,8 +3467,8 @@ Configurations
selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3590,8 +3540,8 @@ Configurations
selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_AT25_SPIFREQUENCY=10000000
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BUILTIN=y

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_CONSOLE_SYSLOG=y

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_CONSOLE_SYSLOG=y

View File

@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BUILTIN=y
CONFIG_DISABLE_ENVIRON=y

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BUILTIN=y
CONFIG_DISABLE_ENVIRON=y

View File

@ -20,7 +20,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_AUDIO_NUM_BUFFERS=8
CONFIG_AUDIO_WM8904=y
CONFIG_BOARD_LOOPSPERMSEC=49341

View File

@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_BUILTIN=y
CONFIG_FLASH_SIZE=134217728

View File

@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=49341
CONFIG_CONSOLE_SYSLOG=y
CONFIG_DISABLE_ENVIRON=y

View File

@ -124,41 +124,9 @@ GNU Toolchain Options
a different toolchain, you simply need to add change to one of the following
configuration options to your .config (or defconfig) file:
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
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_EABIW=y : Generic GCC ARM EABI toolchain for Windows
The CodeSourcery GCC toolchain is selected with
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y and setting the PATH variable
appropriately.
NOTE about Windows native toolchains
------------------------------------
There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
performed automatically in the Cygwin makefiles using the 'cygpath'
utility but you might easily find some new path problems. If so, check
out 'cygpath -w'
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic
links are used in Nuttx (e.g., include/arch). The make system works
around these problems for the Windows tools by copying directories
instead of linking them. But this can also cause some confusion for
you: For example, you may edit a file in a "linked" directory and find
that your changes had no effect. That is because you are building the
copy of the file in the "fake" symbolic directory. If you use a\
Windows toolchain, you should get in the habit of making like this:
make clean_context all
An alias in your .bashrc file might make that less painful.
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_EABIW=y : Generic GCC ARM EABI toolchain for Windows
IDEs
====
@ -3607,23 +3575,6 @@ Configurations
System Type -> Toolchain:
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
That same configuration will work with Atmel GCC toolchain. The only
change required to use the Atmel GCC toolchain is to change the PATH
variable so that those tools are selected instead of the CodeSourcery
tools. Try 'which arm-none-eabi-gcc' to make sure that you are
selecting the right tool.
See also the "NOTE about Windows native toolchains" in the section call
"GNU Toolchain Options" above.
!!!WARNING!!! The first time that you type 'make', the system will
configure itself based on the settings in the .config file. One of
these settings can cause a lot of confusion if you configure the build
in the wrong state: If you are running on Linux, make *certain* that
you have CONFIG_HOST_LINUX=y *before* the first make or you will
create a very corrupt configuration that may not be easy to recover
from.
4. The SAMA5Dx is running at 528MHz by default in these configurations.
Board Selection -> CPU Frequency
@ -3714,8 +3665,8 @@ Configurations
selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3783,8 +3734,8 @@ Configurations
selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -3863,7 +3814,7 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -4028,13 +3979,12 @@ Configurations
2. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
native, generic ARM EABI GCC toolchain. Both the build environment
and the toolchain selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -4278,13 +4228,12 @@ Configurations
3. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
native, generic ARM EABI GCC toolchain. Both the build environment
and the toolchain selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
@ -4931,13 +4880,12 @@ Configurations
2. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
native, generic ARM EABI GCC toolchain. Both the build environment
and the toolchain selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a

View File

@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
CONFIG_ARCH_CHIP_SAMA5D4=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_BUILTIN=y

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D4=y
CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMSDRAM=y
CONFIG_BUILTIN=y

View File

@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
CONFIG_ARCH_CHIP_SAMA5D4=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_BUILTIN=y

View File

@ -29,7 +29,6 @@ CONFIG_ARCH_PGPOOL_VBASE=0x28000000
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_TEXT_NPAGES=256
CONFIG_ARCH_TEXT_VBASE=0x80000000
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LATE_INITIALIZE=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMSDRAM=y

View File

@ -25,7 +25,6 @@ CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_AUDIO_NUM_BUFFERS=8
CONFIG_AUDIO_WM8904=y
CONFIG_BOARD_LOOPSPERMSEC=65775

View File

@ -31,7 +31,6 @@ CONFIG_ARCH_PGPOOL_VBASE=0x28000000
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARCH_TEXT_NPAGES=256
CONFIG_ARCH_TEXT_VBASE=0x80000000
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LATE_INITIALIZE=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMSDRAM=y

View File

@ -24,7 +24,6 @@ CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_AUDIO_NUM_BUFFERS=8
CONFIG_AUDIO_WM8904=y
CONFIG_BOARD_LOOPSPERMSEC=65775

View File

@ -27,7 +27,6 @@ CONFIG_ARCH_INTERRUPTSTACK=2048
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_AUDIO=y
CONFIG_AUDIO_NULL=y
CONFIG_AUDIO_NUM_BUFFERS=4

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
CONFIG_ARCH_CHIP_SAMA5D4=y
CONFIG_ARCH_LOWVECTORS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=65775
CONFIG_BOOT_RUNFROMISRAM=y
CONFIG_BUILTIN=y

View File

@ -130,7 +130,7 @@ Configuration sub-directories
NOTES:
1. This configuration is set up to build on Windows using the Cygwin
environment using the CodeSourcery toolchain. This can be easily
environment using the ARM EABI toolchain. This can be easily
changed as described above under "Configurations."
2. By default, this configuration provides a serial console on SERCOM5

View File

@ -283,13 +283,9 @@ GNU Toolchain Options
toolchain. To use alternative toolchain, you simply need to add change of
the following configuration options to your .config (or defconfig) file:
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
NOTE about Windows native toolchains
------------------------------------
@ -665,11 +661,11 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows Host
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on windows
4. These configurations use the CodeSourcery toolchain. But
4. These configurations use the GNU EABI toolchain. But
that is easily reconfigured:
System Type -> Toolchain:
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIW=y
Any re-configuration should be done before making NuttX or else the
subsequent 'make' will fail. If you have already attempted building
@ -695,7 +691,7 @@ Configuration sub-directories
NOTES:
1. This configuration is set up to build on Windows using the Cygwin
environment using the CodeSourcery toolchain. This can be easily
environment using the ARM EABI toolchain. This can be easily
changed as described above under "Configurations."
2. By default, this configuration provides a serial console on SERCOM4

View File

@ -32,7 +32,6 @@ CONFIG_ARCH_CHIP="samd2l2"
CONFIG_ARCH_CHIP_SAMD20J18=y
CONFIG_ARCH_CHIP_SAMD2X=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=3410
CONFIG_BUILTIN=y
CONFIG_DEFAULT_SMALL=y

View File

@ -532,11 +532,11 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows Host
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on windows
4. These configurations use the CodeSourcery toolchain. But
4. These configurations use the ARM EABI toolchain. But
that is easily reconfigured:
System Type -> Toolchain:
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIW=y
Any re-configuration should be done before making NuttX or else the
subsequent 'make' will fail. If you have already attempted building
@ -562,7 +562,7 @@ Configuration sub-directories
NOTES:
1. This configuration is set up to build on Windows using the Cygwin
environment using the CodeSourcery toolchain. This can be easily
environment using the ARM EABI toolchain. This can be easily
changed as described above under "Configurations."
2. By default, this configuration provides a serial console on SERCOM4

View File

@ -32,7 +32,6 @@ CONFIG_ARCH_CHIP="samd2l2"
CONFIG_ARCH_CHIP_SAMD21J18A=y
CONFIG_ARCH_CHIP_SAMD2X=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=3410
CONFIG_BUILTIN=y
CONFIG_DEFAULT_SMALL=y

View File

@ -264,13 +264,9 @@ GNU Toolchain Options
toolchain. To use alternative toolchain, you simply need to add change of
the following configuration options to your .config (or defconfig) file:
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows
NOTE about Windows native toolchains
------------------------------------
@ -694,11 +690,11 @@ Configurations
CONFIG_HOST_WINDOWS=y : Windows Host
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on windows
4. These configurations use the CodeSourcery toolchain. But
4. These configurations use the ARM EABI toolchain. But
that is easily reconfigured:
System Type -> Toolchain:
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIW=y
Any re-configuration should be done before making NuttX or else the
subsequent 'make' will fail. If you have already attempted building
@ -724,7 +720,7 @@ Configuration sub-directories
NOTES:
1. This configuration is set up to build on Windows using the Cygwin
environment using the CodeSourcery toolchain. This can be easily
environment using the ARM EABI toolchain. This can be easily
changed as described above under "Configurations."
2. By default, this configuration provides a serial console on SERCOM4

View File

@ -32,7 +32,6 @@ CONFIG_ARCH_CHIP="samd2l2"
CONFIG_ARCH_CHIP_SAML21J18=y
CONFIG_ARCH_CHIP_SAML2X=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=4356
CONFIG_BUILTIN=y
CONFIG_DEFAULT_SMALL=y

View File

@ -474,7 +474,7 @@ Where <subdir> is one of the following:
Configures the NuttShell (nsh) located at apps/examples/nsh. The
Configuration enables both the serial and telnet NSH interfaces.
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
CONFIG_NSH_DHCPC=n : DHCP is disabled
CONFIG_NSH_IPADDR=0x0a000002 : Target IP address 10.0.0.2
CONFIG_NSH_DRIPADDR=0x0a000001 : Host IP address 10.0.0.1

View File

@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP="stm32"
CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F107VC=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=5483
CONFIG_BUILTIN=y
CONFIG_ETH0_PHY_DM9161=y

View File

@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP="stm32"
CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F103VE=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
CONFIG_BOARD_LOOPSPERMSEC=5483
CONFIG_BUILTIN=y
CONFIG_ENC28J60=y

View File

@ -483,7 +483,7 @@ Where <subdir> is one of the following:
more information.
CONFIG_HOST_LINUX=y : Linux host
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery toolchain under Linux
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Linux
USB debug output can be enabled as by changing the following
settings in the configuration file:

View File

@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="stm32"
CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F103VC=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=5483
CONFIG_LIB_BOARDCTL=y
CONFIG_MAX_TASKS=16

View File

@ -12,7 +12,6 @@ CONFIG_ARCH_CHIP="stm32"
CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F103VC=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
CONFIG_BOARD_LOOPSPERMSEC=5483
CONFIG_DISABLE_MOUNTPOINT=y
CONFIG_EXAMPLES_USBSERIAL=y

View File

@ -28,11 +28,9 @@ Contents
Development Environment
=======================
Either Linux (recommended), Mac 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
were used and those tools works only under Windows.
Either Linux (recommended), Mac 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.
DFU
===

View File

@ -181,31 +181,6 @@ the following lines in each Make.defs file:
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
Configuration Changes
---------------------
Below are all of the configuration changes that I had to make to boards/stm3240g-eval/nsh2
in order to successfully build NuttX using the Atollic toolchain WITH FPU support:
-CONFIG_ARCH_FPU=n : Enable FPU support
+CONFIG_ARCH_FPU=y
-CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : Disable the CodeSourcery toolchain
+CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=n
-CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=n : Enable the Atollic toolchain
+CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y :
-CONFIG_INTELHEX_BINARY=y : Suppress generation FLASH download formats
+CONFIG_INTELHEX_BINARY=n : (Only necessary with the "Lite" version)
-CONFIG_HAVE_CXX=y : Suppress generation of C++ code
+CONFIG_HAVE_CXX=n : (Only necessary with the "Lite" version)
See the section above on Toolchains, NOTE 2, for explanations for some of
the configuration settings. Some of the usual settings are just not supported
by the "Lite" version of the Atollic toolchain.
Mikroe-STM32F4-specific Configuration Options
===============================================
@ -518,7 +493,7 @@ Where <subdir> is one of the following:
CONFIG_HOST_WINDOWS=y : Windows
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on Windows
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
This is easily changed by modifying the configuration.
@ -647,13 +622,13 @@ Where <subdir> is one of the following:
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. By default, this configuration uses the CodeSourcery toolchain
2. By default, this configuration uses the ARM EABI toolchain
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
CONFIG_HOST_WINDOWS=y : Builds under Windows
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
3. This configuration does have UART2 output enabled and set up as
the system logging device:

Some files were not shown because too many files have changed in this diff Show More