deep is a Cross Development Platform for Java developed at the NTB. It consists of the following modules:
deep has a modular design and can be integrated into different development frameworks. Currently deep can be run standalone or can be used in eclipse as a plugin. deep produces code for PowerPC processors. We support hardware plattforms with the mpc555 and mpc5200 processors.
We use eclipse and the Java Sun compiler to translate the original source into an intermediate form, which is called bytecode and is stored in class files.
Starting with one or several root classes we translate this classes together with any imported library classes into a single executable target file. The instruction in this target file are native machine instructions.
From the bytecode we start by constructing the control flow graph (CFG). Subsequently a still machine independent intermidiate form is built: the SSA (single static assignment). The CFG and SSA allow for various optimizations and are the base for the register allocation algorith and finally the code generation.
Various components add functionality to deep.
2017.11.06: New Task View in Eclipse
2017.10.20: First Version of Codegenerator for ARM
2015.12.17: Version 1.3.2 released
2015.11.05: Version 1.3.1 released
2015.05.20: Version 1.2.4 released