You are currently browsing the tag archive for the ‘Embedded Java’ tag.
Is Android a good choice for building an embedded product? Be sure to consider all the facts … In this PartnerCast video, Henrik Stahl answers an attendee question and shares some very valuable insight (skip to the 7:55 time mark in the video).
Android is a smartphone operating system with a non-standard Linux base and Android APIs on top, designed for specialized devices with a 2- to 3-year life cycle. Android is not standards-based, has no public roadmap, no predictable lifecycle, and no 3rd party support.
Building and maintaining an embedded product that is in the market for 5 to 20 years based on Android is a very risky proposition.
Java, by comparison, is a standards-based platform with an open roadmap, a transparent community process, and a large ecosystem of 3rd party providers, partners, and developers. Oracle’s Java products cover a wide range of platforms, from very small and resource constrained to large and powerful systems, and come with long-term support.
Just a quick reminder to participate in the upcoming Java Virtual Developer Day tomorrow or June 25th. More information on my previous post.
Sorry for the slow rate of postings lately … been insanely busy working on a number of things related to Java Embedded – stay tuned for more details in the near future.
In the meantime, be sure to register for our upcoming “Virtual Developer Day – Java” in either of two slots:
- Americas/Canada – Wednesday June 19, 2013
- 9:00 a.m. – 1:00 p.m. PDT
- 12:00 p.m. – 4:00 p.m. EDT
- 1:00 p.m. – 5:00 p.m. BRT
- EMEA/Africa/Middle East – Tuesday June 25th, 2013
- 9:00 a.m. – 1:00 p.m. BST / 10:00:00 a.m. – 2:00 p.m.CEST
- 1:30 p.m. – 5:30 p.m. IST / 12:00:00 p.m. – 4:00 p.m. MSK
- 8:00 a.m. – 12:00 p.m. Corresponding UTC (GMT)
The Virtual Developer Day is a great way to learn about the latest features, platforms, and tools in Java EE, Java SE, and Java Embedded. Watch tutorial and webinars, and engage in live chat sessions with our technical experts standing by to answer (I will be participating in the Java Embedded track).
Tomorrow (April 24th) I will be at the JAX Conference in Mainz, Germany for the Embedded Experience Day, talking about “Java in the Internet of Things: Small, Smart, Connected” (at 14:00).
There will also be an “Embedded Werkstatt” (open 10:00-17:00) with different exhibits and demos and the opportunity to ask the experts and discuss embedded topics.
See you tomorrow in Mainz!
Now that a lot of folks are kicking the tires with Java ME Embedded (see the last couple of blog posts), I just wanted to make sure you know where to go with questions:
- Lots of good resources are here and here (including “Getting Started Guides”, FAQ, videos, and API documentation)
- Check out the OTN Java ME Embedded forum and ask questions – our experts are monitoring these regularly
- Email us at: email@example.com - we’ll get back to you
Following up on yesterday’s release, Oracle evangelist Angela Caicedo has put together a great blog posting with all steps and code you need to develop and run your first Java application on an ARM Cortex-M3 developer board.
Or, if you have a Raspberry Pi lying around, you could use that.
In any case, it has never been easier to get started with embedded Java applications!
A 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:
- Ask questions on the OTN Java ME Embedded forum
- Email us at: firstname.lastname@example.org
Stay tuned for more to come.
* Note: While the MCBSTM32F200 is the officially supported board, the release also works on the MCBSTM32F400 (which is the Cortex-M4 version)
Have you been working on a cool application, solved a tricky embedded problem, or helped deliver an industrial-grade solution using Java?
There is a lot of great stuff happening in the embedded Java space. The world wants to hear about it.
Submit your proposal to JavaOne 2013 in San Francisco and present your work to thousands of like-minded Java developers!
The Call for Papers has been extended by a week, to April 23rd (watch the web pages for updates).
Get extra credit from me for using Java ME Embedded on Raspberry Pi. Check it out and do something fun and inspiring with it.
Check out the Jan/Feb 2013 edition of Java Magazine – featuring a big focus on embedded:
- Page 8: News: Hitachi SuperJ Framework, M2M Survey by Beecham
- Page 20: Embedded Everywhere – Java and the Internet of Things
- Page 26: Top 10 Reasons for Using Java in Embedded Apps
- Page 31: Java Arrives on a $25 Board
- Page 36: The Future of Money