deep

a Cross Development Platform for Java

User Tools

Site Tools


crosscompiler:hardware

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
crosscompiler:hardware [2018/11/06 11:15] ursgrafcrosscompiler:hardware [2020/12/10 15:29] (current) ursgraf
Line 1: Line 1:
 ====== Accessing the Hardware ====== ====== Accessing the Hardware ======
  
-Java was developed as a save language. It does not allow direct access and manipulation of absolute memory locations. Nevertheless this is essential for embedded programming. We therefore include this possibility by the use a special Java class ''US.java'' (US stand for //unsafe//). Wenn methods of this class are used the code generator inserts machine code accordingly.\\+Java was developed as a safe language. It does not allow direct access and manipulation of absolute memory locations. Nevertheless this is essential for embedded programming. We therefore include this possibility by the use a special java class ''org.deepjava.unsafe.US'' (US stand for //unsafe//). Wenn methods of this class are used the code generator inserts machine code accordingly.\\
 By using ''US.java'' you can By using ''US.java'' you can
   * read from absolute memory locations (1, 2, 4, 8 bytes)   * read from absolute memory locations (1, 2, 4, 8 bytes)
Line 10: Line 10:
   * get the address of a object   * get the address of a object
  
-* read and write directly to machine registers (GPRs, FPRs, SPRs)+Depending on the processor architecture there are some more unsafe capabilities. 
 +==== On the PowerPC platform ==== 
 +''org.deepjava.unsafe.ppc.US'' implements 
 +  * read and write directly to machine registers (GPRs, FPRs, SPRs) 
 +  * enable the use of floats for exception routines 
  
 +==== On the ARM platform ====
 +''org.deepjava.unsafe.arm.US'' implements
 +  * read and write directly to machine registers (GPRs, EXTRs, CPRs)
   * enable the use of floats for exception routines    * enable the use of floats for exception routines 
  
-The API of US.java can be found under:  [[http://api.deepjava.org/runtime-library/ch/ntb/inf/deep/unsafe/US.html|API US.java]]+The API of US can be found under:  [[http://api.deepjava.org/runtime-library/org/deepjava/unsafe/US.html|API US]], [[http://api.deepjava.org/runtime-library/org/deepjava/unsafe/ppc/US.html|API US PPC]], [[http://api.deepjava.org/runtime-library/org/deepjava/unsafe/arm/US.html|API US ARM]]
crosscompiler/hardware.1541499336.txt.gz · Last modified: 2018/11/06 11:15 by ursgraf