2008-03-15 21:00:23 +01:00
|
|
|
README.txt
|
|
|
|
^^^^^^^^^^
|
|
|
|
|
|
|
|
ZDS-II Compiler Versions
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2009-02-26 04:56:35 +01:00
|
|
|
Different configurations have been build for this board using ZDS-11
|
2012-11-12 16:22:27 +01:00
|
|
|
Versions 4.11.0, 4.11.1, and 5.1.1 You have to check the files */Make.defs
|
2009-02-26 04:56:35 +01:00
|
|
|
to see how the build is configured: Check the definitions of
|
|
|
|
ZDSVERSION (if present) and ZDSINSTALLDIR.
|
|
|
|
|
|
|
|
NOTE: Different versions of the ZDS-II compiler may also require
|
|
|
|
different versions of .linkcmd and .zdsproj files as well.
|
|
|
|
|
|
|
|
Version 4.11.0
|
|
|
|
|
2012-11-12 16:22:27 +01:00
|
|
|
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.
|
2014-04-14 00:22:22 +02:00
|
|
|
|
2008-03-25 00:54:58 +01:00
|
|
|
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.
|
|
|
|
|
|
|
|
--- mm/mm_initialize.c.SAVE 2008-02-13 08:06:46.833857700 -0600
|
|
|
|
+++ mm/mm_initialize.c 2008-02-13 08:07:26.367608900 -0600
|
|
|
|
@@ -94,8 +94,11 @@
|
|
|
|
{
|
|
|
|
int i;
|
2014-04-14 00:22:22 +02:00
|
|
|
|
2008-03-25 00:54:58 +01:00
|
|
|
+#if 0 /* DO NOT CHECK IN */
|
|
|
|
CHECK_ALLOCNODE_SIZE;
|
|
|
|
CHECK_FREENODE_SIZE;
|
|
|
|
+#endif
|
2014-04-14 00:22:22 +02:00
|
|
|
|
2008-03-25 00:54:58 +01:00
|
|
|
/* Set up global variables */
|
2008-03-15 21:00:23 +01:00
|
|
|
|
2012-11-12 16:22:27 +01:00
|
|
|
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.
|
|
|
|
|
2011-06-22 18:46:08 +02:00
|
|
|
Version 5.1.1
|
|
|
|
|
|
|
|
On June 22, 2011 I verified that these configurations build successfully
|
2012-11-12 16:22:27 +01:00
|
|
|
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.
|
2011-06-22 18:46:08 +02:00
|
|
|
|
2012-11-12 16:22:27 +01:00
|
|
|
The above kludge for 4.11.0 is not required with 5.1.1.
|
2011-06-22 18:46:08 +02:00
|
|
|
|
2012-11-12 16:22:27 +01:00
|
|
|
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
|
2017-04-26 18:12:13 +02:00
|
|
|
to modify the versioning in Make.defs; if you want to build on a different
|
|
|
|
platform, you will need to change the path in the ZDS binaries in that files
|
|
|
|
and also in your PATH environment variable.
|
2014-04-14 00:22:22 +02:00
|
|
|
|
2016-01-31 20:09:20 +01:00
|
|
|
Version 5.2.1
|
|
|
|
|
|
|
|
On January 31, 2016, I tried ZDS-II version 5.2.1. I believe that I have
|
|
|
|
all of the changes in place to support that version. At compile time,
|
|
|
|
however, I encountered compiler internal errors. I did not pursue that
|
|
|
|
build any further.
|
|
|
|
|
2019-06-03 02:35:32 +02:00
|
|
|
Version 5.3.0
|
|
|
|
|
2019-06-03 22:45:00 +02:00
|
|
|
I started verification using 5.30 on June 2, 2019. To use this toolchain,
|
|
|
|
I had to suppress the gmtime() and gmtimer() because these were causing an
|
|
|
|
internal compiler error:
|
|
|
|
|
|
|
|
time\lib_gmtimer.c
|
|
|
|
P2: Internal Error(0xB47E59):
|
|
|
|
Please contact Technical Support
|
|
|
|
|
|
|
|
This is the change to suppress building these files:
|
|
|
|
|
|
|
|
diff --git a/libs/libc/time/Make.defs b/libs/libc/time/Make.defs
|
|
|
|
index 5c9b746778..8327e287f4 100644
|
|
|
|
--- a/libs/libc/time/Make.defs
|
|
|
|
+++ b/libs/libc/time/Make.defs
|
|
|
|
@@ -44,7 +44,7 @@ ifdef CONFIG_LIBC_LOCALTIME
|
|
|
|
CSRCS += lib_localtime.c lib_asctime.c lib_asctimer.c lib_ctime.c
|
|
|
|
CSRCS += lib_ctimer.c
|
|
|
|
else
|
|
|
|
-CSRCS += lib_mktime.c lib_gmtime.c lib_gmtimer.c
|
|
|
|
+CSRCS += lib_mktime.c # lib_gmtime.c lib_gmtimer.c
|
|
|
|
ifdef CONFIG_TIME_EXTENDED
|
|
|
|
CSRCS += lib_dayofweek.c lib_asctime.c lib_asctimer.c lib_ctime.c
|
|
|
|
CSRCS += lib_ctimer.c
|
|
|
|
|
|
|
|
The consequence is, of course, that these interfaces will not be available
|
|
|
|
to applications.
|
|
|
|
|
|
|
|
Another issue is that the ZDS-II version of stdarg.h does not provide
|
|
|
|
va_copy(). This affects libs/libc/lib_sysloc.c.
|
2019-06-03 02:35:32 +02:00
|
|
|
|
2008-03-15 21:00:23 +01:00
|
|
|
Other Versions
|
2019-06-03 02:35:32 +02:00
|
|
|
If you use any version of ZDS-II other than 5.1.1, 5.2.1, or 5.3.0 or
|
|
|
|
if you install ZDS-II at any location other than the default location,
|
|
|
|
you will have to modify one or three files: (1) arch/arm/z80/src/ez80Kconfig,
|
|
|
|
(2) configs/ez80f910200kitg/scripts/Make.defs and, perhaps, (3)
|
|
|
|
arch/z80/src/ez80/Toolchain.defs.
|
2008-03-15 21:00:23 +01:00
|
|
|
|
|
|
|
Configuration Subdirectories
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
- src/ and include/
|
|
|
|
These directories contain common logic for all ez80f910200kitg
|
|
|
|
configurations.
|
|
|
|
|
|
|
|
Variations on the basic ez80f910200kitg configuration are maintained
|
|
|
|
in subdirectories. To configure any specific configuration, do the
|
|
|
|
following steps:
|
|
|
|
|
2018-05-09 19:41:46 +02:00
|
|
|
tools/configure.sh ez80f910200kitg/<sub-directory>
|
2008-03-15 21:00:23 +01:00
|
|
|
make
|
|
|
|
|
|
|
|
Where <sub-directory> is the specific board configuration that you
|
|
|
|
wish to build. The following board-specific configurations are
|
|
|
|
available:
|
|
|
|
|
|
|
|
- ostest
|
|
|
|
This builds the examples/ostest application for execution from FLASH.
|
|
|
|
See examples/README.txt for information about ostest.
|
|
|
|
|
2012-11-21 18:44:14 +01:00
|
|
|
NOTES:
|
2012-11-20 22:19:36 +01:00
|
|
|
|
2012-11-21 18:44:14 +01:00
|
|
|
1. This configuration uses the mconf-based configuration tool. To
|
|
|
|
change this configuration using that tool, you should:
|
2012-11-20 22:19:36 +01:00
|
|
|
|
2013-01-09 13:55:13 +01:00
|
|
|
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
|
2015-06-28 16:08:57 +02:00
|
|
|
see additional README.txt files in the NuttX tools repository.
|
2012-11-21 18:44:14 +01:00
|
|
|
|
|
|
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
|
|
|
reconfiguration process.
|
|
|
|
|
|
|
|
2. By default, this configuration assumes that you are using the
|
|
|
|
Cygwin environment on Windows. An option is to use the native
|
|
|
|
CMD.exe window build as described in the top-level README.txt
|
|
|
|
file. To set up that configuration:
|
|
|
|
|
|
|
|
-CONFIG_WINDOWS_CYGWIN=y
|
|
|
|
+CONFIG_WINDOWS_NATIVE=y
|
|
|
|
|
|
|
|
And after configuring, make sure that CONFIG_APPS_DIR uses
|
|
|
|
the back slash character. For example:
|
|
|
|
|
|
|
|
CONFIG_APPS_DIR="..\apps"
|
2012-11-20 22:19:36 +01:00
|
|
|
|
2012-11-25 21:58:39 +01:00
|
|
|
NOTES:
|
2014-04-14 00:22:22 +02:00
|
|
|
|
2012-11-25 21:58:39 +01:00
|
|
|
a. If you need to change the toolchain path used in Make.defs, you
|
|
|
|
will need to use the short 8.3 filenames to avoid spaces. On my
|
|
|
|
PC, C:\PROGRA~1\ is is C:\Program Files\ and C:\PROGRA~2\ is
|
|
|
|
C:\Program Files (x86)\
|
2017-04-26 18:12:13 +02:00
|
|
|
b. At present, the native Windows build fails at the final link stages.
|
2012-11-29 19:44:02 +01:00
|
|
|
The failure is due to problems in arch/z80/src/nuttx.linkcmd that
|
|
|
|
is autogenerated by arch/z80/src/Makefile.zdsii. The basic problem
|
2012-11-25 21:58:39 +01:00
|
|
|
is the spurious spaces and and carrirage returns are generated at
|
|
|
|
the end of the lines after a line continuation (\ ^M). If these
|
|
|
|
trailing bad characters are manually eliminated, then the build
|
|
|
|
will succeed on the next try.
|
2012-11-22 15:44:38 +01:00
|
|
|
|
2008-03-15 21:00:23 +01:00
|
|
|
Check out any README.txt files in these <sub-directory>s.
|