Add support for Z8F6403 (currently disabled)

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@692 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-02-16 00:48:39 +00:00
parent d2a0dbed16
commit 8501aca2af
4 changed files with 53 additions and 11 deletions

View File

@ -23,6 +23,13 @@ ZDS-II Compiler Versions
/* Set up global variables */
The 4.10.1 version of ZDS-11 is not compatible with the Z8F6403 chip
in the z8encore000zco development board.
4.9.5
This is the latest tool version listed on the ZiLOG site for the Z8F6403.
However, it uses different compiler command line arguments.
Other Versions
If you use any version of ZDS-II other than 4.10.1 or if you install ZDS-II
at any location other than the default location, you will have to modify

View File

@ -41,7 +41,12 @@ ZDSINSTALLDIR := C:/Program\ Files/ZiLOG/ZDSII_Z8Encore!_4.10.1
ZDSBINDIR := $(ZDSINSTALLDIR)/bin
ZDSSTDINCDIR := $(ZDSINSTALLDIR)/include/std
ZDSZILOGINCDIR := $(ZDSINSTALLDIR)/include/zilog
ZDSF46XINCDIR := $(ZDSZILOGINCDIR)/Z8Encore_F642X
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
ZDSDEVINCDIR := $(ZDSZILOGINCDIR)/Z8Encore_F642X
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
ZDSDEVINCDIR := $(ZDSZILOGINCDIR)/Z8Encore_F640X
endif
ZDSSTDLIBDIR := $(ZDSINSTALLDIR)/lib/std
ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)/lib/zilog
@ -51,7 +56,7 @@ ZDSZILOGLIBDIR := $(ZDSINSTALLDIR)/lib/zilog
WTOPDIR := ${shell cygpath -w $(TOPDIR)}
WZDSSTDINCDIR := ${shell cygpath -w $(ZDSSTDINCDIR)}
WZDSZILOGINCDIR := ${shell cygpath -w $(ZDSZILOGINCDIR)}
WZDSF46XINCDIR := ${shell cygpath -w $(ZDSF46XINCDIR)}
WZDSDEVINCDIR := ${shell cygpath -w $(ZDSDEVINCDIR)}
WZDSSTDLIBDIR := ${shell cygpath -w $(ZDSSTDLIBDIR)}
WZDSZILOGLIBDIR := ${shell cygpath -w $(ZDSZILOGLIBDIR)}
@ -69,10 +74,20 @@ else
ARCHASMOPTIMIZATION = -nodebug -sdiopt
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
ARCHASMCPUFLAGS = -cpu:Z8F6423 -NOigcase -NOrevaa
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
ARCHASMCPUFLAGS = -cpu:Z8F6403 -NOigcase -revaa
endif
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
ARCHASMWARNINGS = -warn
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
ARCHASMDEFINES = -define:_Z8F6423=1 -define:_Z8ENCORE_64K_SERIES=1 -define:_Z8ENCORE_F642X=1 \ -define:__ASSEMBLY__
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
ARCHASMDEFINES = -define:_Z8F6403=1 -define:_Z8ENCORE_640_FAMILY=1 -define:_Z8ENCORE_F640X=1 \ -define:__ASSEMBLY__
endif
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) \
@ -86,19 +101,35 @@ else
ARCHOPTIMIZATION = -nodebug -regvar
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
ARCHCPUFLAGS = -chartype:S -model:L -const:RAM -NOoptlink -promote -cpu:Z8F6423 -NOgenprintf \
-asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
ARCHCPUFLAGS = -chartype:S -model:L -const:RAM -NOoptlink -promote -cpu:Z8F6403 -NOgenprintf \
-asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
endif
ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
ARCHPICFLAGS =
ARCHWARNINGS = -warn
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
ARCHDEFINES = -define:_Z8ENCORE_F642X -define:_Z8F6423 -define:_Z8ENCORE_64K_SERIES
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR);$(WZDSF46XINCDIR)'
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
ARCHDEFINES = -define:_Z8ENCORE_F640X -define:_Z8F6403 -define:_Z8ENCORE_640_FAMILY
endif
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR);$(WZDSDEVINCDIR)'
ARCHUSRINCLUDES = -usrinc:'.'
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES)
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
CPPDEFINES = -D_Z8ENCORE_F642X -D_Z8F6423 -D_Z8ENCORE_64K_SERIES -D__ASSEMBLY__
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
CPPDEFINES = -D_Z8ENCORE_F640X -D_Z8F6403 -D_Z8ENCORE_640_FAMILY -D__ASSEMBLY__
endif
CPPINCLUDES = -I$(TOPDIR)/include
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)

View File

@ -43,24 +43,27 @@
# architecture.
# CONFIG_ARCH_CHIP_chip - for use in C code. This identifies the
# particular chip or SoC that the architecture is implemented
# in (CONFIG_ARCH_CHIP_Z16F)
# CONFIG_ARCH_CHIP_Z16F2810 - Identifies z16f chip variant
# CONFIG_ARCH_CHIP_Z16F2811
# CONFIG_ARCH_CHIP_Z16F3211
# CONFIG_ARCH_CHIP_Z16F6411
# in (CONFIG_ARCH_CHIP_Z8)
# CONFIG_ARCH_CHIP_Z8F642X - Identifies z8 chip variant
# CONFIG_ARCH_CHIP_Z8F6423
# CONFIG_ARCH_CHIP_Z8F640X
# CONFIG_ARCH_CHIP_Z8F6403
# CONFIG_ARCH_BOARD - identifies the configs subdirectory and, hence,
# the board that supports the particular chip or SoC.
# CONFIG_ARCH_BOARD_name - for use in C code
# CONFIG_BOARD_LOOPSPERMSEC - for delay loops
# CONFIG_ENDIAN_BIG - define if big endian (default is little endian)
# CONFIG_DRAM_SIZE - Describes the installed DRAM.
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to z16f.
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to z8 board architecture.
#
CONFIG_ARCH=z80
CONFIG_ARCH_Z8=y
CONFIG_ARCH_CHIP=z8
CONFIG_ARCH_CHIP_Z8=y
CONFIG_ARCH_CHIP_Z8F6403=y
CONFIG_ARCH_CHIP_Z8F642X=y
CONFIG_ARCH_CHIP_Z8F6423=y
CONFIG_ARCH_CHIP_Z8F640X=n
CONFIG_ARCH_CHIP_Z8F6403=n
CONFIG_ARCH_BOARD=z8encore000zco
CONFIG_ARCH_BOARD_Z8ENCORE000ZCO=y
CONFIG_BOARD_LOOPSPERMSEC=1250

View File

@ -48,4 +48,5 @@ ZDSBINDIR="C:/Program\ Files/ZiLOG/ZDSII_Z8Encore!_4.10.1/bin"
alias ez8asm="${ZDSBINDIR}/ez8asm.exe"
alias ez8cc="${ZDSBINDIR}/ez8cc.exe"
alias ez8lib="${ZDSBINDIR}/ez8lib.exe"
alias ez8link="${ZDSBINDIR}/ez8link.exe"
alias ez8link="${ZDSBINDIR}/ez8link.exe"