This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
crosscompiler:start [2015/03/13 15:06] – external edit 127.0.0.1 | crosscompiler:start [2018/08/20 13:03] – mgehrig2 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <WRAP blindtable 100%> | + | ====== |
- | <WRAP blindcell 60%> | + | |
- | ====== | + | |
- | + | ||
- | deep is a Cross Development Platform for Java developed at the [[http:// | + | |
- | * Crosscompiler (to translate Java bytecode into machine code, "Java on the metal" | + | <box right red 40% | IMPORTANT Limitations> |
- | * Eclipse plugin (for the integration into Eclipse) | + | Currently our compiler has the following limitations: |
- | * Runtime System (operating system, device drivers and system libraries for the target) | + | * Arrays |
- | + | * Array size in any dimension must not exceed 2<sup>16</sup> bytes. | |
- | ===== Overview ===== | + | |
- | 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. | + | |
- | + | ||
- | ==== Translation of bytecode into machine code ==== | + | |
- | 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. | + | |
- | + | ||
- | ==== Components ==== | + | |
- | Various components add functionality | + | |
- | * class file browser | + | |
- | * target configuration parser | + | |
- | * debugger | + | |
- | + | ||
- | </WRAP> | + | |
- | + | ||
- | <WRAP blindcell 38%> | + | |
- | + | ||
- | ==== News ==== | + | |
- | <box right 100% | 2015.03.10: New Website> | + | |
- | Today we've launched our new [[http:// | + | |
</ | </ | ||
- | <box right 100% | 2014.12.16: \\ Version 1.2.1 released> | + | A Java compiler converts a Java file into Bytecode which is stored in a class file. A class file represents the original program in a compact binary form and could be interpreted by a JVM. Our deep compiler translates this Bytecode directly into target machine code. To optimize for speed and code size and to make use of register based architecture |
- | Version 1.2.1 is now available. Booting from Flash fixed now and RN131WiFfly-Driver adopted | + | |
- | </ | + | |
- | <box right 100% | 2014.12.02: New version control> | + | * [[Deep Projects]] \\ |
- | We moved our git repositories from SourceForge to [[https:// | + | |
- | </ | + | * [[Lowlevel|Low-level Routines]] |
- | + | * [[Donts| Do' | |
- | <box right 100% | 2014.07.21: | + | |
- | Version 1.2 of the deep compiler | + | |
- | </ | + | |
- | </ | ||
- | </ |