Java

m ({{Template:Out of date}})
(stub; rewritten for N900/Maemo 5)
Line 1: Line 1:
-
{{Midgard article}}
+
This page is about the Java programming language and Java Virtual Machine.
-
{{Template:Out of date}}
+
-
This page is about the Java programming language and Java Virtual Machine on the Nokia 770.
+
There is no official Java ME or Java SE from SUN as of yet. Nokia does not plan support because Nokia already supports 2 development platforms: either GTK (Maemo 5) or Qt (Maemo 6) as well as WRT (Web Run Time).
-
Thre is no official J2ME or J2SE for the Nokia 770 as of yet.
+
The Nokia 770, N800, N810 CPUs have a proprietary extension called Jazelle which accelerates Java execution however this is technology requires a license. Nokia has not opted for such license hence there is no driver for this. For more information about Jazelle please see [http://en.wikipedia.org/wiki/Jazelle the Jazelle entry at Wikipedia].
-
The Nokia 770's ARM CPU does have a proprietary extenstion called Jazelle that provides two key capabilities for accelerated execution of Java applications.
+
Nokia N900 contains succesor of Jazelle found on ARMv7, called ThumbEE. This is more general JIT; not JVM-specific. Hardware support (driver) of ThumbEE is unknown.
-
These are:
+
* [http://java.sun.com/javase/downloads/embedded.jsp Java SE for embedded 6]
-
 
+
** ARMv6 Linux - Headless (Early Access) EABI, glibc 2.5, Soft Float, Little Endian
-
* Jazelle DBX (Direct Bytecode eXecution) technology for direct bytecode execution of Java bytecode instructions
+
** ARMv6 Linux - Headless (Early Access) EABI, glibc 2.5, Hard Float (VFP), Little Endian
-
* Jazelle RCT (Runtime Compilation Target) for JIT compilation of Java bytecode instructions to ARM native instructions.
+
** ARMv6 Linux - Headful (Early Access), EABI, glibc 2.5, Hard Float (VFP), Little Endian
-
 
+
** ARMv5 Linux - Headless (Early Access), EABI, glibc 2.5, Soft Float, Little Endian
-
Use of the Jazelle features is "locked" unless a vendor licenses the ARM Jazelle Technology Enabling Kit (JTEK). It's not clear whether Nokia has chosen to license the JTEK for use with the Nokia 770. While it would be highly desirable for a Jazelle-enhanced JVM to be available for the Nokia 770, it is not necessary to use this technology in order to create a JVM for the 770.
+
** ARMv5 Linux - Headful (Early Access), EABI, glibc 2.5, Soft Float, Little Endian)
-
 
+
* OpenJDK 6 JRE is ported to Debian GNU/Linux ARMEL therefore should work.
-
For example, it should be feasible to get good results by porting one of the existing open source JVMs to the 770:
+
* [https://wiki.evolvis.org/jalimo Jalimo], aims for Java SE compliance with pre-SUN_Java_GPLed_code, previously ported to Maemo.
-
 
+
* [http://www.microemu.org/maemo/ MicroEmu], Java ME emulator written in Java SE previously ported to Maemo
-
* Luis Montes is in the process of porting [http://kaffe.org/ kaffe] to maemo. (Where can further information be found?)
+
* [https://phoneme.dev.java.net/ phoneME], Java ME emulator written in C previously ported to Maemo.
-
* [http://jamvm.sourceforge.net/ JamVM] has been ported to maemo - here are [http://gilles.frattini.free.fr/wordpress/index.php?p=3 the packages].
+
* Qt Jambi provides Java bindings for Qt. Swing native supported by headful Java versions.
-
** There is a howto describing [http://www.microemu.org/maemo/ building and running a java app on 770 with JamVM].
+
* For Java support in Maemo Browser a plugin is required. (References to be written.)
-
* [http://www.internettablettalk.com/forums/showthread.php?t=2896&page=2#12 Discussion on Internet Tablet Talk] on installing and using JamVM, Classpath or Jikes
+
-
* Interesting mailing list threads:
+
-
** http://www.gossamer-threads.com/lists/maemo/developers/12377
+
-
* Java Phone ME for 770
+
-
** Binaries built by Johannes Eickhold: http://i30www.ira.uka.de/p2p/ambicomp/phoneME_Nokia770/
+
-
** Forum thread: http://forums.java.net/jive/thread.jspa?threadID=20835&tstart=15
+
-
** Build instructions: http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatformsNokia770
+
-
* [http://www.jalimo.org JaLiMo] is a Java-like environment for mobile Linux devices
+
[[Category:Development]]
[[Category:Development]]
-
[[Category:Midgard wiki]]
 

Revision as of 00:44, 17 October 2009

This page is about the Java programming language and Java Virtual Machine.

There is no official Java ME or Java SE from SUN as of yet. Nokia does not plan support because Nokia already supports 2 development platforms: either GTK (Maemo 5) or Qt (Maemo 6) as well as WRT (Web Run Time).

The Nokia 770, N800, N810 CPUs have a proprietary extension called Jazelle which accelerates Java execution however this is technology requires a license. Nokia has not opted for such license hence there is no driver for this. For more information about Jazelle please see the Jazelle entry at Wikipedia.

Nokia N900 contains succesor of Jazelle found on ARMv7, called ThumbEE. This is more general JIT; not JVM-specific. Hardware support (driver) of ThumbEE is unknown.

  • Java SE for embedded 6
    • ARMv6 Linux - Headless (Early Access) EABI, glibc 2.5, Soft Float, Little Endian
    • ARMv6 Linux - Headless (Early Access) EABI, glibc 2.5, Hard Float (VFP), Little Endian
    • ARMv6 Linux - Headful (Early Access), EABI, glibc 2.5, Hard Float (VFP), Little Endian
    • ARMv5 Linux - Headless (Early Access), EABI, glibc 2.5, Soft Float, Little Endian
    • ARMv5 Linux - Headful (Early Access), EABI, glibc 2.5, Soft Float, Little Endian)
  • OpenJDK 6 JRE is ported to Debian GNU/Linux ARMEL therefore should work.
  • Jalimo, aims for Java SE compliance with pre-SUN_Java_GPLed_code, previously ported to Maemo.
  • MicroEmu, Java ME emulator written in Java SE previously ported to Maemo
  • phoneME, Java ME emulator written in C previously ported to Maemo.
  • Qt Jambi provides Java bindings for Qt. Swing native supported by headful Java versions.
  • For Java support in Maemo Browser a plugin is required. (References to be written.)
Retrieved from "http://wiki.maemo.org/Java"