From 8501aca2afaf51ca90cb2510aa17e9893fa1ee52 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sat, 16 Feb 2008 00:48:39 +0000 Subject: [PATCH] Add support for Z8F6403 (currently disabled) git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@692 42af7a65-404d-4744-a932-0658087f49c3 --- configs/z8encore000zco/README.txt | 7 +++++ configs/z8encore000zco/ostest/Make.defs | 37 +++++++++++++++++++++++-- configs/z8encore000zco/ostest/defconfig | 17 +++++++----- configs/z8encore000zco/ostest/setenv.sh | 3 +- 4 files changed, 53 insertions(+), 11 deletions(-) diff --git a/configs/z8encore000zco/README.txt b/configs/z8encore000zco/README.txt index fdca7ad338..6349aa2453 100644 --- a/configs/z8encore000zco/README.txt +++ b/configs/z8encore000zco/README.txt @@ -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 diff --git a/configs/z8encore000zco/ostest/Make.defs b/configs/z8encore000zco/ostest/Make.defs index ad5d6fda8d..7318e9e6d3 100644 --- a/configs/z8encore000zco/ostest/Make.defs +++ b/configs/z8encore000zco/ostest/Make.defs @@ -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) diff --git a/configs/z8encore000zco/ostest/defconfig b/configs/z8encore000zco/ostest/defconfig index 63ea9ff16a..0b4a31f24c 100644 --- a/configs/z8encore000zco/ostest/defconfig +++ b/configs/z8encore000zco/ostest/defconfig @@ -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 diff --git a/configs/z8encore000zco/ostest/setenv.sh b/configs/z8encore000zco/ostest/setenv.sh index 3c7c294b2d..ef031f6add 100755 --- a/configs/z8encore000zco/ostest/setenv.sh +++ b/configs/z8encore000zco/ostest/setenv.sh @@ -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" \ No newline at end of file +alias ez8link="${ZDSBINDIR}/ez8link.exe" +