You are currently browsing the tag archive for the ‘Java ME SDK’ tag.

Qualcomm ioe

It almost got lost in the surge of announcements at JavaOne: Not only did we make available Java ME Embedded 8 Early Access, but we also released an update to the existing Java ME Embedded 3.x product

Java ME Embedded 3.4 is based on version 3.3 but now also supports the Qualcomm IoE (“Internet of Everything”) developer platform:

  • QSC6270T processor with 64 MB DDR RAM and 128 MB NAND Flash
  • Tri-band UMTS/HSDPA + quad-band GSM, SIM slot
  • 2.4 GHz WiFi a/b/g/n
  • GPS
  • Supported I/O: SPI, I2C, GPIO, ADC, UART, SD card, on-board accelerometer, light + temp sensor

Alongside, we’ve also updated the Java ME SDK to version 3.4 to add comfortable application development and debugging on the Qualcomm IoE platform via a USB connection to the PC.

With this release, Java ME Embedded now supports a key part of the Qualcomm ecosystem, opening up new opportunities for embedded Java in a wide range of use cases.

Java ME Embedded 3.4 and Java ME SDK 3.4 can be downloaded for free from OTN for development and evaluation purposes.

Best,

– Terrence

 

I2c emulOne of the core requirements for embedded Java applications is the ability to access I/O devices, such as sensors, switches, converters, actuators, LEDs, and so on to enable the embedded system to interact with the world around it.

Java ME Embedded includes the Device Access API (DAAPI), which is a comprehensive API that provides access to a range of common I/O devices directly from your Java application in an easy and platform-independent manner. No native code, recompilation, or other “traditional embedded trickery” required.

That works great if you have your target platform already available and up-and-running. But what if you want to start software development before your target platform hardware is available? Or you want to develop most of the code on a Desktop PC for convenience and speed purposes? The Java ME SDK has you covered.

The Java ME SDK offers a set of tools as well as plugins for NetBeans and Eclipse which allow you to develop Java ME Embedded applications efficiently and leveraging your existing Java expertise. Another great feature is that it includes a full emulation runtime which emulates a Java ME Embedded target platform on the PC. Furthermore, the Java ME SDK also includes a tool called the “Custom Device Editor”, which allows you to customize the emulation runtime to your needs (for example, by adding the specific I/O devices of your actual target hardware) and even allows you to implement simulated device behavior (in Java, of course).

To get started with custom I/O devices in the Java ME SDK, check out an excellent blog post Tom McGinn from the Oracle Education Team, explaining how to add and simulate an I2C temperature sensor.

Cheers,

– Terrence

Newsflash 757208

Obfuscation is a really helpful mechanism to reduce the size of your Java ME Embedded application code to a minimum.

When developing Java embedded applications using the Java ME SDK  3.3 with NetBeans you would normally be able to easily install the ProGuard obfuscator via the NetBeans ProGuard plugin and then set it to automatically obfuscate every project build.

However, for NetBeans 7.3 a licensing incompatibly prevents the ProGuard plugin to be available directly on the NetBeans 7.3 update center. This issue has been fixed for the upcoming NetBeans 7.4.

If you want to use ProGuard with NetBeans 7.3 there is an easy workaround described on the NetBeans bug tracker: https://netbeans.org/bugzilla/show_bug.cgi?id=227701. Scroll down to the end of the thread to see:

——————————————–

For now it is possible to use following workaround for proguard:

1. Download proguard.jar from http://sourceforge.net/projects/proguard/files/proguard/
2. Insert following line in {YOUR_PROJECT_DIR}/nbproject/private/private.properties OR {NB_USERDIR}/build.properties (no need to insert in both):

obfuscator.classpath={PATH_TO_proguard.jar}

(e.g. obfuscator.classpath=C:\\JavaME\\Proguard\\proguard.jar)

——————————————-

Hope this helps. Cheers,

– Terrence

Jai 3 3 video

Update 7/23/13: A good article/interview is on eWeek: “Oracle Aims Java ME Embedded at the Internet of Things”

On the heels of the recently refreshed Java ME Embedded 3.3 Early Access (EA) bits, Oracle is announcing today:

  • Oracle Java ME Embedded 3.3 GA (General Availability)
  • Oracle Java ME SDK 3.3 GA
  • The Oracle Java Platform Integrator Program

