MASC/uCLinux On LEON3
Contents
Introduction
MicroController Linux (μCLinux) is a Linux operating system for embedded hardware systems without a memory management unit (MMU).
The LEON3 is a 32-bit VHDL processor core based on the SPARCV8 RISC instruction set architecture.
This project will involve synthesis and placement of a LEON3 processor onto a commercial off the shelf (COTS) field programmable gate array (FPGA), μCLinux will then be loaded to the FPGA.
Hardware
- Xilinx Vertex 5, ML-505 board
- Xilinx Platform Cable USB
- Host Computer. x86-64 machine (AMD Phenom x4 9950 Black (AMD64))
People
- Professor Jose Renau: Leader of the MASC group at UCSC, instructor for CMPE-202, Computer Architecture.
- Samuel Toepke: PhD Student, primary investigator, student of Professor Renau.
- Tom Golubev: Member of MASC group, MS student. Source of Xilinx tools, Xilinx ML505 board and Xilinx Platform Cable USB.
- Rigo Dicochea: Member of MASC group, PhD student, general FPGA resource.
- Javier Castillo: Member of MASC group, embedded Linux resource.
System
- Ubuntu 8.10 running Sun VirtualBox Version 2.2.2 r46594.
- Virtual Machine running CentOS 5.3 i386, http://www.centos.org
- Download:
- CentOS-5.3-i386-bin-1of6.iso
- CentOS-5.3-i386-bin-2of6.iso
- CentOS-5.3-i386-bin-3of6.iso
- CentOS-5.3-i386-bin-4of6.iso
- Procedure:
- Obtain a desktop computer. Any desktop machine with a USB port, serial port, and internet connection should suffice. Install the host Operating System of Ubuntu 8.10, as well as the specified VirtualBox.
- Download the CentOS distribution, specific .iso files listed above.
- (VirtualBox is used here, however, CentOS could of course be used as the machine's primary operating system). In VirtualBox, create a new virtual machine. Specific options used are described in CentOS_5.3_i386.xml.
- With the new virtual machine, mount and boot to CentOS-5.3-i386-bin-1of6.iso.
- When installing CentOS, install the following extras: "Development Libraries","Development Tools","Java Development","Legacy Software Development".
- Login-name: 'centos' sans single quotes.
- Once CentOS is installed: a. Applications->System Tools->Software Updater
- We know have a fresh, updated operating system to begin the project.
Building uCLinux
Cross Compiler
The cross compiler is necessary to compile μCLinux using LEON3 as the target architecture.
In CentOS virtual machine, open a terminal. $ cd $ pwd /home/centos $ mkdir uCLinux $ cd uCLinux/ $ mkdir crosscompiler $ cd crosscompiler/ $ wget ftp://gaisler.com/gaisler.com/linux/linux-2.0/toolchains/sparc-linux-3.2.2/sparc-linux-3.2.2-1.0.1.tar.bz2 --2009-12-03 17:01:06-- ftp://gaisler.com/gaisler.com/linux/linux-2.0/toolchains/sparc-linux-3.2.2/sparc-linux-3.2.2-1.0.1.tar.bz2
=> `sparc-linux-3.2.2-1.0.1.tar.bz2'
Resolving gaisler.com... 216.251.43.17 Connecting to gaisler.com|216.251.43.17|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD /gaisler.com/linux/linux-2.0/toolchains/sparc-linux-3.2.2 ... done. ==> SIZE sparc-linux-3.2.2-1.0.1.tar.bz2 ... 44235674 ==> PASV ... done. ==> RETR sparc-linux-3.2.2-1.0.1.tar.bz2 ... done. Length: 44235674 (42M)
100%[============================================================================>] 44,235,674 279K/s in 2m 7s
2009-12-03 17:03:15 (340 KB/s) - `sparc-linux-3.2.2-1.0.1.tar.bz2' saved [44235674]
$ tar xjf sparc-linux-3.2.2-1.0.1.tar.bz2 $ su Password: root# cp -R ./sparc-linux /opt root# exit exit $ export PATH=$PATH:/opt/sparc-linux/bin