Java ME 8.1 on 256KB RAM

| by Bienvenido David Follow 0 Followers on Oct 27, 2014. Estimated reading time: 1 minute |

Oracle has released Java ME Embedded 8.1 Early Access #3, which supports the Freescale FRDM-K64F board running the mbed RTOS (real-time operating system). The Freescale FRDM-K64F is an ultra-low-cost hardware and development platform which utilizes Kinetis K64 MCUs (microcontrollers) based on ARM Cortex-M4 cores. This early access release adds support for the ARM Cortex-M architecture, and brings up the support to a total of 4 platforms:

  • Raspberry Pi Model B on Debian Linux
  • Qualcomm IoE 6270T on Brew MP
  • Freescale FRDM-K64F on mbed
  • Device Emulation on Windows 7

The Freescale FRDM-K64F includes a 6-axis digital accelerometer and magnetometer, a tri-colored LED, 2 user push-buttons, microSD expansion memory, and connectivity options using an onboard Ethernet port and Bluetooth and 2.4 GHz radio add-on modules. It also has an Arduino R3 compatible I/O connectors, providing a broad range of expansion board options. The Kinetis K64 has 120MHz ARM Cortex-M4 with DSP and FPU, 256 KB SRAM and up to 1 MB of flash memory.

Here's the complete list of features included in the Java ME Embedded 8.1 EA3 release:

  • Operating system/native platform: mbed
  • CLDC 8 with SVM support only
  • MEEP 8 - minimal profile set
  • Device I/O API version 1.0: GPIO, UART, I2C, DAC/ADC, Onboard LEDs, Accelerometer, Magnetometer
  • Command-line interface
  • Developer agent
  • Debugging over Ethernet
  • Output/logging through USB/serial
  • Flash file system on an SD card
  • (Optional) System Configuration API
  • (Optional) JSON, Async HTTP, OAuth 2.0 libraries
  • (Optional) Generic Connection Framework

To get started, download the Java ME SDK and visit the Java ME Embedded Getting Started Guide for Freescale FRDM-K64F. It talks about required software and hardware, installation and deployment. It also has tips on how to deal with the memory constraints on the Freescale FRDM-K64F, which has approximately 60 Kb RAM for applications. Another good read is the Java ME Optimization Techniques from the Oracle documentation. There is also an Oracle blog post titled Java ME Embedded is able to run with 256Kb of RAM only that has tips on how to get started. It briefly talks about the Flash feature, drivers, permissions and provides an example of a LED blinker MIDlet. If you are looking to get started on another platform, like the Raspberry Pi for example, please visit the Java ME Embedded documentation.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you