Getting started with MicroBlaze uClinux
Legal stuff
- No warranty is offered or implied. If you blow up your hardware,
it's not my fault.
- The MicroBlaze uClinux port is released under the GPL.
Mailing list
Details of the publicly accessible mailing list for the MicroBlaze uClinux
project are found here. If you want to get
involved, please join the list and start asking questions!
Introduction
The purpose of this document is to provide enough information to allow a
moderately experienced MicroBlaze developer/tinkerer to build, download and
execute the MicroBlaze port of the uClinux kernel.
The MicroBlaze port is far from complete, with several outstanding issues
before it can even be considered to be functional. Contributions are
welcome.
Development Environment
The first step is to obtain a working development environment and toolchain.
Hardware Platform
In this initial stage, the uClinux kernel is only configured to support one
hardware target, called mbvanilla. The use of a static hardware target for
reconfigurable computing may seem a little strange, but it was vital in nailing
down the core issues of the MicroBlaze port.
To get started quickly, you need to make this mbvanilla hardware platform and
get it into your Xilinx board. I am using the Insight/Memec P160
prototyping board. You will need to do some work to get it up and running
on a different board. It shouldn't be too much work, so if you want to do
this just get on the mailing list and I'll help you work it out.
mbvanilla
Download the latest mbvanilla hardware target from the website (this
page).
Building the Kernel
-
Login to the uClinux anonymous CVS server
$ cvs -d:pserver:anonymous@cvs.uclinux.org:/var/cvs login
Press enter when prompted for a password
- Decide where you want the uClinux distribution tree to live, say /opt
$ cd /opt
- Get the uClinux distribution environment, uClinux-dist. This can
take a while, there's over a hundred megabytes to download.
cvs -z3 -d:pserver:anonymous@cvs.uclinux.org:/var/cvs co uClinux-dist
- Get the uClinux-2.4.x source, and place it next to the uClinux-dist directory.
This too can take a while, though not as long as uClinux-dist.
$ cd /opt
$ cvs -z3 -d:pserver:anonymous@cvs.uclinux.org:/var/cvs co uClinux-2.4.x
- Download the latest patches from the
downloads page.
- Make a symbolic link mapping uClinux-2.4.x as uClinux-dist/linux-2.4.x
$ ln -s uClinux-2.4.x uClinux-dist/linux-2.4.x
- Apply any required patches:
- Launch the kernel configuration process
$ make menuconfig
The first time you run this it may take some time to build the kernel
configuration tools etc.
- Choose "Target Platform Selection", and make the following selections:
| (Insight/XC2V1K_MicroBlaze) |
Vendor/Product |
| (uClibc) |
LibC version |
| [*] |
Default all settings |
Select Exit, Exit, Yes, then press enter as required for the defaults
$ make dep
This may take some time. It should not report any errors.
- You are now ready to build the kernel image:
$ make
Again, this may take some time, depending on the speed of your build system.
If all goes well, you should end up with files called "image.bin"
and "image.elf" sitting in the
images directory.
- Build the mbvanilla hardware and download the mbvanilla bitstream to the
MicroBlaze
- Download and run the kernel image.
Last updated
31-May-2005
|