uClinux for Sparc-MMUless with Ethernet MAC
Introduction
These are the results of a project for the Institute of Applied Information Processing and
Communications (IAIK) at the
Graz University of Technology.
It is based on the work carried out by a group of students in the winter term 2002.
They synthesized the LEON1-sparc processor from
Gaisler Research, connected to the
OpenCores' Ethernet MAC for an FPGA prototyping board.
The whole thing finally worked under the
RTEMS operating system, using the
Lightweight IP Stack.
It was my task to adopt the uClinux-port to run on this board and to incorporate
networking.
Brief description of the system's components
The LEON processor used in this project is compliant with the sparc-v8 architecture, which is
a RISC architecture, designed to be highly scalable and to provide exceptionally high execution
rates. The LEON core is an open source VHDL implementation of the sparc architecture which was
developed by Jiri Gaisler of the European Space Agency. It is highly configurable and
well suited for system-on-chip designs.
The Ethernet core is a 10/100 Media Access Controller (MAC), designed to run according to the
IEEE 802.3 and 802.3u specifications for 10 Mbps and 100 Mbps Ethernet. It is an open source
Verilog project, hosted by OpenCores.org.
Both components were combined and synthesized for a Xilinx XCV800 FPGA on a XSV800 prototyping
board from Xess Corp. The board contains, amongst other parts, the FPGA with 800 kgates,
2 megabytes of SRAM, parallel and serial ports, and a 10/100 Mbps Ethernet physical layer
interface.
The operating system I used is uClinux, a port of Linux for processors without Memory
Management Unit. The port of uClinux to the LEON-sparc architecture is currently in progress
and still has several flaws.
Results
Now it is possible to boot uClinux on the XSV800 board, with the following applications
working: sash, ifconfig, route, ping, inetd, telnetd.
Take a look at the listing that shows the boot sequence, the
invocation of user programs and the telnet connection from PC to the board.