deep

a Cross Development Platform for Java

User Tools

Site Tools


start

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2018/02/28 14:27] ursgrafstart [2022/12/21 12:02] (current) ursgraf
Line 1: Line 1:
-<WRAP group> 
-<WRAP half column 55%> 
 ====== deep ====== ====== deep ======
        
-deep is a Cross Development Platform for Java developed at the [[http://inf.ntb.ch | NTB]]. It consists of the following modules:+<WRAP group> 
 +<WRAP half column 55%> 
 + 
 +deep is a Cross Development Platform for Java developed at the [[https://www.ost.ch/de/forschung-und-dienstleistungen/technik/systemtechnik/inf/ | INF Institut für Ingenieurinformatik]] of the [[https://www.ost.ch/en/|Eastern Switzerland University of Applied Sciences]]. It consists of the following modules:
  
   * Crosscompiler (to translate Java bytecode into machine code, "Java on the metal")   * Crosscompiler (to translate Java bytecode into machine code, "Java on the metal")
Line 10: Line 11:
  
 ===== Overview ===== ===== 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. +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 and ARM processors. We support hardware plattforms with the mpc555mpc5200, iMX6, and Zynq7000 processors. 
  
 ==== Translation of bytecode into machine code ==== ==== 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.  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.\\ 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.+From the bytecode we start by constructing the control flow graph (CFG). Subsequently a still machine independent intermediate form is built: the SSA (single static assignment). The CFG and SSA allow for various optimizations and are the base for the register allocation algorithm and finally the code generation.
  
 ==== Components ==== ==== Components ====
Line 22: Line 23:
   * target configuration parser   * target configuration parser
   * debugger   * debugger
 +
 +==== Supported Microarchitectures ====
 +Deep currently supports the PowerPC and the ARMv7 microarchitectures.
 +
 +
 </WRAP> </WRAP>
  
 <WRAP half column 38%> <WRAP half column 38%>
-==== News ====+==== Open-Source ==== 
 +deep is open-source and hosted on [[http://github.com/deepjava]]
  
-<box right 100% | 2017.11.06: New Task View in Eclipse> +---- 
-A new view allows for displaying information about running tasks.</box>+ 
 +==== News ====
  
-<box right 100% | 2017.10.20First Version of Codegenerator for ARM+<box right 100% | 2022.12.21New release 2.2.1
-deep can emit ARM instructions (with reduced scope).</box>+OpenOCD is now fully integrated.</box>
  
-<box right 100% | 2015.12.17Version 1.3.2 released+<box right 100% | 2021.12.23MicroZed boot from SD card
-Version 1.3.2 of deep is now available with an improved RN131 driver for the MPC555.</box>+Booting from SD card is now supported.</box>
  
-<box right 100% | 2015.11.05Version 1.3.1 released+<box right 100% | 2020.9.15MicroZed board support
-Version 1.3.1 of deep is now released. It comes with an improved runtime-library and supports now libusbx to download to the MPC555 over USB3.0 ports.</box>+The ARM based Zybo and MicroZed boards are now fully supported.</box>
  
-<box right 100% | 2015.05.20Version 1.2.4 released+<box right 100% | 2019.2.1New debugging format
-Version 1.2.4 of deep is now available with improved Javadoc in our runtime-library and bugfixes in some drivers. +DWARF inserted in ELF-file allows debugging with gdb.</box>
-</box>+
  
 ---- ----
start.1519824457.txt.gz · Last modified: 2018/02/28 14:27 by ursgraf