The eZ80 processor is a modernized version of the Z80
processor. Summarily, the processor was upgraded to a microcontroller; it has
32 GPIO (general purpose input/output) pins, 8K of onboard SRAM, and an on-chip
50Mhz oscillator. The number of cycles required to perform a single operation
has also decreased. Combining clock speed and the fact that opcode fetch only
requires one cycle, the eZ80 is over 100 times faster. The eZ80 also implements
a 24-bit addressing mode, allowing it to access up to 16MB of memory. The eZ80
processor is used in many common and modern systems, such as Palm Pilots, Game
Boys and graphing calculators.
Using the new GPIO ports and a few extra instructions, the eZ80 is capable of implementing a full preemptive operating system with memory management, a full TCP/IP stack, and even onboard serial communication.
In addition to the eZ80’s extra power, the eZ80 web server evaluation board has all of the motherboard basics; a power supply, two serial I/O controllers, an Ethernet controller, an external 40Mhz clock, an emulator port, FLASH ROM and more static RAM, as well as two 60-pin connectors; one for the bus, and one for the GPIO pins.
Since the eZ80 web server has no disk, it has no file system. In order to store any web pages, they must be stored in constant variables, which are inserted into a webpage structure. The ZiLOG development environment facilitates the conversion from a regular file to a C constant. At the beginning of the program (main.c), each of these web pages are defined and stored. Once IPWorks’ HTTP server is initialized, all of the static pages are served automatically, and dynamic pages (CGI) are handled by the programs that were defined in the webpage structure.
The evaluation kit came with a Zpak emulator, which facilitates uploading code to the eZ80’s SRAM and monitoring the progress of running programs. ZiLOG’s nicely packaged C development environment handles all communication with the eZ80. This development environment came with a TCP stack and preemptive operating system called IPWorks.
There was a sample web site included with IPWorks, which I opened, downloaded and executed on my local network. The web server was configured to use a particular IP (192.168.1.20), and the web site worked as expected. This web site is easy to modify to create your own pages and CGI scripts.
Web page and source code Copyright 2003, Michael Mudge. Webserver picture owned by ZiLOG.