4e98980045
Squashed commit of the following: configs/makerlisp: Update comments about use of serial console. configs/makerlisp: Add LED support, remove vestiges of button support (the board has no user buttons). Add support for SPI-based MMC/SD card slot. arch/z80/src/ez80: Fix some link problems. libs/libc/syslog/lib_syslog.c: The ZDS-II toolchain does not declare va_coy in stdarg.h. I think that the use of va_copy in vsyslog() is no necessary. configs/makerlisp: Initial configuration directories cloned from ez80f910200zco with little more than naming changes.
167 lines
6.2 KiB
Plaintext
167 lines
6.2 KiB
Plaintext
README.txt
|
|
^^^^^^^^^^
|
|
|
|
ZDS-II Compiler Versions
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Different configurations have been build for this board using ZDS-11
|
|
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.
|
|
|
|
NOTE: Different versions of the ZDS-II compiler may also require
|
|
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.
|
|
|
|
--- 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;
|
|
|
|
+#if 0 /* DO NOT CHECK IN */
|
|
CHECK_ALLOCNODE_SIZE;
|
|
CHECK_FREENODE_SIZE;
|
|
+#endif
|
|
|
|
/* 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. 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 with 5.1.1.
|
|
|
|
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; 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.
|
|
|
|
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.
|
|
|
|
Version 5.3.0
|
|
|
|
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.
|
|
|
|
Alternatively, you can use 'make -i' to build the system. The above
|
|
errors will occur, but will not stop the build (unless the failed build
|
|
objects are brought into the link). The has the negative side effects
|
|
that (1) the archives will always be rebuild in the directories where
|
|
the error occur, and (2) you might miss other, real compilation error
|
|
since these will no longer stop the compilation.
|
|
|
|
Other Versions
|
|
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 three files: (1) arch/arm/z80/src/ez80/Kconfig,
|
|
(2) configs/ez80f910200kitg/scripts/Make.defs and, perhaps, (3)
|
|
arch/z80/src/ez80/Toolchain.defs.
|
|
|
|
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:
|
|
|
|
tools/configure.sh ez80f910200kitg/<sub-directory>
|
|
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.
|
|
|
|
NOTES:
|
|
|
|
1. This configuration uses the mconf-based configuration tool. To
|
|
change this configuration using that tool, you should:
|
|
|
|
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
|
|
see additional README.txt files in the NuttX tools repository.
|
|
|
|
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"
|
|
|
|
NOTES:
|
|
|
|
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)\
|
|
b. At present, the native Windows build fails at the final link stages.
|
|
The failure is due to problems in arch/z80/src/nuttx.linkcmd that
|
|
is autogenerated by arch/z80/src/Makefile.zdsii. The basic problem
|
|
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.
|
|
|
|
Check out any README.txt files in these <sub-directory>s.
|