deep

a Cross Development Platform for Java

User Tools

Site Tools


runtime_library:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
runtime_library:start [2015/03/13 15:06] – external edit 127.0.0.1runtime_library:start [2015/04/19 07:25] ursgraf
Line 1: Line 1:
-<WRAP blindtable 100%> +====== Runtime Library ====== 
-<WRAP blindcell 60%> +The runtime library offers all the necessary classes such as system classes and multitude of drivers to run your application on the target system. The Java standard library is very powerful and rich. However, as our target compiler puts its focus on efficiency we do not want to support the full library. Some of the base classes, notably ''java/lang/String'', is implemented much more efficient than in the standard library. This leads to a very small memory footprint.   
-====== deep ====== +  * [[.:drivers:start|Device Drivers]] 
-    +  * [[.:os:start|Operating System]] 
-deep is Cross Development Platform for Java developed at the [[http://inf.ntb.ch NTB]]. It consists of the following modules:+  * [[.:exceptions:start|Exceptions and Errors]] 
 +  * [[.:using_serial_out:start|Using Serial Out]]
  
-  * Crosscompiler (to translate Java bytecode into machine code, "Java on the metal") 
-  * Eclipse plugin (for the integration into Eclipse) 
-  * Runtime System (operating system, device drivers and system libraries for the target) 
- 
-===== 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 to deep. 
-  * 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://deepjava.org | project website]].  
-</box> 
- 
-<box right 100% | 2014.12.16: \\ Version 1.2.1 released> 
-Version 1.2.1 is now available. Booting from Flash fixed now and RN131WiFfly-Driver adopted to new Firmware-Version (4.0) of the RN131WiFly Modules. 
-</box> 
- 
-<box right 100% | 2014.12.02: New version control> 
-We moved our git repositories from SourceForge to [[https://github.com/deepjava | GitHub]] for making it easy to fork our code. 
-</box> 
- 
-<box right 100% | 2014.07.21: \\ Version 1.2 released> 
-Version 1.2 of the deep compiler and the runtime library is available now. This release introduces support for Java exceptions as new feature. 
-</box> 
- 
-</WRAP> 
- 
-</WRAP> 
runtime_library/start.txt · Last modified: 2017/10/03 17:35 by ursgraf