Skip to content

Latest commit

 

History

History
34 lines (20 loc) · 3.12 KB

INSTALL.md

File metadata and controls

34 lines (20 loc) · 3.12 KB

Welcome to the ZipCPU!

Installation instructions

The ZipCPU repository contains a couple of very basic cabilities, some very necessary to any user, some only necessary to the hard core users, some not so much.

  • It contains the binutils and GCC compiler with ZipCPU backend used by all implementations of the ZipCPU. This is very necessary.

  • It contains a copy of newlib. However, the libgloss directory within it is specific to the ZBasic architecture. Right now, the answer is to roll your own libgloss for any new architecture.

  • It contains a specification document, describing the CPU and its instruction set, together with the sources files to build that specification. This is different from a user's guide, or a specification document for your particular board implementation. (The ZipCPU is very generic, allowing you to build your bus and place items within it at any address of your choosing.)

  • It contains a copy of the Verilog RTL describing the ZipCPU. This is useful should you ever wish to build your own project using the ZipCPU. However, if you are just trying to use an existing SoC implementation, you can safely ignore this directory.

  • It contains two simulators: one independent of the RTL, the second based upon the RTL. Neither of these simulators is as good as a proper simulator of a SoC, but they remain here for ... whatever reasons.

  • It contains my first attempt at building an Assembler. Well, it does until I eventually remove it from the repository as unnecessary ...

  • It also contains the source code for an example assembly level debugger. This will probably be replaced in time with an implementation of gdb, but it remains for the time being.

Dependencies

Prior to building within the ZipCPU repository directory, you will need to make certain you have a number of prerequisites. These include: texinfo, gcc-dev, g++, flex, bison, libbison-dev, verilator (v5.007 or later, installled from source), libgmp10, libgmp-dev, libmpfr-dev, libmpc-dev, libelf-dev, bc, exuberant-ctags, and libncurses-dev.

These dependencies can be installed using:

sudo apt install texinfo gcc-dev g++ flex bison libbison-dev verilator libgmp10 libgmp-dev libmpfr-dev libmpc-dev libelf-dev bc exuberant-ctags libncurses-dev python3 autoconf help2man git clone https://github.com/verilator/verilator cd verilator autoconf ; ./configure; make ; sudo make install

Installation instructions

To build all of the above, type make in the main repository directory. This will build the tools and place them into a local install directory. Sadly, this process will currently fail about halfway through. To get past this, add the install directory to your path and restart. make will then pick up where it left off and finish the task.

The ZipCPU build process does not yet install anything into your local system. All of the tools generated (currently) will be left in the local install directory.