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:
parent
e989147119
commit
801b9d6e5f
@ -14,22 +14,6 @@ config ARM_TOOLCHAIN_BUILDROOT
|
|||||||
bool "Buildroot (Cygwin or Linux)"
|
bool "Buildroot (Cygwin or Linux)"
|
||||||
depends on !WINDOWS_NATIVE
|
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
|
config ARM_TOOLCHAIN_GNU_EABIL
|
||||||
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
||||||
---help---
|
---help---
|
||||||
|
@ -1,35 +1,20 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# arch/arm/src/armv/Toolchain.defs
|
# arch/arm/src/armv/Toolchain.defs
|
||||||
#
|
#
|
||||||
# Copyright (C) 2012-2014, 2017 Gregory Nutt. All rights reserved.
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# 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
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
#
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# notice, this list of conditions and the following disclaimer.
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# notice, this list of conditions and the following disclaimer in
|
# License for the specific language governing permissions and limitations
|
||||||
# the documentation and/or other materials provided with the
|
# under the License.
|
||||||
# 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.
|
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
@ -48,24 +33,6 @@ ifeq ($(filter y, \
|
|||||||
CONFIG_ARM_TOOLCHAIN ?= BUILDROOT
|
CONFIG_ARM_TOOLCHAIN ?= BUILDROOT
|
||||||
endif
|
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, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARM_TOOLCHAIN_GNU_EABIL) \
|
$(CONFIG_ARM_TOOLCHAIN_GNU_EABIL) \
|
||||||
),y)
|
),y)
|
||||||
@ -113,35 +80,6 @@ endif
|
|||||||
MAXOPTIMIZATION ?= -Os
|
MAXOPTIMIZATION ?= -Os
|
||||||
endif
|
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
|
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARM_TOOLCHAIN),GNU_EABIL)
|
ifeq ($(CONFIG_ARM_TOOLCHAIN),GNU_EABIL)
|
||||||
|
@ -10,41 +10,11 @@ choice
|
|||||||
default ARMV6M_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS
|
default ARMV6M_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS
|
||||||
default ARMV6M_TOOLCHAIN_GNU_EABIL 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
|
config ARMV6M_TOOLCHAIN_BUILDROOT
|
||||||
bool "Buildroot (Cygwin or Linux)"
|
bool "Buildroot (Cygwin or Linux)"
|
||||||
depends on !WINDOWS_NATIVE
|
depends on !WINDOWS_NATIVE
|
||||||
select ARCH_TOOLCHAIN_GNU
|
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
|
config ARMV6M_TOOLCHAIN_GNU_EABIL
|
||||||
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
||||||
select ARCH_TOOLCHAIN_GNU
|
select ARCH_TOOLCHAIN_GNU
|
||||||
|
@ -1,35 +1,20 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# arch/arm/src/armv6-m/Toolchain.defs
|
# arch/arm/src/armv6-m/Toolchain.defs
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# 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
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
#
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# notice, this list of conditions and the following disclaimer.
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# notice, this list of conditions and the following disclaimer in
|
# License for the specific language governing permissions and limitations
|
||||||
# the documentation and/or other materials provided with the
|
# under the License.
|
||||||
# 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.
|
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
@ -42,34 +27,10 @@
|
|||||||
# command-line selection.
|
# command-line selection.
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_ATOLLIC)),y)
|
|
||||||
CONFIG_ARMV6M_TOOLCHAIN ?= ATOLLIC
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT)),y)
|
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT)),y)
|
||||||
CONFIG_ARMV6M_TOOLCHAIN ?= BUILDROOT
|
CONFIG_ARMV6M_TOOLCHAIN ?= BUILDROOT
|
||||||
endif
|
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)
|
ifeq ($(filter y, $(CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIL)),y)
|
||||||
CONFIG_ARMV6M_TOOLCHAIN ?= GNU_EABIL
|
CONFIG_ARMV6M_TOOLCHAIN ?= GNU_EABIL
|
||||||
endif
|
endif
|
||||||
@ -100,17 +61,6 @@ ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y)
|
|||||||
MAXOPTIMIZATION := $(CONFIG_DEBUG_OPTLEVEL)
|
MAXOPTIMIZATION := $(CONFIG_DEBUG_OPTLEVEL)
|
||||||
endif
|
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
|
# NuttX buildroot under Linux or Cygwin
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),BUILDROOT)
|
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),BUILDROOT)
|
||||||
@ -119,55 +69,6 @@ ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),BUILDROOT)
|
|||||||
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
|
ARCHCPUFLAGS = -mcpu=cortex-m0 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),GNU_EABIL)
|
ifeq ($(CONFIG_ARMV6M_TOOLCHAIN),GNU_EABIL)
|
||||||
|
@ -136,25 +136,6 @@ config ARMV7A_TOOLCHAIN_BUILDROOT
|
|||||||
select ARCH_TOOLCHAIN_GNU
|
select ARCH_TOOLCHAIN_GNU
|
||||||
depends on !WINDOWS_NATIVE
|
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
|
config ARMV7A_TOOLCHAIN_GNU_EABIL
|
||||||
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
||||||
select ARCH_TOOLCHAIN_GNU
|
select ARCH_TOOLCHAIN_GNU
|
||||||
|
@ -1,35 +1,20 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# arch/arm/src/armv7-a/Toolchain.defs
|
# arch/arm/src/armv7-a/Toolchain.defs
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013, 2019 Gregory Nutt. All rights reserved.
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# 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
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
#
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# notice, this list of conditions and the following disclaimer.
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# notice, this list of conditions and the following disclaimer in
|
# License for the specific language governing permissions and limitations
|
||||||
# the documentation and/or other materials provided with the
|
# under the License.
|
||||||
# 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.
|
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
@ -46,24 +31,6 @@ ifeq ($(filter y, \
|
|||||||
CONFIG_ARMV7A_TOOLCHAIN ?= BUILDROOT
|
CONFIG_ARMV7A_TOOLCHAIN ?= BUILDROOT
|
||||||
endif
|
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, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL) \
|
$(CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL) \
|
||||||
),y)
|
),y)
|
||||||
@ -131,35 +98,6 @@ endif
|
|||||||
MAXOPTIMIZATION ?= -Os
|
MAXOPTIMIZATION ?= -Os
|
||||||
endif
|
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
|
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV7A_TOOLCHAIN),GNU_EABIL)
|
ifeq ($(CONFIG_ARMV7A_TOOLCHAIN),GNU_EABIL)
|
||||||
|
@ -135,41 +135,11 @@ config ARMV7M_TOOLCHAIN_IARL
|
|||||||
depends on HOST_LINUX
|
depends on HOST_LINUX
|
||||||
select ARCH_TOOLCHAIN_IAR
|
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
|
config ARMV7M_TOOLCHAIN_BUILDROOT
|
||||||
bool "Buildroot (Cygwin or Linux)"
|
bool "Buildroot (Cygwin or Linux)"
|
||||||
depends on !WINDOWS_NATIVE
|
depends on !WINDOWS_NATIVE
|
||||||
select ARCH_TOOLCHAIN_GNU
|
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
|
config ARMV7M_TOOLCHAIN_GNU_EABIL
|
||||||
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
||||||
depends on !WINDOWS_NATIVE
|
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)
|
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
||||||
configured for arm-none-eabi.
|
configured for arm-none-eabi.
|
||||||
|
|
||||||
config ARMV7M_TOOLCHAIN_RAISONANCE
|
|
||||||
bool "STMicro Raisonance for Windows"
|
|
||||||
depends on TOOLCHAIN_WINDOWS
|
|
||||||
select ARCH_TOOLCHAIN_GNU
|
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config ARMV7M_OABI_TOOLCHAIN
|
config ARMV7M_OABI_TOOLCHAIN
|
||||||
|
@ -27,54 +27,12 @@
|
|||||||
# command-line selection.
|
# command-line selection.
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(filter y, \
|
|
||||||
$(CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC) \
|
|
||||||
),y)
|
|
||||||
CONFIG_ARMV7M_TOOLCHAIN ?= ATOLLIC
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(filter y, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT) \
|
$(CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT) \
|
||||||
),y)
|
),y)
|
||||||
CONFIG_ARMV7M_TOOLCHAIN ?= BUILDROOT
|
CONFIG_ARMV7M_TOOLCHAIN ?= BUILDROOT
|
||||||
endif
|
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, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL) \
|
$(CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL) \
|
||||||
),y)
|
),y)
|
||||||
@ -151,18 +109,6 @@ else # ifeq ($(CONFIG_ARCH_CORTEXM3),y)
|
|||||||
TOOLCHAIN_MFLOAT := -mfloat-abi=soft
|
TOOLCHAIN_MFLOAT := -mfloat-abi=soft
|
||||||
endif
|
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
|
# NuttX buildroot under Linux or Cygwin
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),BUILDROOT)
|
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),BUILDROOT)
|
||||||
@ -178,59 +124,6 @@ endif
|
|||||||
MAXOPTIMIZATION ?= -Os
|
MAXOPTIMIZATION ?= -Os
|
||||||
endif
|
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
|
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),GNU_EABIL)
|
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),GNU_EABIL)
|
||||||
@ -273,13 +166,3 @@ ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CLANGW)
|
|||||||
endif
|
endif
|
||||||
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
|
|
||||||
|
@ -136,25 +136,6 @@ config ARMV7R_TOOLCHAIN_BUILDROOT
|
|||||||
select ARCH_TOOLCHAIN_GNU
|
select ARCH_TOOLCHAIN_GNU
|
||||||
depends on !WINDOWS_NATIVE
|
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
|
config ARMV7R_TOOLCHAIN_GNU_EABIL
|
||||||
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
||||||
select ARCH_TOOLCHAIN_GNU
|
select ARCH_TOOLCHAIN_GNU
|
||||||
|
@ -1,35 +1,20 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# arch/arm/src/armv7-r/Toolchain.defs
|
# arch/arm/src/armv7-r/Toolchain.defs
|
||||||
#
|
#
|
||||||
# Copyright (C) 2015 Gregory Nutt. All rights reserved.
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# 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
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
#
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# notice, this list of conditions and the following disclaimer.
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# notice, this list of conditions and the following disclaimer in
|
# License for the specific language governing permissions and limitations
|
||||||
# the documentation and/or other materials provided with the
|
# under the License.
|
||||||
# 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.
|
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
@ -46,24 +31,6 @@ ifeq ($(filter y, \
|
|||||||
CONFIG_ARMV7R_TOOLCHAIN ?= BUILDROOT
|
CONFIG_ARMV7R_TOOLCHAIN ?= BUILDROOT
|
||||||
endif
|
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, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIL) \
|
$(CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIL) \
|
||||||
),y)
|
),y)
|
||||||
@ -113,35 +80,6 @@ endif
|
|||||||
MAXOPTIMIZATION ?= -Os
|
MAXOPTIMIZATION ?= -Os
|
||||||
endif
|
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
|
# Generic GNU EABI toolchain on macOS, Linux or any typical Posix system
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV7R_TOOLCHAIN),GNU_EABIL)
|
ifeq ($(CONFIG_ARMV7R_TOOLCHAIN),GNU_EABIL)
|
||||||
|
@ -106,41 +106,11 @@ choice
|
|||||||
default ARMV8M_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS
|
default ARMV8M_TOOLCHAIN_GNU_EABIW if TOOLCHAIN_WINDOWS
|
||||||
default ARMV8M_TOOLCHAIN_GNU_EABIL 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
|
config ARMV8M_TOOLCHAIN_BUILDROOT
|
||||||
bool "Buildroot (Cygwin or Linux)"
|
bool "Buildroot (Cygwin or Linux)"
|
||||||
depends on !WINDOWS_NATIVE
|
depends on !WINDOWS_NATIVE
|
||||||
select ARCH_TOOLCHAIN_GNU
|
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
|
config ARMV8M_TOOLCHAIN_GNU_EABIL
|
||||||
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
bool "Generic GNU EABI toolchain under Linux (or other POSIX environment)"
|
||||||
depends on !WINDOWS_NATIVE
|
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)
|
This option should work for any modern GNU toolchain (GCC 4.5 or newer)
|
||||||
configured for arm-none-eabi.
|
configured for arm-none-eabi.
|
||||||
|
|
||||||
config ARMV8M_TOOLCHAIN_RAISONANCE
|
|
||||||
bool "STMicro Raisonance for Windows"
|
|
||||||
depends on TOOLCHAIN_WINDOWS
|
|
||||||
select ARCH_TOOLCHAIN_GNU
|
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config ARMV8M_OABI_TOOLCHAIN
|
config ARMV8M_OABI_TOOLCHAIN
|
||||||
|
@ -27,54 +27,12 @@
|
|||||||
# command-line selection.
|
# command-line selection.
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(filter y, \
|
|
||||||
$(CONFIG_ARMV8M_TOOLCHAIN_ATOLLIC) \
|
|
||||||
),y)
|
|
||||||
CONFIG_ARMV8M_TOOLCHAIN ?= ATOLLIC
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(filter y, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARMV8M_TOOLCHAIN_BUILDROOT) \
|
$(CONFIG_ARMV8M_TOOLCHAIN_BUILDROOT) \
|
||||||
),y)
|
),y)
|
||||||
CONFIG_ARMV8M_TOOLCHAIN ?= BUILDROOT
|
CONFIG_ARMV8M_TOOLCHAIN ?= BUILDROOT
|
||||||
endif
|
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, \
|
ifeq ($(filter y, \
|
||||||
$(CONFIG_ARMV8M_TOOLCHAIN_GNU_EABIL) \
|
$(CONFIG_ARMV8M_TOOLCHAIN_GNU_EABIL) \
|
||||||
),y)
|
),y)
|
||||||
@ -140,17 +98,6 @@ else ifeq ($(CONFIG_ARCH_CORTEXM35P),y)
|
|||||||
endif
|
endif
|
||||||
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
|
# NuttX buildroot under Linux or Cygwin
|
||||||
|
|
||||||
@ -167,59 +114,6 @@ endif
|
|||||||
MAXOPTIMIZATION ?= -Os
|
MAXOPTIMIZATION ?= -Os
|
||||||
endif
|
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
|
# Generic GNU EABI toolchain on OS X, Linux or any typical Posix system
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),GNU_EABIL)
|
ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),GNU_EABIL)
|
||||||
@ -262,13 +156,3 @@ ifeq ($(CONFIG_ARMV8M_TOOLCHAIN),CLANGW)
|
|||||||
endif
|
endif
|
||||||
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
|
|
||||||
|
@ -367,7 +367,7 @@ Configurations
|
|||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
|
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
|
||||||
|
|
||||||
System Type -> Toolchain:
|
System Type -> Toolchain:
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
Configuration Sub-directories
|
Configuration Sub-directories
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
@ -19,7 +19,6 @@ CONFIG_ARCH_CHIP_A1X=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -210,7 +210,7 @@ Configurations
|
|||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
|
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin or other POSIX environment
|
||||||
|
|
||||||
System Type -> Toolchain:
|
System Type -> Toolchain:
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
Configuration Sub-directories
|
Configuration Sub-directories
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
@ -52,59 +52,15 @@ GNU Toolchain Options
|
|||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
1. The NuttX buildroot Toolchain (see below), or
|
||||||
2. The devkitARM GNU toolchain,
|
2. Any generic arm-none-eabi GNU toolchain.
|
||||||
3. Raisonance GNU toolchain, or
|
|
||||||
4. The NuttX buildroot Toolchain (see below), or
|
|
||||||
5. Any generic arm-none-eabi GNU toolchain.
|
|
||||||
|
|
||||||
All testing has been conducted using the NuttX buildroot toolchain. However,
|
All testing has been conducted using the NuttX buildroot toolchain. To use
|
||||||
the make system is setup to default to use the devkitARM toolchain. To use
|
a different toolchain, you simply need to modify the configuration. As an
|
||||||
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
|
example:
|
||||||
add one of the following configuration options to your .config (or defconfig)
|
|
||||||
file:
|
|
||||||
|
|
||||||
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
|
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
|
Generic arm-none-eabi GNU Toolchain
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
There are a number of toolchain projects providing support for ARMv4/v5
|
There are a number of toolchain projects providing support for ARMv4/v5
|
||||||
@ -113,12 +69,6 @@ GNU Toolchain Options
|
|||||||
GCC ARM Embedded
|
GCC ARM Embedded
|
||||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
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
|
Others exist for various Linux distributions, MacPorts, etc. Any version
|
||||||
based on GCC 4.6.3 or later should work.
|
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
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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:
|
Linux. This is easily reconfigured:
|
||||||
|
|
||||||
CONFIG_HOST_LINUX=y
|
CONFIG_HOST_LINUX=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y
|
||||||
|
|
||||||
Configuration Sub-Directories
|
Configuration Sub-Directories
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
@ -10,7 +10,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
|
|||||||
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
||||||
CONFIG_ARCH_CHIP="dm320"
|
CONFIG_ARCH_CHIP="dm320"
|
||||||
CONFIG_ARCH_CHIP_DM320=y
|
CONFIG_ARCH_CHIP_DM320=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
|
@ -13,7 +13,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
|
|||||||
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
||||||
CONFIG_ARCH_CHIP="dm320"
|
CONFIG_ARCH_CHIP="dm320"
|
||||||
CONFIG_ARCH_CHIP_DM320=y
|
CONFIG_ARCH_CHIP_DM320=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_DISABLE_MQUEUE=y
|
CONFIG_DISABLE_MQUEUE=y
|
||||||
|
@ -11,7 +11,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
|
|||||||
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
||||||
CONFIG_ARCH_CHIP="dm320"
|
CONFIG_ARCH_CHIP="dm320"
|
||||||
CONFIG_ARCH_CHIP_DM320=y
|
CONFIG_ARCH_CHIP_DM320=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
|
@ -11,7 +11,6 @@ CONFIG_ARCH_BOARD="ntosd-dm320"
|
|||||||
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
CONFIG_ARCH_BOARD_NTOSD_DM320=y
|
||||||
CONFIG_ARCH_CHIP="dm320"
|
CONFIG_ARCH_CHIP="dm320"
|
||||||
CONFIG_ARCH_CHIP_DM320=y
|
CONFIG_ARCH_CHIP_DM320=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
|
@ -256,10 +256,10 @@ CONFIGURATIONS
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="efm32"
|
|||||||
CONFIG_ARCH_CHIP_EFM32=y
|
CONFIG_ARCH_CHIP_EFM32=y
|
||||||
CONFIG_ARCH_CHIP_EFM32G890F128=y
|
CONFIG_ARCH_CHIP_EFM32G890F128=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=2662
|
CONFIG_BOARD_LOOPSPERMSEC=2662
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
CONFIG_DISABLE_MOUNTPOINT=y
|
CONFIG_DISABLE_MOUNTPOINT=y
|
||||||
|
@ -208,10 +208,10 @@ Configurations
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="efm32"
|
|||||||
CONFIG_ARCH_CHIP_EFM32=y
|
CONFIG_ARCH_CHIP_EFM32=y
|
||||||
CONFIG_ARCH_CHIP_EFM32GG990F1024=y
|
CONFIG_ARCH_CHIP_EFM32GG990F1024=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=4787
|
CONFIG_BOARD_LOOPSPERMSEC=4787
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
CONFIG_DISABLE_MOUNTPOINT=y
|
CONFIG_DISABLE_MOUNTPOINT=y
|
||||||
|
@ -156,10 +156,11 @@ Configurations
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="efm32"
|
|||||||
CONFIG_ARCH_CHIP_EFM32=y
|
CONFIG_ARCH_CHIP_EFM32=y
|
||||||
CONFIG_ARCH_CHIP_EFM32G880F128=y
|
CONFIG_ARCH_CHIP_EFM32G880F128=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=2662
|
CONFIG_BOARD_LOOPSPERMSEC=2662
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
CONFIG_DISABLE_MOUNTPOINT=y
|
CONFIG_DISABLE_MOUNTPOINT=y
|
||||||
|
@ -625,27 +625,6 @@ GNU Toolchain Options
|
|||||||
You may also have to modify the PATH environment variable if your make cannot
|
You may also have to modify the PATH environment variable if your make cannot
|
||||||
find the tools.
|
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
|
Freedom K64F Configuration Options
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
@ -625,30 +625,6 @@ GNU Toolchain Options
|
|||||||
|
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y
|
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
|
Freedom K66F Configuration Options
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
@ -292,13 +292,13 @@ NOTES:
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
Support
|
||||||
for builtin applications is enabled, but in the base configuration
|
for builtin applications is enabled, but in the base configuration
|
||||||
|
@ -300,13 +300,13 @@ Where <subdir> is one of the following:
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
3. Serial Console. A serial console is necessary to interrupt with
|
||||||
NSH. The serial console is configured on UART0 which is available
|
NSH. The serial console is configured on UART0 which is available
|
||||||
|
@ -278,13 +278,13 @@ Where <subdir> is one of the following:
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
3. Serial Console. A serial console is necessary to interrupt with
|
||||||
NSH. The serial console is configured on UART0 which is available
|
NSH. The serial console is configured on UART0 which is available
|
||||||
|
@ -293,7 +293,7 @@ Where <subdir> is one of the following:
|
|||||||
reconfiguration process.
|
reconfiguration process.
|
||||||
|
|
||||||
2. This configuration is setup to build under Windows with Cygwin using
|
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.
|
3. This configuration uses a serial console on UART0 at 115200 8N1.
|
||||||
This is the serial port at the connector labelled COM1 on the
|
This is the serial port at the connector labelled COM1 on the
|
||||||
@ -343,12 +343,12 @@ Where <subdir> is one of the following:
|
|||||||
|
|
||||||
NOTES:
|
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:
|
easily reconfigured:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows
|
CONFIG_HOST_WINDOWS=y : Windows
|
||||||
CONFIG_HOST_WINDOWS_CYGWIN=y : under Cygwin
|
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:
|
STATUS:
|
||||||
2015-06-06: The BINFS CGI files are seems to be running, but the
|
2015-06-06: The BINFS CGI files are seems to be running, but the
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_LPC1769=y
|
|||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_INTERRUPTSTACK=1536
|
CONFIG_ARCH_INTERRUPTSTACK=1536
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=7982
|
CONFIG_BOARD_LOOPSPERMSEC=7982
|
||||||
CONFIG_ETH0_PHY_KSZ8041=y
|
CONFIG_ETH0_PHY_KSZ8041=y
|
||||||
CONFIG_FS_FAT=y
|
CONFIG_FS_FAT=y
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1769=y
|
CONFIG_ARCH_CHIP_LPC1769=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=7982
|
CONFIG_BOARD_LOOPSPERMSEC=7982
|
||||||
CONFIG_FS_FAT=y
|
CONFIG_FS_FAT=y
|
||||||
CONFIG_LPC17_40_SSP0=y
|
CONFIG_LPC17_40_SSP0=y
|
||||||
|
@ -13,7 +13,6 @@ CONFIG_ARCH_CHIP_LPC1769=y
|
|||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_INTERRUPTSTACK=1024
|
CONFIG_ARCH_INTERRUPTSTACK=1024
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=7982
|
CONFIG_BOARD_LOOPSPERMSEC=7982
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
|
@ -652,8 +652,8 @@ Where <subdir> is one of the following:
|
|||||||
|
|
||||||
3. Build setup (easily reconfigured):
|
3. Build setup (easily reconfigured):
|
||||||
|
|
||||||
CONFIG_HOST_LINUX=y : Linux
|
CONFIG_HOST_LINUX=y : Linux
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y : CodeRed for Linux
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Linux
|
||||||
|
|
||||||
4. Jumpers: Nothing special. Use the default base board jumper
|
4. Jumpers: Nothing special. Use the default base board jumper
|
||||||
settings.
|
settings.
|
||||||
|
@ -13,7 +13,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8079
|
CONFIG_BOARD_LOOPSPERMSEC=8079
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
CONFIG_DISABLE_MOUNTPOINT=y
|
CONFIG_DISABLE_MOUNTPOINT=y
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8079
|
CONFIG_BOARD_LOOPSPERMSEC=8079
|
||||||
CONFIG_ETH0_PHY_LAN8720=y
|
CONFIG_ETH0_PHY_LAN8720=y
|
||||||
CONFIG_FS_FAT=y
|
CONFIG_FS_FAT=y
|
||||||
|
@ -16,7 +16,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8079
|
CONFIG_BOARD_LOOPSPERMSEC=8079
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
CONFIG_DISABLE_MOUNTPOINT=y
|
CONFIG_DISABLE_MOUNTPOINT=y
|
||||||
|
@ -12,7 +12,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8079
|
CONFIG_BOARD_LOOPSPERMSEC=8079
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
CONFIG_DISABLE_MQUEUE=y
|
CONFIG_DISABLE_MQUEUE=y
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8079
|
CONFIG_BOARD_LOOPSPERMSEC=8079
|
||||||
CONFIG_INTELHEX_BINARY=y
|
CONFIG_INTELHEX_BINARY=y
|
||||||
CONFIG_LIB_BOARDCTL=y
|
CONFIG_LIB_BOARDCTL=y
|
||||||
|
@ -420,7 +420,7 @@ Using OpenOCD and GDB with an FT2232 JTAG emulator
|
|||||||
(gdb) target remote localhost:3333
|
(gdb) target remote localhost:3333
|
||||||
|
|
||||||
NOTE: The name of your GDB program may differ. For example, with the
|
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:
|
After starting GDB, you can load the NuttX ELF file:
|
||||||
|
|
||||||
@ -780,7 +780,7 @@ Configuration Sub-Directories
|
|||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows
|
CONFIG_HOST_WINDOWS=y : Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on 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
|
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
|
configuration is only suited for low-level testing. It is also awkward
|
||||||
@ -888,12 +888,12 @@ Configuration Sub-Directories
|
|||||||
|
|
||||||
NOTES:
|
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:
|
easily reconfigured:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows
|
CONFIG_HOST_WINDOWS=y : Windows
|
||||||
CONFIG_HOST_WINDOWS_CYGWIN=y : under Cygwin
|
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:
|
STATUS:
|
||||||
2015-06-02. This configuration was added in an attempt to replace
|
2015-06-02. This configuration was added in an attempt to replace
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1766=y
|
CONFIG_ARCH_CHIP_LPC1766=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8111
|
CONFIG_BOARD_LOOPSPERMSEC=8111
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_EXAMPLES_TOUCHSCREEN=y
|
CONFIG_EXAMPLES_TOUCHSCREEN=y
|
||||||
|
@ -12,7 +12,6 @@ CONFIG_ARCH_CHIP="lpc17xx_40xx"
|
|||||||
CONFIG_ARCH_CHIP_LPC1766=y
|
CONFIG_ARCH_CHIP_LPC1766=y
|
||||||
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
CONFIG_ARCH_CHIP_LPC17XX_40XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=8111
|
CONFIG_BOARD_LOOPSPERMSEC=8111
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
|
@ -31,9 +31,8 @@ GNU Toolchain Options
|
|||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
1. The NuttX buildroot Toolchain (see below).
|
1. The NuttX buildroot Toolchain (see below), or
|
||||||
2. The CodeSourcery GNU toolchain,
|
2. The GNU EABI toolchain,
|
||||||
3. The devkitARM GNU toolchain, or
|
|
||||||
|
|
||||||
All testing has been conducted using the NuttX buildroot toolchain. To use
|
All testing has been conducted using the NuttX buildroot toolchain. To use
|
||||||
the CodeSourcery or devkitARM GNU toolchain, you simply need to build the
|
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 # Will build for the NuttX buildroot toolchain
|
||||||
make CROSSDEV=arm-eabi- # Will build for the devkitARM 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
|
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
|
Of course, hard coding this CROSS_COMPILE value in Make.defs file will save
|
||||||
some repetitive typing.
|
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
|
NuttX buildroot Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ CONFIG_ARCH_BOARD_OLIMEXLPC2378=y
|
|||||||
CONFIG_ARCH_CHIP="lpc2378"
|
CONFIG_ARCH_CHIP="lpc2378"
|
||||||
CONFIG_ARCH_CHIP_LPC2378=y
|
CONFIG_ARCH_CHIP_LPC2378=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=3270
|
CONFIG_BOARD_LOOPSPERMSEC=3270
|
||||||
CONFIG_IDLETHREAD_STACKSIZE=2048
|
CONFIG_IDLETHREAD_STACKSIZE=2048
|
||||||
CONFIG_LPC2378_UART0=y
|
CONFIG_LPC2378_UART0=y
|
||||||
|
@ -32,62 +32,15 @@ GNU Toolchain Options
|
|||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
1. The NuttX buildroot Toolchain (see below), or
|
||||||
2. The devkitARM GNU toolchain,
|
2. Any generic arm-none-eabi GNU toolchain.
|
||||||
3. Raisonance GNU toolchain,
|
|
||||||
4. The NuttX buildroot Toolchain (see below), or
|
|
||||||
5. Any generic arm-none-eabi GNU toolchain.
|
|
||||||
|
|
||||||
All testing has been conducted using the NuttX buildroot toolchain. However,
|
All testing has been conducted using the NuttX buildroot toolchain. To use
|
||||||
the make system is setup to default to use the devkitARM toolchain. To use
|
a different toolchain, you simply need to modify the configuration. As an
|
||||||
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
|
example:
|
||||||
add one of the following configuration options to your .config (or defconfig)
|
|
||||||
file:
|
|
||||||
|
|
||||||
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
|
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
|
Generic arm-none-eabi GNU Toolchain
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
There are a number of toolchain projects providing support for ARMv4/v5
|
There are a number of toolchain projects providing support for ARMv4/v5
|
||||||
@ -96,12 +49,6 @@ GNU Toolchain Options
|
|||||||
GCC ARM Embedded
|
GCC ARM Embedded
|
||||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
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
|
Others exist for various Linux distributions, MacPorts, etc. Any version
|
||||||
based on GCC 4.6.3 or later should work.
|
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
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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:
|
under Cygwin with Windows. This is easily reconfigured, however:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y
|
CONFIG_HOST_WINDOWS=y
|
||||||
CONFIG_WINDOWS_CYGWIN=y
|
CONFIG_WINDOWS_CYGWIN=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
CONFIG_ARM_TOOLCHAIN_GNU_EABIW=y
|
||||||
|
|
||||||
Configuration Sub-Directories
|
Configuration Sub-Directories
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_LPC31XX=y
|
|||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_ROMPGTABLE=y
|
CONFIG_ARCH_ROMPGTABLE=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_FS_FAT=y
|
CONFIG_FS_FAT=y
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_LPC3131=y
|
|||||||
CONFIG_ARCH_CHIP_LPC31XX=y
|
CONFIG_ARCH_CHIP_LPC31XX=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_BUILD_2PASS=y
|
CONFIG_BUILD_2PASS=y
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP_LPC31XX=y
|
|||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_ROMPGTABLE=y
|
CONFIG_ARCH_ROMPGTABLE=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=16945
|
CONFIG_BOARD_LOOPSPERMSEC=16945
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
|
@ -31,62 +31,15 @@ GNU Toolchain Options
|
|||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
1. The NuttX buildroot Toolchain (see below), or
|
||||||
2. The devkitARM GNU toolchain,
|
2. Any generic arm-none-eabi GNU toolchain.
|
||||||
3. Raisonance GNU toolchain,
|
|
||||||
4. The NuttX buildroot Toolchain (see below), or
|
|
||||||
5. Any generic arm-none-eabi GNU toolchain.
|
|
||||||
|
|
||||||
All testing has been conducted using the NuttX buildroot toolchain. However,
|
All testing has been conducted using the NuttX buildroot toolchain. To use
|
||||||
the make system is setup to default to use the devkitARM toolchain. To use
|
a different toolchain, you simply need to modify the configuration. As an
|
||||||
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
|
example:
|
||||||
add one of the following configuration options to your .config (or defconfig)
|
|
||||||
file:
|
|
||||||
|
|
||||||
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
|
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
|
Generic arm-none-eabi GNU Toolchain
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
There are a number of toolchain projects providing support for ARMv4/v5
|
There are a number of toolchain projects providing support for ARMv4/v5
|
||||||
@ -95,12 +48,6 @@ GNU Toolchain Options
|
|||||||
GCC ARM Embedded
|
GCC ARM Embedded
|
||||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
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
|
Others exist for various Linux distributions, MacPorts, etc. Any version
|
||||||
based on GCC 4.6.3 or later should work.
|
based on GCC 4.6.3 or later should work.
|
||||||
|
|
||||||
|
@ -36,59 +36,14 @@ GNU Toolchain Options
|
|||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
1. The NuttX buildroot Toolchain (see below), or
|
||||||
2. The devkitARM GNU toolchain,
|
2. Any generic arm-none-eabi GNU toolchain.
|
||||||
3. Raisonance GNU toolchain,
|
|
||||||
4. The NuttX buildroot Toolchain (see below), or
|
|
||||||
5. Any generic arm-none-eabi GNU toolchain.
|
|
||||||
|
|
||||||
All testing has been conducted using the NuttX buildroot toolchain. However,
|
All testing has been conducted using the NuttX buildroot toolchain. To use
|
||||||
the make system is setup to default to use the devkitARM toolchain. To use
|
a different toolchain, you simply need to modify the configuration. As an
|
||||||
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
|
example:
|
||||||
add one of the following configuration options to your .config (or defconfig)
|
|
||||||
file:
|
|
||||||
|
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_ARM_TOOLCHAIN_GNU_EABIL : Generic arm-none-eabi toolchain
|
||||||
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.
|
|
||||||
|
|
||||||
Generic arm-none-eabi GNU Toolchain
|
Generic arm-none-eabi GNU Toolchain
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@ -98,12 +53,6 @@ GNU Toolchain Options
|
|||||||
GCC ARM Embedded
|
GCC ARM Embedded
|
||||||
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
|
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
|
Others exist for various Linux distributions, MacPorts, etc. Any version
|
||||||
based on GCC 4.6.3 or later should work.
|
based on GCC 4.6.3 or later should work.
|
||||||
|
|
||||||
@ -543,7 +492,7 @@ Configurations
|
|||||||
|
|
||||||
- Console on UART -> UART-to-USB converter
|
- Console on UART -> UART-to-USB converter
|
||||||
- Platform: Windows with Cygwin
|
- Platform: Windows with Cygwin
|
||||||
- Toolchain: CodeSourcery for Windows
|
- Toolchain: ARM EABI GCC for Windows
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
1. Built-in applications are not supported by default. To enable NSH
|
1. Built-in applications are not supported by default. To enable NSH
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_LPC31XX=y
|
|||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_ROMPGTABLE=y
|
CONFIG_ARCH_ROMPGTABLE=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARM_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=4287
|
CONFIG_BOARD_LOOPSPERMSEC=4287
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_FAT_LCNAMES=y
|
CONFIG_FAT_LCNAMES=y
|
||||||
|
@ -123,32 +123,6 @@ the following lines in each Make.defs file:
|
|||||||
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
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
|
2. By default, this project assumes that you are executing directly from
|
||||||
SRAM.
|
SRAM.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
3. To execute from SPIFI, you would need to set:
|
3. To execute from SPIFI, you would need to set:
|
||||||
|
|
||||||
|
@ -278,15 +278,15 @@ Code Red IDE/Tools
|
|||||||
By default, the configurations here assume that you are executing directly
|
By default, the configurations here assume that you are executing directly
|
||||||
from SRAM.
|
from SRAM.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
To execute from SPIFI, you would need to set:
|
To execute from SPIFI, you would need to set:
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SPIFI=y : Executing from SPIFI
|
CONFIG_LPC43_BOOT_SPIFI=y : Executing from SPIFI
|
||||||
CONFIG_RAM_SIZE=(128*1024) : SRAM Bank0 size
|
CONFIG_RAM_SIZE=(128*1024) : SRAM Bank0 size
|
||||||
CONFIG_RAM_START=0x10000000 : SRAM Bank0 base address
|
CONFIG_RAM_START=0x10000000 : SRAM Bank0 base address
|
||||||
CONFIG_SPIFI_OFFSET=(512*1024) : SPIFI file system offset
|
CONFIG_SPIFI_OFFSET=(512*1024) : SPIFI file system offset
|
||||||
|
|
||||||
To boot the LPC4330-Xplorer from SPIFI the DIP switches should be 1-OFF,
|
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).
|
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
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
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
|
2. By default, this project assumes that you are executing directly from
|
||||||
SRAM.
|
SRAM.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
3. To execute from SPIFI, you would need to set:
|
3. To execute from SPIFI, you would need to set:
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ CONFIG_ARCH_CHIP_LPC4330FET100=y
|
|||||||
CONFIG_ARCH_CHIP_LPC43XX=y
|
CONFIG_ARCH_CHIP_LPC43XX=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARCH_STDARG_H=y
|
CONFIG_ARCH_STDARG_H=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=18535
|
CONFIG_BOARD_LOOPSPERMSEC=18535
|
||||||
CONFIG_FAT_LCNAMES=y
|
CONFIG_FAT_LCNAMES=y
|
||||||
CONFIG_FAT_LFN=y
|
CONFIG_FAT_LFN=y
|
||||||
|
@ -274,8 +274,8 @@ Code Red IDE/Tools
|
|||||||
By default, the configurations here assume that you are executing directly
|
By default, the configurations here assume that you are executing directly
|
||||||
from SRAM.
|
from SRAM.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
To execute from SPIFI, you would need to set:
|
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
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
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
|
2. The project can exucute directly from SRAM with NuttX loaded by a debugger
|
||||||
by setting the following configuration options.
|
by setting the following configuration options.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
3. To execute from SPIFI, you would need to set:
|
3. To execute from SPIFI, you would need to set:
|
||||||
|
|
||||||
|
@ -271,8 +271,8 @@ Code Red IDE/Tools
|
|||||||
By default, the configurations here assume that you are executing directly
|
By default, the configurations here assume that you are executing directly
|
||||||
from SRAM.
|
from SRAM.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : GNU EABI toolchain for Linux
|
||||||
|
|
||||||
To execute from SPIFI, you would need to set:
|
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
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
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
|
2. The project can exucute directly from SRAM with NuttX loaded by a debugger
|
||||||
by setting the following configuration options.
|
by setting the following configuration options.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
3. To execute from SPIFI, you would need to set:
|
3. To execute from SPIFI, you would need to set:
|
||||||
|
|
||||||
|
@ -274,8 +274,8 @@ Code Red IDE/Tools
|
|||||||
By default, the configurations here assume that you are executing directly
|
By default, the configurations here assume that you are executing directly
|
||||||
from SRAM.
|
from SRAM.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
To execute from SPIFI, you would need to set:
|
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
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
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
|
2. The project can exucute directly from SRAM with NuttX loaded by a debugger
|
||||||
by setting the following configuration options.
|
by setting the following configuration options.
|
||||||
|
|
||||||
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
CONFIG_LPC43_BOOT_SRAM=y : Executing in SRAM
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y : Code Red under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for Windows
|
||||||
|
|
||||||
3. To execute from SPIFI, you would need to set:
|
3. To execute from SPIFI, you would need to set:
|
||||||
|
|
||||||
|
@ -281,13 +281,13 @@ Where <subdir> is one of the following:
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
3. Serial Console. A serial console is necessary to interrupt with
|
||||||
NSH. The serial console is configured on UART1 which is available
|
NSH. The serial console is configured on UART1 which is available
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_SAM34=y
|
|||||||
CONFIG_ARCH_CHIP_SAM4E=y
|
CONFIG_ARCH_CHIP_SAM4E=y
|
||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=11990
|
CONFIG_BOARD_LOOPSPERMSEC=11990
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_ETH0_PHY_KSZ8051=y
|
CONFIG_ETH0_PHY_KSZ8051=y
|
||||||
|
@ -24,7 +24,6 @@ CONFIG_ARCH_CHIP_SAM34=y
|
|||||||
CONFIG_ARCH_CHIP_SAM4E=y
|
CONFIG_ARCH_CHIP_SAM4E=y
|
||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=11990
|
CONFIG_BOARD_LOOPSPERMSEC=11990
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_ETH0_PHY_KSZ8051=y
|
CONFIG_ETH0_PHY_KSZ8051=y
|
||||||
|
@ -759,23 +759,6 @@ Configurations
|
|||||||
System Type -> Toolchain:
|
System Type -> Toolchain:
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
|
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.
|
4. The SAMA5Dx is running at 528MHz by default in these configurations.
|
||||||
|
|
||||||
Board Selection -> CPU Frequency
|
Board Selection -> CPU Frequency
|
||||||
|
@ -108,17 +108,9 @@ GNU Toolchain Options
|
|||||||
a different toolchain, you simply need to add change to one of the following
|
a different toolchain, you simply need to add change to one of the following
|
||||||
configuration options to your .config (or defconfig) file:
|
configuration options to your .config (or defconfig) file:
|
||||||
|
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI 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
|
NOTE about Windows native toolchains
|
||||||
------------------------------------
|
------------------------------------
|
||||||
@ -3123,23 +3115,6 @@ Configurations
|
|||||||
System Type -> Toolchain:
|
System Type -> Toolchain:
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
|
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.
|
4. The SAMA5Dx is running at 396MHz by default in these configurations.
|
||||||
This is because the original timing for the PLLs, NOR FLASH, and SDRAM
|
This is because the original timing for the PLLs, NOR FLASH, and SDRAM
|
||||||
came from the Atmel NoOS sample code which runs at that rate.
|
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
|
2. By default, this configuration is set up to build on Windows
|
||||||
under either a Cygwin or MSYS environment using a recent, Windows-
|
under either a Cygwin or MSYS environment using a recent, Windows-
|
||||||
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
|
native, generic ARM EABI GCC toolchain. Both the build environment
|
||||||
toolchain). Both the build environment and the toolchain
|
and the toolchain selection can easily be changed by reconfiguring:
|
||||||
selection can easily be changed by reconfiguring:
|
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -3260,13 +3234,12 @@ Configurations
|
|||||||
|
|
||||||
2. By default, this configuration is set up to build on Windows
|
2. By default, this configuration is set up to build on Windows
|
||||||
under either a Cygwin or MSYS environment using a recent, Windows-
|
under either a Cygwin or MSYS environment using a recent, Windows-
|
||||||
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
|
native, generic ARM EABI GCC toolchain. Both the build environment
|
||||||
toolchain). Both the build environment and the toolchain
|
and the toolchain selection can easily be changed by reconfiguring:
|
||||||
selection can easily be changed by reconfiguring:
|
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -19,7 +19,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -130,41 +130,9 @@ GNU Toolchain Options
|
|||||||
a different toolchain, you simply need to add change to one of the following
|
a different toolchain, you simply need to add change to one of the following
|
||||||
configuration options to your .config (or defconfig) file:
|
configuration options to your .config (or defconfig) file:
|
||||||
|
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI 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.
|
|
||||||
|
|
||||||
IDEs
|
IDEs
|
||||||
====
|
====
|
||||||
@ -3328,23 +3296,6 @@ Configurations
|
|||||||
System Type -> Toolchain:
|
System Type -> Toolchain:
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
|
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.
|
4. The SAMA5Dx is running at 396MHz by default in these configurations.
|
||||||
This is because the original timing for the PLLs, NOR FLASH, and SDRAM
|
This is because the original timing for the PLLs, NOR FLASH, and SDRAM
|
||||||
came from the Atmel NoOS sample code which runs at that rate.
|
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
|
2. By default, this configuration is set up to build on Windows
|
||||||
under either a Cygwin or MSYS environment using a recent, Windows-
|
under either a Cygwin or MSYS environment using a recent, Windows-
|
||||||
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
|
native, generic ARM EABI GCC toolchain. Both the build environment
|
||||||
toolchain). Both the build environment and the toolchain
|
and the toolchain selection can easily be changed by reconfiguring:
|
||||||
selection can easily be changed by reconfiguring:
|
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -3517,8 +3467,8 @@ Configurations
|
|||||||
selection can easily be changed by reconfiguring:
|
selection can easily be changed by reconfiguring:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -3590,8 +3540,8 @@ Configurations
|
|||||||
selection can easily be changed by reconfiguring:
|
selection can easily be changed by reconfiguring:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_AT25_SPIFREQUENCY=10000000
|
CONFIG_AT25_SPIFREQUENCY=10000000
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
|
|||||||
CONFIG_ARCH_CHIP_SAMA5D3=y
|
CONFIG_ARCH_CHIP_SAMA5D3=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
|
|||||||
CONFIG_ARCH_CHIP_SAMA5D3=y
|
CONFIG_ARCH_CHIP_SAMA5D3=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
|
@ -20,7 +20,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_AUDIO_NUM_BUFFERS=8
|
CONFIG_AUDIO_NUM_BUFFERS=8
|
||||||
CONFIG_AUDIO_WM8904=y
|
CONFIG_AUDIO_WM8904=y
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_FLASH_SIZE=134217728
|
CONFIG_FLASH_SIZE=134217728
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_SAMA5D3=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=49341
|
CONFIG_BOARD_LOOPSPERMSEC=49341
|
||||||
CONFIG_CONSOLE_SYSLOG=y
|
CONFIG_CONSOLE_SYSLOG=y
|
||||||
CONFIG_DISABLE_ENVIRON=y
|
CONFIG_DISABLE_ENVIRON=y
|
||||||
|
@ -124,41 +124,9 @@ GNU Toolchain Options
|
|||||||
a different toolchain, you simply need to add change to one of the following
|
a different toolchain, you simply need to add change to one of the following
|
||||||
configuration options to your .config (or defconfig) file:
|
configuration options to your .config (or defconfig) file:
|
||||||
|
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
|
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI 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.
|
|
||||||
|
|
||||||
IDEs
|
IDEs
|
||||||
====
|
====
|
||||||
@ -3607,23 +3575,6 @@ Configurations
|
|||||||
System Type -> Toolchain:
|
System Type -> Toolchain:
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y : GNU EABI toolchain for windows
|
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.
|
4. The SAMA5Dx is running at 528MHz by default in these configurations.
|
||||||
|
|
||||||
Board Selection -> CPU Frequency
|
Board Selection -> CPU Frequency
|
||||||
@ -3714,8 +3665,8 @@ Configurations
|
|||||||
selection can easily be changed by reconfiguring:
|
selection can easily be changed by reconfiguring:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -3783,8 +3734,8 @@ Configurations
|
|||||||
selection can easily be changed by reconfiguring:
|
selection can easily be changed by reconfiguring:
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -3863,7 +3814,7 @@ Configurations
|
|||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -4028,13 +3979,12 @@ Configurations
|
|||||||
|
|
||||||
2. By default, this configuration is set up to build on Windows
|
2. By default, this configuration is set up to build on Windows
|
||||||
under either a Cygwin or MSYS environment using a recent, Windows-
|
under either a Cygwin or MSYS environment using a recent, Windows-
|
||||||
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
|
native, generic ARM EABI GCC toolchain. Both the build environment
|
||||||
toolchain). Both the build environment and the toolchain
|
and the toolchain selection can easily be changed by reconfiguring:
|
||||||
selection can easily be changed by reconfiguring:
|
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -4278,13 +4228,12 @@ Configurations
|
|||||||
|
|
||||||
3. By default, this configuration is set up to build on Windows
|
3. By default, this configuration is set up to build on Windows
|
||||||
under either a Cygwin or MSYS environment using a recent, Windows-
|
under either a Cygwin or MSYS environment using a recent, Windows-
|
||||||
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
|
native, generic ARM EABI GCC toolchain. Both the build environment
|
||||||
toolchain). Both the build environment and the toolchain
|
and the toolchain selection can easily be changed by reconfiguring:
|
||||||
selection can easily be changed by reconfiguring:
|
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
@ -4931,13 +4880,12 @@ Configurations
|
|||||||
|
|
||||||
2. By default, this configuration is set up to build on Windows
|
2. By default, this configuration is set up to build on Windows
|
||||||
under either a Cygwin or MSYS environment using a recent, Windows-
|
under either a Cygwin or MSYS environment using a recent, Windows-
|
||||||
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
|
native, generic ARM EABI GCC toolchain. Both the build environment
|
||||||
toolchain). Both the build environment and the toolchain
|
and the toolchain selection can easily be changed by reconfiguring:
|
||||||
selection can easily be changed by reconfiguring:
|
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows operating system
|
CONFIG_HOST_WINDOWS=y : Windows operating system
|
||||||
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
|
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under Windows
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_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
|
If you are running on Linux, make *certain* that you have
|
||||||
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
CONFIG_HOST_LINUX=y *before* the first make or you will create a
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
|
|||||||
CONFIG_ARCH_CHIP_SAMA5D4=y
|
CONFIG_ARCH_CHIP_SAMA5D4=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5D4=y
|
|||||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
|
|||||||
CONFIG_ARCH_CHIP_SAMA5D4=y
|
CONFIG_ARCH_CHIP_SAMA5D4=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -29,7 +29,6 @@ CONFIG_ARCH_PGPOOL_VBASE=0x28000000
|
|||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARCH_TEXT_NPAGES=256
|
CONFIG_ARCH_TEXT_NPAGES=256
|
||||||
CONFIG_ARCH_TEXT_VBASE=0x80000000
|
CONFIG_ARCH_TEXT_VBASE=0x80000000
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LATE_INITIALIZE=y
|
CONFIG_BOARD_LATE_INITIALIZE=y
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
|
@ -25,7 +25,6 @@ CONFIG_ARCH_INTERRUPTSTACK=2048
|
|||||||
CONFIG_ARCH_IRQBUTTONS=y
|
CONFIG_ARCH_IRQBUTTONS=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_AUDIO_NUM_BUFFERS=8
|
CONFIG_AUDIO_NUM_BUFFERS=8
|
||||||
CONFIG_AUDIO_WM8904=y
|
CONFIG_AUDIO_WM8904=y
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
|
@ -31,7 +31,6 @@ CONFIG_ARCH_PGPOOL_VBASE=0x28000000
|
|||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARCH_TEXT_NPAGES=256
|
CONFIG_ARCH_TEXT_NPAGES=256
|
||||||
CONFIG_ARCH_TEXT_VBASE=0x80000000
|
CONFIG_ARCH_TEXT_VBASE=0x80000000
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LATE_INITIALIZE=y
|
CONFIG_BOARD_LATE_INITIALIZE=y
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMSDRAM=y
|
CONFIG_BOOT_RUNFROMSDRAM=y
|
||||||
|
@ -24,7 +24,6 @@ CONFIG_ARCH_INTERRUPTSTACK=2048
|
|||||||
CONFIG_ARCH_IRQBUTTONS=y
|
CONFIG_ARCH_IRQBUTTONS=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_AUDIO_NUM_BUFFERS=8
|
CONFIG_AUDIO_NUM_BUFFERS=8
|
||||||
CONFIG_AUDIO_WM8904=y
|
CONFIG_AUDIO_WM8904=y
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
|
@ -27,7 +27,6 @@ CONFIG_ARCH_INTERRUPTSTACK=2048
|
|||||||
CONFIG_ARCH_IRQBUTTONS=y
|
CONFIG_ARCH_IRQBUTTONS=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_AUDIO=y
|
CONFIG_AUDIO=y
|
||||||
CONFIG_AUDIO_NULL=y
|
CONFIG_AUDIO_NULL=y
|
||||||
CONFIG_AUDIO_NUM_BUFFERS=4
|
CONFIG_AUDIO_NUM_BUFFERS=4
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP_SAMA5=y
|
|||||||
CONFIG_ARCH_CHIP_SAMA5D4=y
|
CONFIG_ARCH_CHIP_SAMA5D4=y
|
||||||
CONFIG_ARCH_LOWVECTORS=y
|
CONFIG_ARCH_LOWVECTORS=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=65775
|
CONFIG_BOARD_LOOPSPERMSEC=65775
|
||||||
CONFIG_BOOT_RUNFROMISRAM=y
|
CONFIG_BOOT_RUNFROMISRAM=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
|
@ -130,7 +130,7 @@ Configuration sub-directories
|
|||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
1. This configuration is set up to build on Windows using the Cygwin
|
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."
|
changed as described above under "Configurations."
|
||||||
|
|
||||||
2. By default, this configuration provides a serial console on SERCOM5
|
2. By default, this configuration provides a serial console on SERCOM5
|
||||||
|
@ -283,13 +283,9 @@ GNU Toolchain Options
|
|||||||
toolchain. To use alternative toolchain, you simply need to add change of
|
toolchain. To use alternative toolchain, you simply need to add change of
|
||||||
the following configuration options to your .config (or defconfig) file:
|
the following configuration options to your .config (or defconfig) file:
|
||||||
|
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
|
CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI 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
|
|
||||||
|
|
||||||
NOTE about Windows native toolchains
|
NOTE about Windows native toolchains
|
||||||
------------------------------------
|
------------------------------------
|
||||||
@ -665,11 +661,11 @@ Configurations
|
|||||||
CONFIG_HOST_WINDOWS=y : Windows Host
|
CONFIG_HOST_WINDOWS=y : Windows Host
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on windows
|
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:
|
that is easily reconfigured:
|
||||||
|
|
||||||
System Type -> Toolchain:
|
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
|
Any re-configuration should be done before making NuttX or else the
|
||||||
subsequent 'make' will fail. If you have already attempted building
|
subsequent 'make' will fail. If you have already attempted building
|
||||||
@ -695,7 +691,7 @@ Configuration sub-directories
|
|||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
1. This configuration is set up to build on Windows using the Cygwin
|
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."
|
changed as described above under "Configurations."
|
||||||
|
|
||||||
2. By default, this configuration provides a serial console on SERCOM4
|
2. By default, this configuration provides a serial console on SERCOM4
|
||||||
|
@ -32,7 +32,6 @@ CONFIG_ARCH_CHIP="samd2l2"
|
|||||||
CONFIG_ARCH_CHIP_SAMD20J18=y
|
CONFIG_ARCH_CHIP_SAMD20J18=y
|
||||||
CONFIG_ARCH_CHIP_SAMD2X=y
|
CONFIG_ARCH_CHIP_SAMD2X=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=3410
|
CONFIG_BOARD_LOOPSPERMSEC=3410
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_DEFAULT_SMALL=y
|
CONFIG_DEFAULT_SMALL=y
|
||||||
|
@ -532,11 +532,11 @@ Configurations
|
|||||||
CONFIG_HOST_WINDOWS=y : Windows Host
|
CONFIG_HOST_WINDOWS=y : Windows Host
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on windows
|
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:
|
that is easily reconfigured:
|
||||||
|
|
||||||
System Type -> Toolchain:
|
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
|
Any re-configuration should be done before making NuttX or else the
|
||||||
subsequent 'make' will fail. If you have already attempted building
|
subsequent 'make' will fail. If you have already attempted building
|
||||||
@ -562,7 +562,7 @@ Configuration sub-directories
|
|||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
1. This configuration is set up to build on Windows using the Cygwin
|
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."
|
changed as described above under "Configurations."
|
||||||
|
|
||||||
2. By default, this configuration provides a serial console on SERCOM4
|
2. By default, this configuration provides a serial console on SERCOM4
|
||||||
|
@ -32,7 +32,6 @@ CONFIG_ARCH_CHIP="samd2l2"
|
|||||||
CONFIG_ARCH_CHIP_SAMD21J18A=y
|
CONFIG_ARCH_CHIP_SAMD21J18A=y
|
||||||
CONFIG_ARCH_CHIP_SAMD2X=y
|
CONFIG_ARCH_CHIP_SAMD2X=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=3410
|
CONFIG_BOARD_LOOPSPERMSEC=3410
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_DEFAULT_SMALL=y
|
CONFIG_DEFAULT_SMALL=y
|
||||||
|
@ -264,13 +264,9 @@ GNU Toolchain Options
|
|||||||
toolchain. To use alternative toolchain, you simply need to add change of
|
toolchain. To use alternative toolchain, you simply need to add change of
|
||||||
the following configuration options to your .config (or defconfig) file:
|
the following configuration options to your .config (or defconfig) file:
|
||||||
|
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windows
|
CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI 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
|
|
||||||
|
|
||||||
NOTE about Windows native toolchains
|
NOTE about Windows native toolchains
|
||||||
------------------------------------
|
------------------------------------
|
||||||
@ -694,11 +690,11 @@ Configurations
|
|||||||
CONFIG_HOST_WINDOWS=y : Windows Host
|
CONFIG_HOST_WINDOWS=y : Windows Host
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on windows
|
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:
|
that is easily reconfigured:
|
||||||
|
|
||||||
System Type -> Toolchain:
|
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
|
Any re-configuration should be done before making NuttX or else the
|
||||||
subsequent 'make' will fail. If you have already attempted building
|
subsequent 'make' will fail. If you have already attempted building
|
||||||
@ -724,7 +720,7 @@ Configuration sub-directories
|
|||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
1. This configuration is set up to build on Windows using the Cygwin
|
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."
|
changed as described above under "Configurations."
|
||||||
|
|
||||||
2. By default, this configuration provides a serial console on SERCOM4
|
2. By default, this configuration provides a serial console on SERCOM4
|
||||||
|
@ -32,7 +32,6 @@ CONFIG_ARCH_CHIP="samd2l2"
|
|||||||
CONFIG_ARCH_CHIP_SAML21J18=y
|
CONFIG_ARCH_CHIP_SAML21J18=y
|
||||||
CONFIG_ARCH_CHIP_SAML2X=y
|
CONFIG_ARCH_CHIP_SAML2X=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=4356
|
CONFIG_BOARD_LOOPSPERMSEC=4356
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_DEFAULT_SMALL=y
|
CONFIG_DEFAULT_SMALL=y
|
||||||
|
@ -474,7 +474,7 @@ Where <subdir> is one of the following:
|
|||||||
Configures the NuttShell (nsh) located at apps/examples/nsh. The
|
Configures the NuttShell (nsh) located at apps/examples/nsh. The
|
||||||
Configuration enables both the serial and telnet NSH interfaces.
|
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_DHCPC=n : DHCP is disabled
|
||||||
CONFIG_NSH_IPADDR=0x0a000002 : Target IP address 10.0.0.2
|
CONFIG_NSH_IPADDR=0x0a000002 : Target IP address 10.0.0.2
|
||||||
CONFIG_NSH_DRIPADDR=0x0a000001 : Host IP address 10.0.0.1
|
CONFIG_NSH_DRIPADDR=0x0a000001 : Host IP address 10.0.0.1
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_ARCH_CHIP="stm32"
|
|||||||
CONFIG_ARCH_CHIP_STM32=y
|
CONFIG_ARCH_CHIP_STM32=y
|
||||||
CONFIG_ARCH_CHIP_STM32F107VC=y
|
CONFIG_ARCH_CHIP_STM32F107VC=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=5483
|
CONFIG_BOARD_LOOPSPERMSEC=5483
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_ETH0_PHY_DM9161=y
|
CONFIG_ETH0_PHY_DM9161=y
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_ARCH_CHIP="stm32"
|
|||||||
CONFIG_ARCH_CHIP_STM32=y
|
CONFIG_ARCH_CHIP_STM32=y
|
||||||
CONFIG_ARCH_CHIP_STM32F103VE=y
|
CONFIG_ARCH_CHIP_STM32F103VE=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=5483
|
CONFIG_BOARD_LOOPSPERMSEC=5483
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_ENC28J60=y
|
CONFIG_ENC28J60=y
|
||||||
|
@ -483,7 +483,7 @@ Where <subdir> is one of the following:
|
|||||||
more information.
|
more information.
|
||||||
|
|
||||||
CONFIG_HOST_LINUX=y : Linux host
|
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
|
USB debug output can be enabled as by changing the following
|
||||||
settings in the configuration file:
|
settings in the configuration file:
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_ARCH_CHIP="stm32"
|
|||||||
CONFIG_ARCH_CHIP_STM32=y
|
CONFIG_ARCH_CHIP_STM32=y
|
||||||
CONFIG_ARCH_CHIP_STM32F103VC=y
|
CONFIG_ARCH_CHIP_STM32F103VC=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=5483
|
CONFIG_BOARD_LOOPSPERMSEC=5483
|
||||||
CONFIG_LIB_BOARDCTL=y
|
CONFIG_LIB_BOARDCTL=y
|
||||||
CONFIG_MAX_TASKS=16
|
CONFIG_MAX_TASKS=16
|
||||||
|
@ -12,7 +12,6 @@ CONFIG_ARCH_CHIP="stm32"
|
|||||||
CONFIG_ARCH_CHIP_STM32=y
|
CONFIG_ARCH_CHIP_STM32=y
|
||||||
CONFIG_ARCH_CHIP_STM32F103VC=y
|
CONFIG_ARCH_CHIP_STM32F103VC=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y
|
|
||||||
CONFIG_BOARD_LOOPSPERMSEC=5483
|
CONFIG_BOARD_LOOPSPERMSEC=5483
|
||||||
CONFIG_DISABLE_MOUNTPOINT=y
|
CONFIG_DISABLE_MOUNTPOINT=y
|
||||||
CONFIG_EXAMPLES_USBSERIAL=y
|
CONFIG_EXAMPLES_USBSERIAL=y
|
||||||
|
@ -28,11 +28,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
Either Linux (recommended), Mac or Cygwin on Windows can be used for the development environment.
|
Either Linux (recommended), Mac or Cygwin on Windows can be used for the development
|
||||||
The source has been built only using the GNU toolchain (see below). Other
|
environment. The source has been built only using the GNU toolchain (see below).
|
||||||
toolchains will likely cause problems. Testing was performed using the Cygwin
|
Other toolchains will likely cause problems.
|
||||||
environment because the Raisonance R-Link emulatator and some RIDE7 development tools
|
|
||||||
were used and those tools works only under Windows.
|
|
||||||
|
|
||||||
DFU
|
DFU
|
||||||
===
|
===
|
||||||
|
@ -181,31 +181,6 @@ the following lines in each Make.defs file:
|
|||||||
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
endif
|
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
|
Mikroe-STM32F4-specific Configuration Options
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
@ -518,7 +493,7 @@ Where <subdir> is one of the following:
|
|||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Windows
|
CONFIG_HOST_WINDOWS=y : Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Cygwin environment on 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.
|
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
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
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
|
for Windows and builds under Cygwin (or probably MSYS). That
|
||||||
can easily be reconfigured, of course.
|
can easily be reconfigured, of course.
|
||||||
|
|
||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
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
|
3. This configuration does have UART2 output enabled and set up as
|
||||||
the system logging device:
|
the system logging device:
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user