Here are the details:

Oracle Java ME Embedded 3.3

Oracle Java ME Embedded is an optimized, feature-rich Java runtime for resource-constrained devices, covering a wide range of platforms from small micro-controller devices up to mid-range embedded systems, including “Internet of Things” (IoT) and “Machine-to-Machine (M2M) devices. 

The 3.3 release comes with a range of new features and enhancements, such as additional peripheral support, developer productivity features (network monitor, memory status monitor), API enhancements, and other improvements. Ready-to-run binaries are available through Oracle Technology Network (OTN) for the following platforms:

Further, the Java ME SDK features an integrated Java ME Embedded emulation environment, which enabled developers to develop and test Java ME applications directly on PCs without the need for a physical hardware platform.

Oracle Java ME SDK 3.3

Along with the update of Oracle Java ME Embedded, the Oracle Java ME SDK toolchain has been updated to support the new Java ME Embedded features and platforms as well as improved device emulation, integrated memory and network monitor, usability enhancements, full Windows 7 support, and more. The NetBeans and Eclipse plugins have been updated as well.

Oracle Java Platform Integrator Program

The Oracle Java Platform Integrator Program enables companies developing embedded products on devices to leverage the technologies Oracle is providing across their choice of hardware and operating systems, allowing them to increase their differentiation and value-add,  improve application and service portability across a consistent platform, and reduce engineering efforts and time to market for their solutions through the pre-integrated and optimized Java Embedded stack.

Why is this important?

With this announcement, Oracle continues its push into the embedded space, with an enhanced and robust Java ME Embedded runtime, increased platform coverage, improved toolchain, and partner program that address a wide range of embedded use cases and opportunities in the IoT and M2M spaces.

Ok – Where can I find out more?

  • See the press release and watch the new video “Oracle Grows Java Capabilities in the Internet of Things”
  • Review the supporting resources (bottom of the press release page), including webcasts, “Getting Started” videos, and more
  • Check out the updated product home page, with Data Sheets, FAQs, and White Papers
  • Refer to a number of posts on my blog for more information (here, here, here, and here)

Exciting times. 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)

Newsflash 757208

What’s New?

We’ve gotten excellent feedback on these releases and have found and fixed a couple of bugs and glitches and made usability enhancements. In keeping with the rapid evolution of the technology, we are today making available a set of refreshed bits:

  1. Oracle Java ME Embedded 3.3.1 EA for ARM Cortex-M3/M4
  2. Updated Oracle Java ME Embedded 3.3 EA for Raspberry Pi
  3. Updated Oracle Java ME SDK 3.3 EA and updated plugins for NetBeans and Eclipse

We have also expanded the documentation that comes with these releases as well as updated the embedded sample code that is available with the Java ME SDK 3.3 EA.

Developer should start using these updated releases right away to benefit from the improvements.

Important Notes For Installation:

  • You should update all versions together. The integration between the runtimes (1 and 2) and the tools (3) will work best if all are updated at the same time. So please uninstall previous versions of Java ME SDK 3.3 EA (via Windows “remove software”) and the NetBeans and Eclipse plugins (via plugin management) and then install the updated versions.
  • When installing the updated NetBeans plugins, you should use the manual installation method as described in the chapter 2-4 of the “Getting Started Guide for the Windows Platform”. The reason is that the NetBeans update center still contains the plugin versions of Java ME SDK 3.2 GA release (not 3.3 EA).

Getting Started:

Be sure to check out the improved and expanded “Getting Started Guides” and “Release Notes” for the platform you plan to use. Refer to the OTN Java Embedded Documentation Tab and expand on the section “Oracle Java ME Embedded 3.3 Release” (see screen shot).

3 3docs

It’s best to start with the Windows (via Java ME SDK) “Getting Started Guide for the Windows Platform”, which explains how to install the Java ME SDK and configure NetBeans and Eclipse.

To access the refreshed bits for the Oracle Java ME Embedded runtimes and the Java ME SDK, please go to the download page (be sure to refer to the section for the 3.3 releases).

Where to Learn More and Get Help:

Cheers,

– Terrence 

Angela keil

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.

Alternatively, it you’d rather just sit back and watch, you can check out her webcast “Getting started with Java ME Embedded on KEIL” (part 1part 2).

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!

