MultiApp platform firmware example

I’m new to MicroEJ and currently trying to evaluate both the single and multi application firmware variants.

I have been able to build (and deploy to hardware) a SingleApp platform image, but have not been able to build a MultiApp platform image to support the WiFi download and control of apps - as possible when using the MicroEJ BLACK VEE image.

Are there any current (5.1.2? See “background” below) examples of how to build MultiApp/sandboxed platform firmware to reproduce the functionality of the MicroEJ BLACK VEE image?

Cheers,
Dave

Background:

IDE: 19.05, SDK: 5.1.2, Architecture: ESP32 GCC PSRAM EVAL 7.12.1, Hardware: WROVER 4.1

For the single app implementation I used the file “ESP32WROVER-HDAHT-fullPackaging-eval-1.5.1.zip” and imported the platform/project for “ESP32WROVER-SingleApp-GNUv52_xtensa-esp32-psram-1.5.1”. Using this method I can build and deploy firmware containing a single application.

For the Multi App (sandboxed?) implementation I used the file “ESP32WROVER-9C5H4-fullPackaging-eval-1.5.1.zip”, and imported the platform/project “ESP32WROVER-MultiApp-GNUv52_xtensa-esp32-psram 1.5.1”. I initially tried using the github example “MicroEJ/Example-MinimalMultiAppFirmware” to develop the firmware, but it requires MicroEJ 4.1.1 and Ivy 4.1, and failed miserably.

Hi @dkstones,

You are right, the minimal firmware example available on GitHub [1] is compatible with MicroEJ 4.1. MicroEJ 5 uses MMM for dependencies management, you can find how the new dependencies management is working at docs.microej.com [2].

Gaëtan for MicroEJ

[1] https://github.com/MicroEJ/Example-MinimalMultiAppFirmware
[2] https://docs.microej.com/en/latest/ApplicationDeveloperGuide/mmm.html

Thanks for the confirmation. Unfortunately I’m new to MicroEJ (and Java, Ant and Ivy!) so I’m on a steep learning curve and not sure if I’m even in the correct ballpark at times.

But reading through the documentation (https://docs.microej.com/en/latest/KernelDeveloperGuide/buildType.html#workspace-build) it references dependencies (including org=“com.microej.kernelapi” name=“wadapps” and org=“com.microej.app.wadapps”) that I am unable to resolve or find in the repository?

Having just had a thought and looked in the artefacts repository of “4”, and the required modules are there. But as I’m using SDK 5.1.2 (assuming that’s the 4/5 difference) its not that helpful.

Unfortunately I’m not finding the documents particularly clear would anyone know the whereabouts of an “idiot’s guide”?

Also, as an aside, importing kernel dependencies using the method described in the repository “Usage” of “1.+” does not seem to work, although I could be doing that wrong in the .ivy too…

Cheers,
Dave

Ok I hear you.

We are in the process of updating the minimal example project and completing the missing libraries in the MicroEJ Central Repository for MICROEJ SDK 5. I’ll have more news about it end of the week.

I’ll keep in touch.
Gaëtan

An update on this one, we are working on it, we should have a properly up-to-date example to publish soon (this week or the next).

Gaëtan