[WooReeINFO] A way easier to port MicroEJ JVM with ARM Online Compiler for Mbed

Dear MicroEJ,

i have a device with its development environments as:

STM32F746-DISCO, a development board from STMicroelectronics
ARM Online Compiler for Mbed
i have successfully built a firmware with a hello world application(native) and flashed my device above as well.

Do you think MicroEJ has some detailed guide on my trial to port your Java VM with the development environment above?

Again i’d like to try this ONLY with a hello world application in Java which outputs a greeting message to the system out.

Thanks much in advance for your feedback.

Regards
YH Kwon

Hi,

You can start by reading this guide: [Platforming] How to create your own MicroEJ platform on a custom board

I would recommend starting from the existing platform source for the STM32F746-DISCO, which contains the MEJ architecture for ARM Cortex-M7 / KEIL compiler.
In your case, you will need to modify the platform source to match your compiler (GCC, not KEIL) and RTOS (mbed, not FreeRTOS):

  • Import the STM32F746-DISCO platform in your workspace (from developer.microej.com)

  • Change the platform configuration (xxx-configuration/.platform file), set the architecture to Cortex-M7/GCC. This architecture is listed on the product page:
    Flopi7G26_690 ARM Cortex-M7 GCC -> [Contact our Customer Service]
    Send an email to support at microej dot com to request this architecture then udpate your platform.

  • adapt the C files and linker to compile with GCC compiler

  • The provided reference platform is using FreeRTOS. The MEJ32 JVM driver must be changed for mbed RTOS.
    There is another platform that is already using mbed (the Renesas RZ PEACH), here’s the C driver LLMJVM_mbed.c extracted from the platform:
    https://gist.github.com/stephanemainchain/8f9ad6ae4ed2ee2287b4244b548bfecb

Kind regards,
Stephane.