diff --git a/arch/avr/src/avr32/Toolchain.defs b/arch/avr/src/avr32/Toolchain.defs index 6a4b1234ef..b45abadc1c 100644 --- a/arch/avr/src/avr32/Toolchain.defs +++ b/arch/avr/src/avr32/Toolchain.defs @@ -39,6 +39,11 @@ # Since all of the supported toolchains are variants of the Atmel-patched # GCC, the only interesting question to answer here is whether or not # the build is hosted on Windows, and how to override the configuration. +# +# NOTE: There is a logic error in the following: CONFIG_HOST_WINDOWS means +# that we are operating on a Windows platform. But in the case where we +# have an AVR32 toolchain built under Cygwin, the correct setting would be +# GNU, not AVRTOOLSW. # CROSSDEV = avr32- diff --git a/arch/z80/src/ez80/Toolchain.defs b/arch/z80/src/ez80/Toolchain.defs new file mode 100644 index 0000000000..483bc84e73 --- /dev/null +++ b/arch/z80/src/ez80/Toolchain.defs @@ -0,0 +1,47 @@ +############################################################################ +# arch/z80/src/ez80/Toolchain.defs +# +# Copyright (C) 2012 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Setup for the selected toolchain + +# +# The ZiLOG ZDS-II Windows toolchain is the only toolchain available for +# the ez80. +# + +CONFIG_EZ80_TOOLCHAIN ?= ZDSII + +ifneq ($(CONFIG_WINDOWS_NATIVE),y) + WINTOOL = y +endif diff --git a/arch/z80/src/z8/Toolchain.defs b/arch/z80/src/z8/Toolchain.defs new file mode 100644 index 0000000000..a5f139eb5a --- /dev/null +++ b/arch/z80/src/z8/Toolchain.defs @@ -0,0 +1,47 @@ +############################################################################ +# arch/z80/src/z8/Toolchain.defs +# +# Copyright (C) 2012 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Setup for the selected toolchain + +# +# The ZiLOG ZDS-II Windows toolchain is the only toolchain available for +# the z8. +# + +CONFIG_Z8_TOOLCHAIN ?= ZDSII + +ifneq ($(CONFIG_WINDOWS_NATIVE),y) + WINTOOL = y +endif diff --git a/arch/z80/src/z80/Toolchain.defs b/arch/z80/src/z80/Toolchain.defs new file mode 100644 index 0000000000..9c262f593d --- /dev/null +++ b/arch/z80/src/z80/Toolchain.defs @@ -0,0 +1,75 @@ +############################################################################ +# arch/z80/src/z80/Toolchain.defs +# +# Copyright (C) 2012 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# Setup for the selected toolchain + +# +# SDCC is currently the only z80 toolchain supported. See +# http://sdcc.sourceforge.net/. Source and pre-built SDCC binaries can be +# downloaded from the SDCC SourceForge site: +# http://sourceforge.net/projects/sdcc/files/. Pre-built binaries are +# available for Linux, MAC OSX, and for Win32. In addition, SDCC can be +# built to run on Windows as a POSIX toolchain. The various SDCC options are +# selected in the NuttX configuration with: +# +# CONFIG_SDCC_POSIX=y : SDCC for Linux, MAC OSX or Cygwin +# CONFIG_SDCC_WINDOWS=y : SDCC for Win32 +# + +ifeq ($(filter y, \ + $(CONFIG_SDCC_POSIX) \ + ),y) + CONFIG_Z80_TOOLCHAIN ?= POSIX +endif +ifeq ($(filter y, \ + $(CONFIG_SDCC_WINDOWS) \ + ),y) + CONFIG_Z80_TOOLCHAIN ?= WINDOWS +endif + +# SDCC toolchain under Linux, MAC OSX or Cygwin + +ifeq ($(CONFIG_Z80_TOOLCHAIN),POSIX) +endif + +# SDCC toolchain under Windows/Cygwin + +ifeq ($(CONFIG_AVR_TOOLCHAIN),WINAVR) + ifneq ($(CONFIG_WINDOWS_NATIVE),y) + WINTOOL = y + endif +endif + + diff --git a/configs/xtrs/README.txt b/configs/xtrs/README.txt index ecd44e4e21..08f3fbea15 100644 --- a/configs/xtrs/README.txt +++ b/configs/xtrs/README.txt @@ -12,6 +12,7 @@ Contents o Getting a TRS80 emulator and DOS disks o Loading an executable into xtrs o Configuring NuttX + o SDCC o Building the SDCC toolchain o SDCC Update o Newer SDCC Versions @@ -47,6 +48,7 @@ Configuring NuttX ^^^^^^^^^^^^^^^^^ ostest + This configuration performs a simple, minimal OS test using examples/ostest. This can be configurated as follows: @@ -56,6 +58,7 @@ Configuring NuttX . ./setenv.sh nsh + This configuration file builds NSH (examples/nsh). This configuration is not functional due to issues with use of the simulated serial driver (see the TODO list). @@ -67,7 +70,8 @@ Configuring NuttX cd - . ./setenv.sh - pashello + pashello + Configures to use examples/pashello for execution from FLASH See examples/README.txt for information about pashello. @@ -81,9 +85,25 @@ Configuring NuttX cd - . ./setenv.sh +SDCC +^^^^ + +These z80 configurations all use the SDCC toolchain (http://sdcc.sourceforge.net/). +Source and pre-built SDCC binaries can be downloaded from the SDCC SourceForge +site: http://sourceforge.net/projects/sdcc/files/ . Pre-built binaries are +available for Linux, MAC OSX, and for Win32. Various SDCC options can be +selected with: + + CONFIG_SDCC_POSIX=y : SDCC for Linux, MAC OSX or Cygwin (see below) + CONFIG_SDCC_WINDOWS=y : SDCC for Win32 + Building the SDCC toolchain ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +You may also want to build your own SDCC toolchain. You might want to do this, +for example, if you are running under Cygwin and want a Cygwin compatible +SDCC toolchain. + The SDCC toolchain is built with the standard configure/make/make install sequence. However, some special actions are required to generate libraries compatible with this build. First start with the usual steps diff --git a/configs/z80sim/README.txt b/configs/z80sim/README.txt index 0dcb1b37d0..1d5ae7116f 100644 --- a/configs/z80sim/README.txt +++ b/configs/z80sim/README.txt @@ -12,6 +12,7 @@ Contents ^^^^^^^^ o Configuring NuttX + o SDCC o Building the SDCC toolchain o SDCC Update o Newer SDCC Versions @@ -20,6 +21,7 @@ Configuring NuttX ^^^^^^^^^^^^^^^^^ ostest + This configuration performs a simple, minimal OS test using examples/ostest. This can be configurated as follows: @@ -29,6 +31,7 @@ Configuring NuttX . ./setenv.sh nsh + This configuration file builds NSH (examples/nsh). This configuration is not functional due to issues with use of the simulated serial driver (see the TODO list). @@ -41,6 +44,7 @@ Configuring NuttX . ./setenv.sh pashello + Configures to use examples/pashello for execution from FLASH See examples/README.txt for information about pashello. @@ -54,9 +58,25 @@ Configuring NuttX cd - . ./setenv.sh +SDCC +^^^^ + +These z80 configurations all use the SDCC toolchain (http://sdcc.sourceforge.net/). +Source and pre-built SDCC binaries can be downloaded from the SDCC SourceForge +site: http://sourceforge.net/projects/sdcc/files/ . Pre-built binaries are +available for Linux, MAC OSX, and for Win32. Various SDCC options can be +selected with: + + CONFIG_SDCC_POSIX=y : SDCC for Linux, MAC OSX or Cygwin (see below) + CONFIG_SDCC_WINDOWS=y : SDCC for Win32 + Building the SDCC toolchain ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +You may also want to build your own SDCC toolchain. You might want to do this, +for example, if you are running under Cygwin and want a Cygwin compatible +SDCC toolchain. + The SDCC toolchain is built with the standard configure/make/make install sequence. However, some special actions are required to generate libraries compatible with this build. First start with the usual steps