You are currently browsing the tag archive for the ‘Cortex-M’ tag.
Announcing Oracle Java ME Embedded 8.1 Developer Preview for STM32429I-EVAL
With the release of Java ME Embedded 8.1 in Nov 2014 we introduced support for ARM Cortex-M based using Freescale FRDM-K64F.
Today, we are extending the Cortex-M support to the STMicroelectronics STM32429I-EVAL developer evaluation board. The STM32F429I-EVAL represents the very popular STM32F4xx MCU family which is being used in a wide range of embedded applications and markets today and is a perfect target for Java ME 8.
What is in the release?
This Developer Preview release brings the power and flexibility of Oracle Java ME Embedded 8.1 to STM32F4xx micro-controllers:
- Out-of-the-box support for a rich set of Java ME Embedded 8.1 functionality and APIs
- Key functionality and protocol support for networking, serial, storage, file, and peripheral I/O
- Access to the on-board screen
- Software development via Oracle Java ME SDK 8.1, including NetBeans and Eclipse integration
- Complete and ready-to-run binary to get started easily
Note that this release is a Developer Preview for development and evaluation purposes, which means that it has undergone extensive testing but is expected to still have limitations and shortcomings compared to a full product-quality General Availability release.
- Check out the STM32429I-EVAL Release Notes and Getting Started Guide
- Order a STM32429I-EVAL board from your favorite distributor
- Download the ready-to-run binary free from OTN
- Note: Please be sure to update your Java ME SDK 8.1 installation with the support for STM32429I-EVAL as described in the documentation
At JavaOne a few weeks ago, Oracle made available the Java ME 8.1 Developer Preview release for the Freescale FRDM-K64F (“Java ME 8.1 in 190 KB RAM”) and announced the upcoming full release of Java ME Embedded 8.1 (press release).
On Monday this week, we followed up as promised and posted the General Availability (GA) releases of Oracle Java ME 8.1 and the Oracle ME SDK 8.1.
Oracle Java ME Embedded 8.1 and ME SDK 8.1 New Features and Enhancements
- Support for ARM Cortex-M3/-M4 micro-controllers
- Updated Raspberry Pi support
- Updated Developer Preview on FRDM-K64 with mbed
- Improved support for two additional Qualcomm Gobi device families
- New communication, security, and networking features
- New support for Eclipse IDE, including major update of the Eclipse MTJ plugin
- Developer improvements: Tooling over USB, heap analysis, faster communication
- A number of smaller enhancements and fixes
Java 8: Truly Scalable
With this release, Java ME 8 now fully lives up to its design promise of delivering a feature-rich Java 8 platform that scales from powerful embedded systems all the way down to resource-constrained singe-chip micro-controllers with as little as 128 KB of RAM.
Developers can now rely on a consistent, standards-based programming model and platform that allows true code reuse from large to small solutions … in most cases the same, unmodified application binary will run across the entire range of target devices – irrespective of the underlying hardware and software differences. This means faster time-to-market, improved security and flexibility, and the ability to deliver more product value, faster.
No other embedded software technology can do that today.
Call to Action
- See here for a high-level summary/announcement of Oracle Java ME Embedded 8.1 and Java ME 8 in general
- For more information on FRDM-K64F support, a sample project, and additional background, see my previous post
- For more info, check out the short slide deck “Introduction to Oracle Java ME Embedded 8.1 Developer Preview”
- To get started, download the Java ME Embedded 8.1 binaries and the Java ME SDK 8.1
- Be sure to refer to the comprehensive Java ME 8.1 documentation pages, including Release Notes, Getting Started Guides, and Developer’s Guide
- Read the post on The Java ME Blog, including sample code
- See the The Java Tutorials Blog to learn more about the documentation and the new Java ME Optimization Techniques chapter
- Head over to the OTN Java ME Embedded Forum for questions and discussions
09/29/2014 in Embedded | Tags: "Developer Preview", "Java ME 8", Ardunio, ARM, Cortex-M, download, Early Access, Java Embedded, Java ME Embedded 8, Java ME SDK 8, mbed, microcontroller, OTN, small | Leave a comment
On the heels of the release yesterday, here is the official press release:
Oracle Introduces the Latest Release of Oracle Java ME Embedded, with supporting quotes by V2COM and Telit.
09/28/2014 in Embedded | Tags: "Developer Preview", "Java ME 8", Ardunio, ARM, Cortex-M, download, Early Access, FRDM-K64F, Java Embedded, Java ME Embedded 8, Java ME SDK 8, mbed, microcontroller, OTN, small | Leave a comment
- 10/8/14: JavaOne CON6222 presentation and sample code available
- 10/3/14: Update on tooling with Java ME Embedded 8.1 Developer Preview
Announcing Oracle Java ME Embedded 8.1 Developer Preview for Freescale FRDM-K64F
Java ME 8 is purpose-designed to bring Java-powered software intelligence to a wide range of embedded devices – scaling all the way down to resource-constrained micro-controllers. Since the release of Java ME 8 a few months ago we’ve seen tremendous interest in the industry in leveraging Java as the software platform to bring the next generation of functionality and flexibility to embedded systems and the Internet of Things.
What is it?
The Freescale FRDM-K64F is built around the Kinetis K64F with 120 MHz, 256 KB RAM/1 MB Flash, running ARM mbed OS and with an Arduino form-factor and pin-out. A popular prototyping platform for both the mbed and Arduino communities, now joining forces with the Java ecosystem.
The Oracle Java ME Embedded 8.1 Developer Preview on FRDM-K64F offers:
- A feature-rich and optimized Java ME 8 runtime in 190 KB RAM, enabling highly functional Java Embedded applications on single-chip micro-controller systems
- Out-of-the-box support for Java 8 language, core APIs, networking, device I/O, storage, and more
- Simple installation with a complete and ready-to-run binary, just copy it onto the device
- Rich development and tooling via Java ME SDK 8.1 and NetBeans 8 IDE
- Complements existing Java ME 8 platforms such as Raspberry Pi, scaling Java ME 8 from large to small
- Ideal for evaluation and prototyping of small embedded & IoT solutions
Presentation: For more information and background have a look at the short slide deck “Introduction to Oracle Java ME Embedded 8.1 Developer Preview”.
So grab a FRDM-K64F board from your favorite electronics shop or distributor, download the Developer Preview, and get started! Head over to the Java ME Embedded OTN forum to ask questions.
And finally, if you are watching the JavaOne 2014 Java Technical Keynote keep your eyes peeled for those little FRDM boards running Java ME 8 … 😉
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: email@example.com
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)