Overview

A MicroEJ® Firmware is a binary instance of MicroEJ Operating System for a dedicated board. MicroEJ Studio allows application developers to write Java applications, run them on a virtual (simulated) or real device, and publish them to the MicroEJ Application Store.

The MicroEJ firmware has the capabilities to locally deploy applications created with MicroEJ Studio.

Visit http://communitystore.microej.com for more information (download MicroEJ Studio, virtual device, firmware and demos).

Features

Foundations Libraries

This firmware implements the following libraries of MicroEJ 4.1, named MICROEJ-DEVELOPER-RUNTIME-1.3:

  • EDC 1.2 (java.io, java.lang, java.lang.annotation, java.lang.ref, java.lang.reflect, java.util, java.security)
  • BON 1.2 (ej.bon) : all except immortals
  • NET 1.1 (java.net): 3 socket max
  • SSL 2.0 (javax.net.ssl): 1 secured socket max
  • MicroUI 2.0 (ej.microui): support of Display, LEDs, buttons and PNG decoding
  • HAL 1.0 (ej.hal)
  • ECOM 1.1 (ej.ecom)
  • ECOM-COMM 1.1 (ej.ecom-ecomm)

To view this API, check in Help > MicroEJ Resource Center > Javadoc > MICROEJ-DEVELOPER-RUNTIME- x.y.

Included Add-on Java Libraries

  • MWT 2.2 (ej.mwt)
  • Wadapps Framework 1.7 (ej.kf, ej.wadapps)
  • Storage 1.1 (ej.wadapps.storage)
  • Components 3.2 (ej.components)
  • Connectivity Manager 1.1 (android.net)
  • Signature 1.0.0 (com.microej.library)

Preinstalled MicroEJ Resident Applications

  • Weather: a background application allowing to show firmware settings
  • AppList: a launcher application that displays the list of available applications.
  • Localserver-socket: TCP/IP server for application management through the Wadapps Administration Console or MicroEJ companion (Android smartphone app)

Firmware API Javadoc

Javadoc can be viewed in MicroEJ Studio Resource Center view (after the corresponding virtual device is imported).

Demos

Demo applications and getting started are available from http://communitystore.microej.com.

Going further

Visit http://developer.microej.com to get more libraries and examples.

The following add-on Java libraries are compatible with this firmware (this list is indicative and not exhaustive):

  • Eclasspath elements 1.0 (e.g: streams, collections, lists, properties, queues, stringtokenizer, uri, url)
  • Logging 1.0 (java.util.logging)
  • Widget 2.1 (ej.widget, ej.style, ej.transition, ej.color)
  • REST client 1.0 (ej.rest)
  • MQTT client 1.0.2 (org.eclipse.paho.client.mqttv3)
  • HTTPS client 1.0 (javax.net.ssl)
  • HTTP client 1.1 (java.net)
  • SNTP client 1.0 (android.net)
  • XML KXML 2-2.3.0 (org.kxml2)
  • XML MxParser 1.1.4c (org.xmlpull.mxp)
  • JSON 1.0 (org.json.me)

Changelog

1.6.1 (February 12th 2019)

  • Fixed logging level
  • Fixed Weather and AppList UI

1.5.0 (July 25th 2018)

  • Signer API introduced

1.4.0 (May 16th 2018)

  • Updated to MicroEJ Developer Runtime 1.4.0
  • Introduced signed commands, administration commands signed by a trusted authority.
  • Fixed issue with Wadapps Firmware Customizer not taking into account custom Firmware

1.3.8 (February 20th 2018)

  • Added missing KF converters for all wrapper types, for Date and List. Fixed Map converter to allow more complex use cases.
  • Fixed Weather navigator show a white square on certain weather page transition.
  • Fixed IllegalArgumentException in thread "DesktopWeather NET Timer".

1.3.6 (January 20th 2018)

  • Fixed metadata FS issue created by weather 3.1.0 having an InputStream leak.
  • Switch to location v1.0.0, solves issues when the returned location has no time_zone field.

1.3.5 (December 29th 2017)

  • Fixed performance issues on OM13092.
  • Switched to Desktop-Weather v3.1.0, to support imperial units.
  • Fixed NTP sync on IMX6ULEVK

1.3.4 (November 22nd 2017)

  • Fixed an issue with the parsing of certificates in the PEM format.

1.3.3 (November 10th 2017)

  • Fixed an issue with the parsing of certificates in the DER format.

1.3.2 (November 7th 2017)

  • Fixed an issue with Weather's handling of timezones that could lead to the wrong time being displayed.

1.3.1 (November 3rd 2017)

  • Updated Weather to Widgets 2.3.2
  • Fixed an issue with Weather's stylesheet polluting the other applications' stylesheets, on the simulator.

1.3.0 (October 27th 2017)

  • Include an application list reachable from the Weather desktop.
  • Updated to MicroEJ Developer Runtime 1.3.0
  • Added command to set or get shared properties.
  • Add "run" and "show" commands to start and show applications.
  • Add commands to list activities and to show one of them.
  • Use Bootlist 2.0 to customize the boot sequence.
  • Reduced memory consumption of the connectivity manager.
  • Firmware available in the Virtual Device can be extended with new resident applications provided as WPKs.
  • Added a new execute-on-device mode that actually adds the application as a resident application.
  • Increase available BSS size for resident apps from 2048 to 4096.
  • Increase maximum number of resident apps from 5 to 10.
  • Removed automatic execution of the ShieldedPlug server in the simulator.
  • Solved issue with the startup of the simulator that could lead to a black screen and no application execution.

1.2.2 (September 29th 2017)

  • Fixed an issue where applications with icons cannot be installed with the Android companion.

1.2.1 (July 8th 2017)

  • Display application name and version (if available) in the list command
  • Fixed an issue with Wadapps console randomly leaving a java.exe hanging consuming CPU

1.2.0 (June 28th 2017)

  • Fixed issue with DNS not retrying in case of timeout on slow networks
  • Support more than 1 parameter to uninstall command.
  • Fixed issue with no appplication metadata being stored on the device.
  • Fixed issue with command socket server missing the reuseadddress option.

1.1.3 (May 17th 2017)

Bugfixes:

  • Re-release of 1.1.2 due to a build inconsistency.

1.1.2 (May 17th 2017)

Bugfixes:

  • Fixed Kernel names not to be the same for YELLOW, BLUE, GREEN, PURPLE.

1.1.1 (May 16th 2017)

  • Fixed issue with NTP not retrying in case of failure

1.1.0 (May 6th 2017)

  • Increased stack blocks from 50 to 60
  • Added the debug (framerate and CPU load) APIs.
  • Weather applications fixes

1.0.2 (March 31th 2017)

  • Increased stack blocks from 50 to 60
  • Fixed Firmware tries to start the bootall app twice.

1.0.1 (March 24th 2017)

  • Initial public revision.