Skip to main content

Where do I start: Java Programming for ARM?

15 replies [Last post]
bandeg
Offline
Joined: 2007-05-29
Points: 0

Hello:

I am interested in programming Java on an ARM9 running linux.
How do I begin?
Is there a J2ME JDK for ARM9? (Or a J2SE?) / linux.
How about a JIT or AOT compiler?
Can I use Netbeans?
Are there licensing issues?

This processor is Jazelle capable. What do I need to do to enable Jazelle? I have heard that I may want to license an OS that has Jazelle support. What embedded LInux OS has Jazelle support?

Thanks,

B

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
lotus85
Offline
Joined: 2009-11-23
Points: 0

terrancebarr,

i'm still confused about this. my actual problems is:

i have developed an application using java which has user interface. the question is how to deploy this application into UP-ARMNET2410-S Linux board? this is because when i type "java -version" its tell me that no java installed in this board. so what kind of jvm is suitable with this board? im trying JamVM before this but i got too much errors. can u please guide me about this problem?

thank you very much...

sorry for double posts...

Message was edited by: lotus85

rzr
Offline
Joined: 2005-01-25
Points: 0

what system is running on your board ? does it support debian or any distro ?
if yes just install the package

lotus85
Offline
Joined: 2009-11-23
Points: 0

this board has redhat with kernel 2.4.18-rmk7-pxa1...you can check others spec at [url]http://www.made-in-china.com/showroom/beijingbochuang/product-detaileqfmovLYOARh/China-Up-Netarm-2410-S-.html[/url]

so what kind of jvm suitable for this board?

terrencebarr
Offline
Joined: 2004-03-04
Points: 0

lotus85,

When you boot your board with redhat, can you start the redhat package manager and check the package repository on the network to see if a Java runtime package already exists? That would be the easiest way.

-- Terrence

lotus85
Offline
Joined: 2009-11-23
Points: 0

- What is the UI toolkit model on your Linux platform? Is it Qt/Embedded, GTK, or something else? <<<<<
i'm still not clear here...because i'm new about this.
what is the UI model on your Linux platform? if it's a Qt/Embedded, so it's mean i should use JIT compiler???

Message was edited by: lotus85

Message was edited by: lotus85

terrencebarr
Offline
Joined: 2004-03-04
Points: 0

Hi,

One of the key features of Java is that is it platform-independent so from an application developer perspective the processor of the board is irrelevant. You can develop your application in Wireless Toolkit (WTK) for CLDC or for CDC, depending on the Java stack your board will be running.

For tools information and getting started see:

https://meapplicationdevelopers.dev.java.net/getting_started.html

Hope this helps,

-- Terrence

lotus85
Offline
Joined: 2009-11-23
Points: 0

terrancebarr,

i'm still confused about this. my actual problems is:

i have developed an application using java which has user interface. the question is how to deploy this application into UP-ARMNET2410-S Linux board? this is because when i type "java -version" its tell me that no java installed in this board. so what kind of jvm is suitable with this board? im trying JamVM before this but i got too much errors. can u please guide me about this problem?

thank you very much...

terrencebarr
Offline
Joined: 2004-03-04
Points: 0

Ah, ok, that should be fairly easy. You want "phoneME Advanced MR2", which is the Milestone Release 2 of our CDC-based stack. See:

https://phoneme.dev.java.net/content/phoneme_platforms.html#phonemeadvanced

It's been a while since I built phoneME Advanced myself so I am not up to date with the latest procedures. You should dowload the code and use the "Getting Started Guide" to start the build. You should also check the wiki for further build tips:

http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvanced

Finally, you can ask specific questions on our phoneME Advanced forum which is monitored by our developers:

http://forums.java.net/jive/category.jspa?categoryID=56

Good luck!

-- Terrence

choudharynarendra
Offline
Joined: 2007-08-06
Points: 0

Where do i start java programming on the ARM926EJS processor is JTEK is have buy or what else i have require to start progrmming in this?

I am new to the embedded java field i am a purely application guy ?
Thanks in advance. I have to design the sample application in the iMX.27 board.

terrencebarr
Offline
Joined: 2004-03-04
Points: 0

Ok, that helps. A couple more questions:

- What Java ME stack do you need? CLDC/MIDP or CDC/PP/PBP? CLDC//MIDP is what has by far the most market relevance since almost all mobile phones these days run it. CDC/PP/PBP is designed for set-top boxes and advanced smart phones.

- What is the UI toolkit model on your Linux platform? Is it Qt/Embedded, GTK, or something else?

In general, porting the VM including JIT compiler for an ARM9 Linux platform is quite straightforward. For the CLDC/MIDP stack it is a matter of days. However, support for the UI model, graphics, I/O, storage and other features is more involved since it touches many platform-specific aspects.

-- Terrence

bandeg
Offline
Joined: 2007-05-29
Points: 0

CDC/FP with options (RMI, JDBC, security and Web Services)

For starters, no user interface. (We may need to support a user interface later. I'm not sure about the UI toolkit available).

Thanks again for all of your assistance.

--B

terrencebarr
Offline
Joined: 2004-03-04
Points: 0

What is your target platform? Does it have a Java ME stack already? If yes, you can simply develop a standard Java ME application and run it on the platform. If the platform has no Java ME stack yet then you would need to build and/or port phoneME to that platform but that is not a trivial task and depends heavily on the target platform.

I am still not sure exactly what your situation is. Could you give me some more details?

Thanks,

-- Terrence

bandeg
Offline
Joined: 2007-05-29
Points: 0

Okay.. The chip is a Freescale i.mx27. (very similar to i.mx21)
It has a ARM926EJ-S onboard. The board design will be ours, but based on their reference board. (The BSP has a linux redhat 2.6.)

Would it be up to us to port the Java ME 'stack' in this case. What actually needs to be ported, the JVM, JRE, JIT or AOT compilers etc?

terrencebarr
Offline
Joined: 2004-03-04
Points: 0

Hi,

There are a couple of things here:

Java ME application development is independent of the platform so you won't be writing to "ARM9 on Linux". You'll be developing a Java ME application and one of the best tools is NetBeans with Mobility pack. See the ME Application Developer project (https://meapplicationdevelopers.dev.java.net/) and the Getting Started page (https://meapplicationdevelopers.dev.java.net/getting_started.html).

Once you've developed your Java ME app you will want to deploy it to a device. The device contains a Java ME platform implementation such as phoneME Feature (https://phoneme.dev.java.net/) which is available for multiple operating systems and procesors, among them ARM9/Linux/Jazelle. However, your application will not be aware of the specifics of the underlying implementation. That is one of the key benefits of Java. You will be able to deploy your application to billions of devices without worrying too much about the specifics of the platform.

As for licensing: There are no license issues for developing and deploying Java ME applications. If you are interested in using the "Java Powered" logo and brand you will have to submit your application for testing through the Java Verified program (http://www.javaverified.com).

Let me know if that helps.

-- Terrence

bandeg
Offline
Joined: 2007-05-29
Points: 0

Thanks.

I am interested in getting simple application work on an ARM926 platform. The "getting started" mentions how to build for an ARM target, but don't I need a virtual machine? Where can I find a compatible virtual machine for this target?