This is bigA few weeks ago, Oracle made available an updated release of Java ME Embedded, version 3.3, as an Early Access (EA) for Linux on Raspberry Pi (see blog entry).

Today, we are following up with the release on ARM Cortex-M3 for the ARM RTX RTOS on the KEIL MCBSTM32F200 developer board (*see note on Cortex-M4 below).

Why is this important?

With this release, Oracle now provides a Cortex-M3/M4 reference binary of the feature-rich, standards-based Java ME Embedded runtime, scaling from mid-range embedded systems such as Linux-based platforms all the way down to micro controller-type devices with limited memory and small RTOS or minimal kernels. System requirements:

  • Minimal Java ME Embedded configuration: 32-bit MCU, 130 KB RAM, 350 KB Flash/ROM
  • Full Java ME Embedded configuration: 700 KB RAM, 2000 KB Flash/ROM

Yes, that is Kilobytes, not Megabytes (!)

So take your existing Java skills, use familiar tools like NetBeans and Eclipse, and develop highly-functional, robust embedded applications for a wide range of embedded use cases and devices in a snap.

For example, you can begin developing your code on a powerful and flexible desktop-class system like Raspberry Pi. Later, you take the unmodified application binary and simply deploy it directly to the resource-constrained target devices running Java ME Embedded.

Sounds easy? It is: No cross-compilation, no complexities due to platform dependencies, no dealing different sets of architectures, tools, compilers, libraries, and versions, and significantly reduced integration and testing effort … in fact, many typical embedded software development pain points just evaporate (embedded developers: if you are crying tears of joy now, I understand – I’ve been there myself 😉

And on top of the rich set of functionality already provided by Java ME Embedded 3.2, version 3.3 adds a number of new features, such as an expanded and more flexible access to peripherals (such as ADC, DAC, Pulse Counter, and watchdog)improved logging functionality, tooling enhancements, additional new sample code, and more. Still in the same, low footprint.

Ok, great! What next?

  • Watch the brand-new webcast “Getting started with Java ME Embedded on KEIL” (part 1, part 2)
  • Order a KEIL MCBSTM32F200 from your favorite distributor (such as Mouser, Element14, or a number of others)
  • Review the Java ME Embedded 3.3 documentation, included “Getting Started Guides” and “Release Notes”
  • Download the Java ME Embedded 3.3 binary for KEIL MCBSTM32F200 from Oracle Technology Network (OTN)
  • Download and install the Java ME SDK 3.3 EA and/or the NetBeans and Eclipse plug-ins
  • Check out Angela Caicedo’s blog post “Getting started with Java ME Embedded on KEIL”

To learn more:

Getting in touch:

Stay tuned for more to come.

Cheers,

— Terrence

* Note: While the MCBSTM32F200 is the officially supported board, the release also works on the MCBSTM32F400 (which is the Cortex-M4 version)