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.