2008-01-01 00:52:53 +01:00
|
|
|
z80sim README
|
|
|
|
^^^^^^^^^^^^^
|
2007-12-29 02:05:26 +01:00
|
|
|
|
2008-01-01 00:52:53 +01:00
|
|
|
This port uses a primitive, emulated Z80 and the SDCC toolchain.
|
|
|
|
The instruction set emulator can be found in the NuttX CVS at
|
|
|
|
http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim
|
2007-12-29 02:05:26 +01:00
|
|
|
|
|
|
|
The SDCC toolchain is available from http://sdcc.sourceforge.net/. All
|
2008-02-07 15:41:11 +01:00
|
|
|
testing has been performed using version 2.6.0 of the SDCC toolchain.
|
2007-12-29 02:05:26 +01:00
|
|
|
|
2008-01-01 00:52:53 +01:00
|
|
|
Configuring NuttX
|
|
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
|
2008-02-07 02:39:20 +01:00
|
|
|
ostest
|
|
|
|
This configuration performs a simple, minimal OS test using
|
|
|
|
examples/ostest. This can be configurated as follows:
|
2008-01-01 00:52:53 +01:00
|
|
|
|
|
|
|
cd tools
|
2008-02-07 02:39:20 +01:00
|
|
|
./configure.sh z80sim/ostest
|
2008-01-01 00:52:53 +01:00
|
|
|
cd -
|
|
|
|
. ./setenv.sh
|
|
|
|
|
|
|
|
|
2008-02-07 02:39:20 +01:00
|
|
|
nsh
|
2008-01-02 15:17:02 +01:00
|
|
|
This configuration file builds NSH (examples/nsh). This
|
|
|
|
configuration is not functional due to issues with use of the
|
|
|
|
simulated serial driver (see the TODO list).
|
2008-01-01 00:52:53 +01:00
|
|
|
|
2008-02-07 02:39:20 +01:00
|
|
|
This configuration can be selected by:
|
2008-01-01 00:52:53 +01:00
|
|
|
|
2008-02-07 02:39:20 +01:00
|
|
|
cd tools
|
|
|
|
./configure.sh z80sim/nsh
|
|
|
|
cd -
|
|
|
|
. ./setenv.sh
|
|
|
|
|
|
|
|
pashello
|
|
|
|
Configures to use examples/pashello for execution from FLASH
|
|
|
|
See examples/README.txt for information about pashello.
|
|
|
|
|
|
|
|
This configuration is not usable because the resulting binary
|
|
|
|
is too large for the z80 address space.
|
2008-01-01 00:52:53 +01:00
|
|
|
|
2008-02-07 02:39:20 +01:00
|
|
|
This configuration can be selected by:
|
|
|
|
|
|
|
|
cd tools
|
|
|
|
./configure.sh z80sim/pashello
|
|
|
|
cd -
|
|
|
|
. ./setenv.sh
|
2008-01-01 00:52:53 +01:00
|
|
|
|
2007-12-29 02:05:26 +01:00
|
|
|
Building the SDCC toolchain
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The SDCC toolchain is built with the standard configure/make/make install
|
|
|
|
sequence. However, some special actions are required to generate libraries
|
|
|
|
compatible with this build. First start with the usual steps
|
|
|
|
|
|
|
|
download
|
|
|
|
unpack
|
|
|
|
cd sdcc
|
|
|
|
./configure
|
2007-12-31 00:34:20 +01:00
|
|
|
|
|
|
|
But before making, we need to apply a patch to the SDCC 2.6.0 source
|
|
|
|
so that the z80 assembler can handle long symbol names
|
|
|
|
|
|
|
|
Apply sdcc-2.6.0-asz80-symlen.patch
|
|
|
|
cd sdcc/device/lib
|
|
|
|
|
|
|
|
Then make the SDCC binaries
|
|
|
|
|
|
|
|
cd sdcc
|
2007-12-29 02:05:26 +01:00
|
|
|
make
|
2007-12-31 00:34:20 +01:00
|
|
|
|
|
|
|
and install SDCC:
|
|
|
|
|
|
|
|
sudo make install
|