Changes to get a clean ez80 build using the ZDS 5.1.1 toolchain

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5341 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2012-11-12 15:22:27 +00:00
parent c1f7a61990
commit 4aa5fab17f
5 changed files with 58 additions and 52 deletions
+21 -21
View File
@@ -41,7 +41,7 @@ USRINCLUDES = -usrinc:'.;$(WTOPDIR)\sched;$(WARCHSRCDIR);$(WARCHSRCDIR)\common'
INCLUDES = $(ARCHSTDINCLUDES) $(USRINCLUDES)
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(INCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS += -I$(ARCHSRCDIR) -I$(ZDSSTDINCDIR) -I$(ZDSZILOGINCDIR)
LDFLAGS += "${shell cygpath -w $(ARCHSRCDIR)/nuttx.linkcmd}"
LDFLAGS += @nuttx.linkcmd
############################################################################
# Files and directories
@@ -93,37 +93,37 @@ board/libboard$(LIBEXT):
nuttx.linkcmd: $(LINKCMDTEMPLATE)
$(Q) cp -f $(LINKCMDTEMPLATE) nuttx.linkcmd
@echo "\"${shell cygpath -w $(TOPDIR)/nuttx}\"= \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ARCHSRCDIR)/$(HEAD_OBJ)}\", \\" >>nuttx.linkcmd
@echo "\"${shell cygpath -w "$(TOPDIR)/nuttx"}\"= \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ARCHSRCDIR)/$(HEAD_OBJ)"}\", \\" >>nuttx.linkcmd
$(Q) ( for lib in $(LINKLIBS); do \
echo " \"`cygpath -w $(TOPDIR)/$${lib}`\", \\" >>nuttx.linkcmd; \
echo " \"`cygpath -w "$(TOPDIR)/lib/$${lib}"`\", \\" >>nuttx.linkcmd; \
done ; )
@echo " \"${shell cygpath -w $(ARCHSRCDIR)/board/libboard$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ARCHSRCDIR)/board/libboard$(LIBEXT)"}\", \\" >>nuttx.linkcmd
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/chelprevaaD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/crtrevaaLDD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/fprevaaLDD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSZILOGLIBDIR)/csiorevaaLDD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSZILOGLIBDIR)/zsldevinitdummy$(LIBEXT)}\"" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/chelprevaaD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/crtrevaaLDD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/fprevaaLDD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSZILOGLIBDIR)/csiorevaaLDD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSZILOGLIBDIR)/zsldevinitdummy$(LIBEXT)"}\"" >>nuttx.linkcmd
endif
ifeq ($(CONFIG_ARCH_CHIP_Z8F642X),y)
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/chelpD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/crtLDD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/fpdumyLD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSZILOGLIBDIR)/csioLDD$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSZILOGLIBDIR)/zsldevinitdummy$(LIBEXT)}\"" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/chelpD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/crtLDD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/fpdumyLD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSZILOGLIBDIR)/csioLDD$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSZILOGLIBDIR)/zsldevinitdummy$(LIBEXT)"}\"" >>nuttx.linkcmd
endif
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/chelp$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/crt$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSSTDLIBDIR)/fplib$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSZILOGLIBDIR)/gpio$(LIBEXT)}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w $(ZDSZILOGLIBDIR)/uartf91$(LIBEXT)}\"" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/chelp$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/crt$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSSTDLIBDIR)/fplib$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSZILOGLIBDIR)/gpio$(LIBEXT)"}\", \\" >>nuttx.linkcmd
@echo " \"${shell cygpath -w "$(ZDSZILOGLIBDIR)/uartf91$(LIBEXT)"}\"" >>nuttx.linkcmd
endif
nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) nuttx.linkcmd
@echo "LD: nuttx.hex"
$(Q) $(LD) $(LDFLAGS)
$(Q) "$(LD)" $(LDFLAGS)
.depend: Makefile chip/Make.defs $(DEPSRCS)
$(Q) if [ -e board/Makefile ]; then \
+17 -11
View File
@@ -5,7 +5,7 @@ ZDS-II Compiler Versions
^^^^^^^^^^^^^^^^^^^^^^^^
Different configurations have been build for this board using ZDS-11
Versions 4.11.0 and 4.11.1. You have to check the files */Make.defs
Versions 4.11.0, 4.11.1, and 5.1.1 You have to check the files */Make.defs
to see how the build is configured: Check the definitions of
ZDSVERSION (if present) and ZDSINSTALLDIR.
@@ -14,8 +14,9 @@ different versions of .linkcmd and .zdsproj files as well.
Version 4.11.0
Although it compiles without error, the 4.11.0 compiler generates
This is the only version that this code has been built against.
The 5.1.1 version of the ZDS-II tools are currently configured for
all ez80 boards. However, it is the older version 4.11.0 that this code
has been verified against.
Although it compiles without error, the 4.11.0 compiler generates
bad code on one of the files, mm/mm_initialize.c. Below is a simple work-
@@ -34,21 +35,26 @@ Version 4.11.0
/* Set up global variables */
UPDATE: I don't know if 4.11.1 has this same problem (I bet not since
I submitted the bug to ZiLOG), but I have permanently worked around the
above problem for all ZiLOG compilers.
Version 5.1.1
On June 22, 2011 I verified that these configurations build successfully
with the 5.1.1 ZDS-II version. All that is required to used ZDS-II is
to modify the Make.defs file so that the correct version is used. That
version should also be changed in the (optional) setenv.sh file.
with the 5.1.1 ZDS-II version. On November 12, 2012, all of the configurations
were converted to use 5.1.1, but have not been verified on a running target.
The above kludge for 4.11.0 is not required.
The above kludge for 4.11.0 is not required with 5.1.1.
I had to make additional changes to the ZDS path in Make.defs (and also
in setenv.sh) when the 32-bit ZDS-II tools are installed on my 64-bit
Windows 7 system.
Paths were also updated that are specific to a 32-bit toolchain running on
a 64 bit windows platform. Change to a different toolchain, you will need
to modify the versioning in Make.defs and setenv.sh; if you want to build
on a different platform, you will need to change the path in the ZDS binaries
in those same files.
Other Versions
If you use any version of ZDS-II other than 4.11.0 or if you install ZDS-II
If you use any version of ZDS-II other than 5.1.1 or if you install ZDS-II
at any location other than the default location, you will have to modify
two files: (1) configs/ez80f910200kitg/*/setenv.sh and (2)
configs/ez80f910200kitg/*/Make.defs.
+17 -13
View File
@@ -5,7 +5,7 @@ ZDS-II Compiler Versions
^^^^^^^^^^^^^^^^^^^^^^^^
Different configurations have been build for this board using ZDS-11
Versions 4.11.0 and 4.11.1. You have to check the files */Make.defs
Versions 4.11.0, 4.11.1, and 5.1.1 You have to check the files */Make.defs
to see how the build is configured: Check the definitions of
ZDSVERSION (if present) and ZDSINSTALLDIR.
@@ -14,6 +14,10 @@ different versions of .linkcmd and .zdsproj files as well.
Version 4.11.0
The 5.1.1 version of the ZDS-II tools are currently configured for
all ez80 boards. However, it is the older version 4.11.0 that this code
has been verified against.
Although it compiles without error, the 4.11.0 compiler generates
bad code on one of the files, mm/mm_initialize.c. Below is a simple work-
around.
@@ -33,27 +37,27 @@ Version 4.11.0
UPDATE: I don't know if 4.11.1 has this same problem (I bet not since
I submitted the bug to ZiLOG), but I have permanently worked around the
above problem for all ZiLOG compiler.
above problem for all ZiLOG compilers.
Version 5.1.1
On June 22, 2011 I verified that these configurations build successfully
with the 5.1.1 ZDS-II version. All that is required to used ZDS-II is
to modify the Make.defs file so that the correct version is used. That
version should also be changed in the (optional) setenv.sh file.
with the 5.1.1 ZDS-II version. On November 12, 2012, all of the configurations
were converted to use 5.1.1, but have not been verified on a running target.
The above kludge for 4.11.0 is not required.
The above kludge for 4.11.0 is not required with 5.1.1.
I had to make additional changes to the ZDS path in Make.defs (and also
in setenv.sh) when the 32-bit ZDS-II tools are installed on my 64-bit
Windows 7 system.
Paths were also updated that are specific to a 32-bit toolchain running on
a 64 bit windows platform. Change to a different toolchain, you will need
to modify the versioning in Make.defs and setenv.sh; if you want to build
on a different platform, you will need to change the path in the ZDS binaries
in those same files.
Other Versions
If you use any version of ZDS-II other than 4.11.0 or if you install ZDS-II
If you use any version of ZDS-II other than 5.1.1 or if you install ZDS-II
at any location other than the default location, you will have to modify
two files: (1) configs/ez80f910200zco/*/setenv.sh and (2)
configs/ez80f910200zco/*/Make.defs.
two files: (1) configs/ez80f910200kitg/*/setenv.sh and (2)
configs/ez80f910200kitg/*/Make.defs.
Configuration Subdirectories
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-4
View File
@@ -238,10 +238,6 @@
#define USBCOMPOSITE_TRACEERR_ALLOCDEVSTRUCT 0x000a
#define USBCOMPOSITE_TRACEERR_CLASSOBJECT 0x000b
#define USBCOMPOSITE_TRACEERR_DEVREGISTER 0x000c
#define USBCOMPOSITE_TRACEERR_INVALIDARG 0x000d
#define USBCOMPOSITE_TRACEERR_INVALIDARG 0x000f
#define USBCOMPOSITE_TRACEERR_INVALIDARG 0x0010
#define USBCOMPOSITE_TRACEERR_INVALIDARG 0x0011
/* USB Storage driver class events ******************************************/
+3 -3
View File
@@ -95,9 +95,9 @@ void mm_initialize(FAR void *heapstart, size_t heapsize)
mlldbg("Heap: start=%p size=%u\n", heapstart, heapsize);
/* The following two lines have cause problems for some ZiLog compilers
* in the past. Life is easier if we just the suppress them for those
* tools.
/* The following two lines have cause problems for some older ZiLog
* compilers in the past (but not the more recent). Life is easier if we
* just the suppress them altogther for those tools.
*/
#ifndef __ZILOG__