Microejruntime.a is not generated

I am using MicroEJ-SDK-21.03 and followed the tutorial for creating a firmware from scratch. When building the platform and trying to link it with the standalone application, the following files are generated in microej/lib: microejapp.o, bestfitAllocator.a, external-resource-loader-stub.a, MicroJvm.a, rt.a, and sni.a. What I am missing is the microejruntime.a file needed for creating the firmware as final step. I would appreciate if you help me with this issue.

Thank you very much.

P. S. This is the case on MacOS. I tried the same on Windows, and everything is ok there, microejruntime.a is created. Could you help me with the MacOS case?

Hi @MonikaS ,

Indeed you encountered an issue around the availability of the ar command line interface on macos. The ar (for archive) utility is one that group these libraries and object files together into the microejruntime.a file. To solve the issue I’d like you to try the following steps:

  • unzip the patch archive attached to the message.
  • In the -configuration project.
  • microejruntimeArchive.ant should be placed at the root of the project.
  • The following line should be added at the end of the configuration.xml:
    <import file="${configuration.dir}/microejruntimeArchive.ant"/>
  • The ar executable should be added in the folder build/tools/os/Mac. Make it executable for macos with: chmod +x.

ar_platform_patch.zip (387.7 KB)

I didn’t have time to test it but it worked in the past. Hope it helps.

Gaëtan for MicroEJ

That’s it! Thank you a lot!

I have come to the end, when I should start the RTOSDemo.bin on the Qemu emulator. At the very start of qemu, I get error message Timer with period zero, disabling.

qemu-system-arm -M lm3s6965evb -nographic -kernel gcc/RTOSDemo.bin
Timer with period zero, disabling

I tried installing qemu with brew install, but also directly from git. It is the same.

Do you have experience with this?

Unfortunately I do not have a lot of experience running our technology on Qemu. I see that you are using a Cortex-M3 core (lm3s6965evb) for your Qemu. What MICROEJ Architecture did you use when you followed the tutorial?

Best Regards,