mirror of
https://github.com/apache/nuttx.git
synced 2026-05-22 05:42:05 +08:00
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:
+21
-21
@@ -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 \
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -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
@@ -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__
|
||||
|
||||
Reference in New Issue
Block a user