Skip to main content

how to program an ARM microcontroller with java

1 reply [Last post]
Joined: 2008-11-15

sorry to ask so easy question.But i am a begginer.I want to know how can i program an ARM microcontroller with java.I need how should i install virtual machine.which IDE should i use.and how can i find out what classes a special ARM micro support.
I would be really pleased if anybody could help me.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2003-06-15

Well your options depend on the ARM system, and what you are wanting to do with it.
If you have an ARM 9 process that has the Jazelle support in it, then you have to have special compilers/converters that package the application to run in the system. On such item was the jemblazer But I don't know if that ever took off.

Then there is the potential of loading up your own vm onto the system if it is something like a gumstix (albeit a xscale chip) , or similar embedded computer. There is the phoneME here at the mobile and embedded project, as well as 3rd party JamVM. There are a few other 3rd party VMs but JamVM seems to have the widest support and success, and from my experiences the one easiest to get working on a linux OS.
More information can be found in this thread:

So there are a couple configurations you will need to think about, like does the chip run an OS such as linux, or do you want the bytecode to be the OS of sorts (like in the sentilla devices)
Do you want the application to be realtime, and fault tolerant, or is something that can have be monitored and restarted usable for your needs.

As for IDE's that is dependent on the device configuration. Sentilla has a special IDE however it is a special config of exclipse which is nice. While standard jvms loaded onto something like a gumstix can be built on any ide and packaged with normal jar command.

IMHO embedded controllers is not an easy area to jump into, unless you have some initial electronics knowledge, and computer electronics design. There are things such as watchdog timers and the IO ports which can cause confusion as to why data isn't written out correctly. Not to mention the Big-Endian Little-Endian issues when moving files about and reading dumps.

But best of luck on your project.