I am working on ARM processor and I want to develop the SPI device drivers with JAVA. I am trying to search the cross compiler of Java and try to embed the java binary file on the ARM flash memory to talk with the Hardware.
Do you have any idea about the Java Device Drivers and Cross Compiler for ARM processor?
Your question confuses me somewhat because Java doesn't need cross-compilers because it doesn't produce platform-specific binaries. So I'm not sure if you have a specific Java or Java-like execution execution environment in mind. First you will need a JVM for the ARM processor. There are a number of Java(-like) implementations for ARM including Sun's embedded SE versions:
and I think a port of the OpenJDK is also in progress, but I don't know what stage it is at.
The only real-time VM I'm aware of for ARM is Aicas' JamaicaVM. You'll need to contact them for details on what you can and cannot do in Java source/byte code on their system.
In general Java can not be used to build device-drivers as these typically form part of the Operating System. Even in the RTSJ the support for doing this is limited. If the device is accessed purely via shared-memory then the RTSJ RawMemoryAccess class may be used to interact with it; however if the device generates interrupts then you would still need a way to communicate to the JVM that the interrupt has occurred (or else poll for the interrupt from within the VM).
But specialized Java(-like) environments may provide additional direct support for this.