I have a NXP s32k144 on a board paired with a Rasperry Pi CM3 computer module.
Is there any chance of assistance getting a build of Freemaster lite to run on an ARM default-JRE platform?
Solved! Go to Solution.
Hi @adrian_neill,
You are right regarding mcbc30 library - it is a C implementation of the FreeMASTER communication protocol. It was intended for potential 3rd party application or custom applications usage, but so far it was barely used in such scenarios and the library was left poorly documented.
FreeMASTER Lite has it's own version of this library inside C:\NXP\FreeMASTER 3.1\FreeMASTER Lite\lib (mcbcom.lib, mcbcom.dll 32 bit version for Windows, and similar mcbcom.so 64 bit version for Linux) and corresponding header file in C:\NXP\FreeMASTER 3.1\FreeMASTER Lite\include (mcbcom.h). It slightly differs from mcbc30, but overall both cover same functionality.
Hi @adrian_neill,
Unfortunately, we do not have this feature (running FreeMASTER Lite on embedded/ARM based platforms) on our roadmap.
A side comments: FreeMASTER Lite is not a Java based application (JRE is used only by the installer). At the core, it's a NodeJS/C++ app, which makes it harder to add support for different ARM Cores and Linux kernels.
Well, I recommend putting it on your road map, the future is arm..
Here's an easy path to getting it working for NXP. This should take one of your application engineers about 1-2 days.
1. You can run x86 binaries on arm with an emulation layer.
2. Node bin is an x86 binary.
3. Flexera license manager is available for Linux arm platforms.
If NXP wanted to help get this working, all they would need to do is update the installer to support liscening b on arm Linux, and provide instructions for installing box86 to allow the binary to run via emulation.
My other option is to reimplement the node.js functions using the communications API provided. Do you know if the version used to compile the Linux x86 is available
Thank you for your suggestion using an emulation layer.
Could you elaborate a bit on "reimplement the node.js functions using the communications API provided".
Currently, Linux x86 version is not available.
I was hoping, that since NXP has an X86 linux build of freemaster lite, that you have a linux version of the FreeMASTER communication library (mcbc30.dll). (or maybe i can just use it as is?)
This library appears to be the backend communication that freemaster lite depends on.
the readme indicates:
Files in this folder may be used to interface your C/C++ application directly to
FreeMASTER communication library (mcbc30.dll).
C:\NXP\FreeMASTER 3.1\FreeMASTER\userdev
C:\NXP\FreeMASTER 3.1\FreeMASTER\userdev\lib
mcbc30.lib
mcbcom.h
Hi @adrian_neill,
You are right regarding mcbc30 library - it is a C implementation of the FreeMASTER communication protocol. It was intended for potential 3rd party application or custom applications usage, but so far it was barely used in such scenarios and the library was left poorly documented.
FreeMASTER Lite has it's own version of this library inside C:\NXP\FreeMASTER 3.1\FreeMASTER Lite\lib (mcbcom.lib, mcbcom.dll 32 bit version for Windows, and similar mcbcom.so 64 bit version for Linux) and corresponding header file in C:\NXP\FreeMASTER 3.1\FreeMASTER Lite\include (mcbcom.h). It slightly differs from mcbc30, but overall both cover same functionality.
Thanks, that's the information I needed.
Hi adrian_neill,
Have u ever got FM Lite working on Rasp Pi? We are trying to implement edge calibration for S32k using CM3.
Can I just
1. copy over the mcbc30.so from the X86 installation to Rasp pi
2. dlopen the shared lib,
3. Use the API in the mcbcom.h file?
It's been quite a long time. Any of your guidance would be appreciated.