Development

From RCSWiki

Jump to: navigation, search

There are a lot of practical issues to deal with to get a working RTR-JVM system up and running. Starting with the applications, you need to have a set of desired Java applications. Since this is a research project, our applications are representative benchmarks -- your application may be different. Next, you'll need to be able to run the scripts that extract and generate hardware features. Also, you will need to be able to cross-compile the Kaffe Java Virtual Machine (JVM) for the PowerPC 405 processor. Following that, you will need to be able to build a Linux kernel for the Base System Platform (BSP). Of course, to build the kernel for the BSP, you have to define what the BSP is. Finally, we have to design the BSP such that the device is divided into the static and dynamic partitions. The static partition, for us, includes all of the bus structures and standard PC I/O components. The dynamic partition(s) (typically one to four slots) are designed to be actively reconfigured.

In reverse order, we describe how to accomplish each of these steps.

  1. EDK and MD -- how to use EDK to build a BSP that uses Modular Design (Modular Design allows us to specify dynamic slots, a step towards active partial reconfiguration)
  2. Linux2.4 -- now that we have a BSP, the next step is build Linux for this platform; Linux 2.6 is coming later
  3. Kaffe -- the primary application our kernel will be running is the Kaffe JVM; compiling it (let alone cross-compiling it) can be tricky -- this link shows you how
  4. Scripts -- we do not convert the entire Java application into hardware, rather we use a set of BCEL scripts and the Forge compiler to generate potential hardware features that are selected at run-time
  5. Benchmarks -- at the highest level, we are using benchmarks to evaluate our system; follow this link to learn more about the benchmarks we use to evaluate our system


Tutorials for Beginners
Joining the Mailing List

Personal tools