Skip to main content

Which JVM should I use on linux/arm926 platform?

19 replies [Last post]
feng_tian
Offline
Joined: 2007-09-20

We need a JVM on the linux/arm926ej-s(Atmel AT91SM9260 platform) platform, and the JVM must be based on CDC not CLDC.
Which JVM should I use, I found that PhoneMe Advanced suports this, but it doesn't declare that it can run on a linux/arm platform.
Does anyone have the experience in this area, thanks.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
lua2010
Offline
Joined: 2006-11-16

Hallo,

No, we have had up to now no problems with threading. Our web server application with approx. 15 threads works well.

Andreas

lua2010
Offline
Joined: 2006-11-16

Hi Feng,

i used the latest from the repository
https://phoneme.dev.java.net/svn/phoneme/components/cdc/trunk

i use my own build directory linux-arm-at91sam9260 with a GNUMakefile like the following

[i]JDK_VERSION = jdk1.4.2
JDK_HOME = /usr/java/j2sdk1.4.2_13
CVM_TARGET_TOOLS_PREFIX = /home/linux/kernel/buildroot/build_arm/staging_dir/usr/bin/arm-linux-
ASM_ARCH_FLAGS = -mcpu=arm926ej-s
CC_ARCH_FLAGS = -mcpu=arm926ej-s
CC_ARCH_FLAGS_FDLIB =
CC_ARCH_FLAGS_LOOP =
LINK_ARCH_FLAGS =
LINK_ARCH_LIBS =
include ../share/top.mk[/i]

My build options are:

[i]make CVM_JIT=true CVM_TRACE_JIT=true J2ME_CLASSLIB=foundation CVM_DEBUG_CLASSINFO=true CVM_JAVAC_DEBUG=true[/i]

hope this helps

Andreas

drwatts
Offline
Joined: 2007-11-29

Andreas,
We are currently using JAMVM and our application has about 18-22 threads. We're running into problems where the threads are not being suspended and managed properly. Does your experience with PhoneME Advanced make you think that threading is working well?
drr

rlougher
Offline
Joined: 2007-11-29

Hi,

Which version of JamVM are you using? Several problems with thread suspension and uClib was fixed in JamVM 1.5.0. If you've tried 1.5.0 and are still seeing problems please submit a bug report. If people don't report bugs I can't fix them!

Rob.

drwatts
Offline
Joined: 2007-11-29

We recently tried v1.5 but it made the problem worse. We're running osgi on JAM VM and build all threads through osgi bundles. We'll go ahead and submit a bug report, but I'm not yet sure this is a JAM VM problem. It may be an osgi problem or even be caused by our code.

drwatts
Offline
Joined: 2007-11-29

I wanted to follow up on this. Turns out the problem was our use of the fixedThreadPool in OSGI. When we switched to cachedThreadPool the problem went away, and by putting JAMVM v1.5 on the system it became much more responsive. Sorry for the misdirect.

feng_tian
Offline
Joined: 2007-09-20

Hey, I'm tring to build PhoneMe advanced now, and want't to run it on 9260EK board.
Which src bundle did you use?
Which build directory did you use, there are
/cdc/build/linux-arm-familia
/cdc/build/linux-arm-generic
/cdc/build/linux-arm-strongarm
/cdc/build/linux-arm-thumb
......
Which one should I use then, thanks

BR
Feng

cjplummer
Offline
Joined: 2006-10-16

Start with linux-arm-generic, but read through the comments in the GNUmakefile and see if there are any makefile variables you need to set. At the very least you'll need to set CVM_TARGET_TOOLS_PREFIX to point to your cross tools.

Chris

yyp226
Offline
Joined: 2005-08-09

I have some puzzle with phoneME and linux/arm , just our ARM need has Jazelle technique
, the phoneME will support ?

linuxhippy
Offline
Joined: 2004-01-07

> I have some puzzle with phoneME and linux/arm , just
> our ARM need has Jazelle technique
> , the phoneME will support ?

What, sorry but even if tried to understand your question its not really clear for me what you would like to know?!
But if you asked wether phoneME does support Jazelle if your arm has one, the answer is no - you have to buy a license.

lg Clemens

terrencebarr
Offline
Joined: 2004-03-04

Hi,

Sun can sell you a license for the Jazelle technology by ARM but it does cost money. You should first consider if you really need Jazelle support. In our experience Jazelle is only really beneficial in certain environments such as very limited memory availability and requirements for very short application start-up times. In most general cases the runtime optimizations (JIT, others) performed by the VM are sufficient or better than Jazelle.

I would suggest you do benchmarking without Jazelle support first to determine whether you really need Jazelle. If you want more information on Jazelle license I can establish that contact for you. Please contact me off-list at evangelist@mobileandembedded.org.

Thanks,

-- Terrence

feng_tian
Offline
Joined: 2007-09-20

Which one support the linux/arm platform better, MR1 or MR2. Does PhoneMe Advanced supports arm jazelle technology? Thanks.

cjplummer
Offline
Joined: 2006-10-16

I would say MR2 supports linux/arm better, because we've made some device support improvements based on feedback from the OSS community. These are mostly just minor things like fixing build problems that might turn up on various platforms, but greatly reduce the chances of you running into some sort of device specific build or runtime problem. However, MR1 was fully tested (but only on a Zaurus), and MR2 has had many changes go into it with only minimal testing.

If you want Jazelle support you'll need to talk to our Engineering Services organization since there are legal issues with supplying Jazelle support in OSS.

Chris

feng_tian
Offline
Joined: 2007-09-20

Ok, thanks.
If I want to get support about Jazelle, do I need to pay royalty?
BTW, how can I get in touch with Your Engineering Services organization.

lua2010
Offline
Joined: 2006-11-16

recently, I have switched to the AT91SM9260 platform (from EP9302). A first, short test (bin/cvm -cp testclasses.zip Test) of the CDC-Foundation Profile ran successfully. On my EP9302 board PhonemeAdvanced runs perfectly.

Andreas

feng_tian
Offline
Joined: 2007-09-20

Wow, cool. That's exactly what we are working on. I think we can share some experiences on this. Our platform is gonna support bluetooth, gps, etc.
Thank you very much.

cjplummer
Offline
Joined: 2006-10-16

MR2 will run on linux/ARM. I think what that page is referring to is that for MR2 most testing effort was on linux/x86, but the code continues to run on linux/ARM.

Chris

mlam
Offline
Joined: 2006-10-13

PhoneME Advanced is exactly what you want. It does run on linux/ARM platforms. Depending on your board/OS configuration you may need to change some settings for endianness, ABI, etc. to suit your board if its configuration does not match the default. Other than that, it should just work. -- Mark

feng_tian
Offline
Joined: 2007-09-20

Thank you very much, but I found that PhoneMe Advanced MR2 doesn't support Linux/Arm
according to platform info. in https://phoneme.dev.java.net/content/phoneme_advanced_r2.html
I think I should use MR1, right?
We also have a bluetooth device, does MR1 also supports this?
Thanks In advance.