This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| crosscompiler:hardware [2015/03/17 07:43] – ursgraf | crosscompiler: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 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 |
| By using '' | By using '' | ||
| * read from absolute memory locations (1, 2, 4, 8 bytes) | * read from absolute memory locations (1, 2, 4, 8 bytes) | ||
| * write to absolute memory locations (1, 2, 4, 8 bytes) | * write to absolute memory locations (1, 2, 4, 8 bytes) | ||
| * test a bit at an absolute memory location | * test a bit at an absolute memory location | ||
| - | | + | * directly insert machine code |
| - | | + | |
| * get the address of a static method at compile time | * get the address of a static method at compile time | ||
| + | * get the address of a object | ||
| + | |||
| + | Depending on the processor architecture there are some more unsafe capabilities. | ||
| + | ==== On the PowerPC platform ==== | ||
| + | '' | ||
| + | * read and write directly to machine registers (GPRs, FPRs, SPRs) | ||
| + | * enable the use of floats for exception routines | ||
| + | |||
| + | ==== On the ARM platform ==== | ||
| + | '' | ||
| + | * 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: | + | The API of US can be found under: |