deep

a Cross Development Platform for Java

User Tools

Site Tools


dev: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
dev:start [2017/03/20 09:58] – sfinkdev:start [2022/12/20 11:30] (current) – ursgraf
Line 2: Line 2:
 <WRAP half column 58%> <WRAP half column 58%>
 ====== Project deep ====== ====== Project deep ======
-Under the name of **deep** a new cross development platform for Java was created. The project was initiated and is maintained by the Institut for Computer Science at the Fachhochschule für Technik, NTB, Buchs, Switzerland. +Under the name of **deep** a cross development platform for Java was created. The project was initiated and is maintained by the Institut for Computer Science at the Eastern Switzerland University of Applied Sciences, OST, Buchs, Switzerland. 
  
 ===== Goals ===== ===== Goals =====
Line 29: Line 29:
   * [[.:file_formats]|File Formats]]   * [[.:file_formats]|File Formats]]
   * [[.:HString|HStrings (String-Handling in the Compiler)]]   * [[.:HString|HStrings (String-Handling in the Compiler)]]
 +  * [[openocd:start|OpenOCD]]
 +  * [[.:Zynq7000PL]|PL Configuration on the Zynq7000]]
 </box> </box>
 </WRAP> </WRAP>
Line 38: Line 40:
  
 ===== Crosscompiler ===== ===== Crosscompiler =====
-Our **deep** compiler translates Bytecode into machine code for a certain processor. To optimize for speed and code size and to make use of register based architecture - such as PPC - we transform the Bytecode in a first step into [[.:CrossCompiler:SSA|Static Single Assignment Form, SSA]]. This form is simple and platform independent and can be used for various optimizations. In a second step, which is platform specific, registers are allocated and code is generated. +Our **deep** compiler translates Bytecode into machine code for a certain processor. To optimize for speed and code size and to make use of register based architecture - such as PPC or ARM - we transform the Bytecode in a first step into [[.:CrossCompiler:SSA|Static Single Assignment Form, SSA]]. This form is simple and platform independent and can be used for various optimizations. In a second step, which is platform specific, registers are allocated and code is generated. 
  
 ==== Frontend ==== ==== Frontend ====
Line 45: Line 47:
 ==== Backend ==== ==== Backend ====
 For each supported architecture a specific backend is necessary. As a first step, registers are assigned for all SSA instruction results. After this machine instructions can be issued for the target. Finally the linker combines everything into a executable target image.\\ For each supported architecture a specific backend is necessary. As a first step, registers are assigned for all SSA instruction results. After this machine instructions can be issued for the target. Finally the linker combines everything into a executable target image.\\
-Currently, PowerPC code can be generated. As target processors we use mpc555 and mpc5200. +Currently, PowerPC and ARMv7 code can be generated. As target processors we use mpc555 and mpc5200 for PowerPC and the Zynq-7000 with a dual core ARM Cortex-A9 processor as an ARM target. 
  
 ===== Further Components ===== ===== Further Components =====
Line 67: Line 69:
 ---- ----
 ==== Internal Developer Documentation ==== ==== Internal Developer Documentation ====
-The internal documentation for maintainers can be found  [[http://wiki.ntb.ch/collaboration/deep/start|here]].+The internal documentation for maintainers can be found  [[http://wiki.bu.ost.ch/collaboration/deep/start|here]].
  
dev/start.1490000299.txt.gz · Last modified: 2017/03/20 09:58 by sfink