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 TechnikNTB, 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 SciencesOST, 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