The target of our project is to get Leon 2, which is Sparc v8 based processor licensed under the terms of the LGPL running on the Hpe_mini development board provided by Gleichmann Research.
Since the Leon 2 core uses three port RAMs for its register files, it is not very reasonable to rely on the provided generic, i.e. architecture-independent, hardware descriptions. Using those results in the register files being implementet as LEs, therefore making it nearly impossible to use: the Leon 2 core uses more than 35.000 LEs when synthesized for the Cyclone II. To avoid this, we wrote a hardware dependent description of the register files, which lowered the requierments to as little as approx. 9.000 LEs.
The multiplier unit is inferred correctly by Quartus 5.0.
A main task was, of course, creating the pin assignment table to fit the core onto the Hpe_mini. Right now, the processor is able to use the SDRAM, the Ethernet PHY as well as the key matrix and the LEDs.
We are running Linux 2.6.11 on the Hpe_mini development board. The distribution is provided by Gaisler Research and is based on Snapgear Linux.
The basic development flow is as follows:
- create a cross compiling environment and choose the right compiler (sparc-elf-)
- configure the kernel
- configure the user land environment and select the needed binaries
- create a boot image to download it over the dsu interface
- verify the created boot image with the Leon simulator tsim (availaible at Gaisler Research)
- verify the Linux system on the hpe_mini
The main goal of the project is to provide an easy to understand How-To which describes the basic steps to get Linux running on the Hpe_mini (and, the upcoming SandboxX as well as how to add new hardware features to the processor and interface them from Linux' user space.