One FMU for Multiple Platforms
60 views (last 30 days)
Show older comments
Dear Simulink Users,
I am currently generating two separate FMUs for two platforms: Linux and Windows. Using the veristand.tlc file and adjusting the toolchain, I can successfully build an FMU for Linux on a Windows machine, which is very convenient.
However, I’ve encountered a challenge: according to the FMI standard, it should be possible to create a single FMU that supports multiple platforms. When you unzip an FMU, the binaries folder typically contains subfolders such as win64 or linux64. This implies that it should be feasible to include binaries for both platforms in a single FMU, with the respective binaries stored in their corresponding folders.
The issue arises because the modelDescription.xml file in the FMU contains a GUID (Globally Unique Identifier) that looks something like this:
<fmiModelDescription
fmiVersion="2.0"
modelName="ssbs_standalone"
guid="{a54688c2-13c7-0f35-200d-5248b0080a42}"
description=""
generationTool="Simulink (R2020a)"
version="1.157"
variableNamingConvention="structured"
generationDateAndTime="2024-11-21T07:56:06Z"
numberOfEventIndicators="0">
This GUID is also embedded into the compiled binaries (.dll/.so files), which prevents me from simply copying the linux64 folder into the binaries folder of the Windows FMU (or vice versa). The mismatch in GUIDs between the modelDescription.xml and the binaries makes this approach invalid.
Does anyone have a solution or workaround to generate a single FMU that includes binaries for both platforms? Any advice on how to align the GUID across platforms or configure Simulink to produce such a multi-platform FMU would be greatly appreciated.
Thank you in advance for your help!
1 Comment
Answers (1)
Oliver Jaehrig
on 26 Nov 2024 at 15:41
Can you use this documented workflow for cross-compilation?
You would need to upgrade your release to use it.
3 Comments
Oliver Jaehrig
on 26 Nov 2024 at 16:16
Moved: Angelo Yeo
on 27 Nov 2024 at 15:43
Yes, I know this issue. It is likely a known bug which exists in the current version of the FMU Builder Support Package.
I created a fix to get unblocked until this gets fixed in a future Release of the Support package. Please create a Technical Support case so my team can send it to you.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!