Cheers,

– Terrence

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)

Asha.jpg Nokia has announced a series of new S40 phones called “Asha” – mass-market devices with smart-phone features: Good-sized touch screens, 1 GHz processors, WiFi connectivity, social networking integration, and more. Prices starting around €60 retail.

In case you don’t know, the S40 series is built on Java ME and has a huge deployed base in many parts of the world where price/performance is critical. Along with the new phones, Nokia is also making available the new Nokia SDK 2.0 for Java (beta), which enables developers to build rich Java applications with multi-touch, sensor support, an improved Maps API, and the Lightweight UI Toolkit (LWUIT) (more API & tools details). Furthermore, there is a host of developer information, the remote device access service, and even a porting guide to help you port your Android app to the new Asha platform.

Last, but not least: More and better options to monetize your applications. Nokia has enabled in-app advertising and in-app purchasing, and improved the way applications can be discovered by customers. Nokia has seen downloads from the Nokia app store rise by 63%, now totaling billions.

From what I’m hearing, the revenue opportunities on S40 for developers are often way better than what is typical for other smart-phone platforms (where competition is huge and consumers are fickle).

Cheers,

– Terrence

javame-sdk-profiler.pngAdmittedly, I am a bit late with this announcement. The Java ME SDK 3.0.5 was, in fact, released 3 weeks ago – but I haven’t had the time to blog about it.

Despite its minor number increment (from 3.0 to 3.0.5) there are substantial changes and improvements in the new Java ME SDK version, including:

  • Netbeans integration: All Java ME tools are now implemented as NetBeans plugins
  • LWUIT 1.5 support, including the new GUI Builder
  • Ability to use the NetBeans CPU profiling for Java ME applications and even VM classes
  • Network Monitor supports monitoring connections such as SIP, Bluetooth, and OBEX, and more
  • New tracing functionality for monitor events, method invocation, garbage collection, and more
  • Support for multiple Device Managers
  • WURFL device database updated with more than 1000 new devices
  • New or updated JSR support for a number of APIs

Definitely worth checking out. Find out more and download directly at the Java ME SDK OTN page.

Cheers,

– Terrence

phone-shot.png

Updates:

  • 5/15/2011: Added link to previous blog on Twitter API ME and a How-To (see below)

Smartphones get a lot of attention these days, but feature phones running Java ME outsell smartphones by a 5x-10x margin and have an installed based measured in the billions, not millions.

So, as an application developer or ISV, if you are going for the big markets, Java ME really needs to be part of your platform story. Not only does Java ME provide the big numbers, but Java ME also has all the tools and features to make creating great applications easy – applications that look and feel like smartphone-class applications.

Ok, so, let’s say you want to create one of those cool, new-fangled social networking-/location-based/interactive mash-up applications … Where do you start?

A while ago, I created a presentation and a sample application on just that topic. I presented it first at JavaOne 2010 in San Francisco as session S314178: “Beyond Smartphones: Rich Applications and Services for the Mobile Masses” and you can find the presentation by searching at the JavaOne content catalog.

video-shot.pngI’ve been continuously updating it since, and have now released the source code under the BSD license on java.net. The “Meet Me For Dinner” sample application and project shows the core building blocks and development aspects of creating rich and compelling applications and content for Java ME platforms.

The sample app is not perfect (still has a few minor bugs and is lacking some nice-to-have features) but the goal is to show interested developers how to get started and enables them, due to the liberal BSD license, to copy-and-paste code as a starting point for their own projects.

Check out this short video for an introduction. Then go the “Beyond Smartphones” project on java.net for the full sources, instructions on how to build and run the code, and a forum for questions. Also, see my previous post on the Twitter API ME for more information and a “How-To”.

Finally, if you’re planning to attend JavaOne in Hyderabad, India next week (May 10-11), be sure to attend the “Beyond Smartphones” session scheduled for Wednesday, May 11, at 3:45 pm.

Cheers,

– Terrence

Enter your email address to subscribe to this blog

Join 141 other followers

Twitter Updates

December 2014
S M T W T F S
« Nov    
 123456
78910111213
14151617181920
21222324252627
28293031  

Blog Stats

  • 240,086 hits
Follow

Get every new post delivered to your Inbox.

Join 141 other followers