Raspberry Pi and Java SE: A Platform for the Masses
By Jim Connors-Oracle on Oct 09, 2012
One of the more exciting developments in the embedded systems world has been the announcement and availability of the Raspberry Pi, a very capable computer that is no bigger than a credit card. At $35 US, initial demand for the device was so significant, that very long back orders quickly ensued. After months of patiently waiting, mine finally arrived.
Those initial growing pains appear to have been fixed, so availability now should be much more reasonable. At a very high level, here are some of the important specs:
- Broadcom BCM2835 System on a chip (SoC)
- ARM1176JZFS, with floating point, running at 700MHz
- Videocore 4 GPU capable of BluRay quality playback
- 256Mb RAM
- 2 USB ports and Ethernet
- Boots from SD card
- Linux distributions (e.g. Debian) available
So what's taking place taking place with respect to the Java platform and Raspberry Pi?
- A Java SE Embedded binary suitable for the Raspberry Pi is available for download (Arm v6/7) here. Note, this is based on the armel architecture, a variety of Arm designed to support floating point through a compatibility library that operates on more platforms, but can hamper performance. In order to use this Java SE binary, select the available Debian distribution for your Raspberry Pi.
- The more recent Raspbian distribution is based on the armhf (hard float) architecture, which provides for more efficient hardware-based floating point operations. However armhf is not binary compatible with armel. As of the writing of this blog, Java SE Embedded binaries are not yet publicly available for the armhf-based Raspbian distro, but as mentioned in Henrik Stahl's blog, an armhf release is in the works.
- As demonstrated at the just-completed JavaOne 2012 San Francisco event, the graphics processing unit inside the Raspberry Pi is very capable indeed, and makes for an excellent candidate for JavaFX. As such, plans also call for a Pi-optimized version of JavaFX in a future release too.