7.2.3 Header files and libraries for Linux export

This section describes additional header files and libraries for SystemC export. Some are for build time, and others are for building and packaging the final virtual platform.

Header files and libraries to build the EVS on Linux

The EVS requires specific header files and libraries.

  • Fast Models header files from $PVLIB_HOME/include/fmruntime.
  • SystemC header files from $SYSTEMC_HOME/include.
  • AMBA-PV header files from $MAXCORE_HOME/AMBA-PV/include if AMBA-PV ports are used.
  • $PVLIB_HOME/lib/Linux64_GCC-x/libfmruntime.a for release builds using GCC x where x = 4.8, 4.9, or 5.4.
  • $PVLIB_HOME/lib/Linuxb_GCC-x/libpvbus.a.
  • $PVLIB_HOME/lib/Linuxb_GCC-x/libcomponents.a.
  • $PVLIB_HOME/lib/Linuxb_GCC-x/libarmctmodel.a.
  • Libraries: -ldl -lrt.
  • Compiler and linker option: -pthread.

System Generator needs access to these header files and libraries for building. The tools automatically include and use them, without them being in the MySubsystem.sgproj project file. Depending on the EVS, more libraries might be necessary.

Note:

Installing the Fast Models package sets the SYSTEMC_HOME environment variable.

Libraries to build the virtual platform on Linux

The virtual platform requires specific libraries in addition to the ones the EVS requires.

  • Header file and libraries from the generation of the EVS:
    • Shared library libMySubsystem-AConfig.so.
    • Static library libscx-MySubsystem-AConfig.a.
    • Header file AConfig/gen/scx_evs_MySubsystem.h.
    • Static library libscx.a for the MI simulation infrastructure scheduler mapping, simulation controller, and report handler default implementations, in the directory where the EVS is built.
  • $PVLIB_HOME/lib/Linux64_GCC-x/libpvbus.a for release builds using GCC x, where x = 4.8, 4.9, or 5.4.
  • $PVLIB_HOME/lib/Linux64_GCC-x/libcomponents.a.
  • $PVLIB_HOME/lib/Linux64_GCC-x/libarmctmodel.a.
  • $PVLIB_HOME/lib/Linux64_GCC-x/libfmruntime.a.
  • SystemC library from $SYSTEMC_HOME/lib/Linux64_GCC-x/libsystemc.a.
  • Libraries: -ldl -lrt.
  • Compiler and linker option: -pthread.

Note:

Installing the Fast Models package sets the SYSTEMC_HOME environment variable.

Libraries to package the virtual platform on Linux

The virtual platform requires specific libraries.

  • Shared library from the generation of the EVS, libMySubsystem-AConfig.so.
  • libMAXCOREInitSimulationEngine.so.2.
  • libarmctmodel.so.
  • libSDL-1.2.so.0.11.4 (required only if your model uses the PL041 AACI component or any visualization components).

Depending on the example, additional libraries may be necessary (for example the EVS_LinuxBoot example requires the SDL library). The framework searches for such libraries alongside the virtual platform executable that loaded the EVS .so.

Non-ConfidentialPDF file icon PDF versionARM 100965_1101_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.