Green Hills MULTI

3.3 版本中新增。

版本 3.15 中添加: Linux 支持。

生成 Green Hills MULTI 项目文件(实验性,进行中)。

构建系统具有预设的构建配置设置,可以通过 CMAKE_BUILD_TYPE 变量进行控制。

平台选择

3.13 版本新增。

变量 GHS_PRIMARY_TARGET 可用于选择目标平台。

在项目文件中设置 primaryTarget 条目。

例如

  • cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt

否则,primaryTarget 将由 CMAKE_GENERATOR_PLATFORMGHS_TARGET_PLATFORM 的值组合而成。默认值为 arm_integrity.tgt

  • 变量 CMAKE_GENERATOR_PLATFORM 可以设置,或许可以通过 cmake -A 选项设置。

    通常使用的值包括 armppc86 等。
  • 变量 GHS_TARGET_PLATFORM 可以设置,或许可以通过 cmake -D 选项设置。

    默认为 integrity
    常用值包括 integritythreadxuvelosityvelosityvxworksstandalone

例如

  • 对于 arm_integrity.tgt,使用 cmake -G "Green Hills MULTI"

  • 对于 86_integrity.tgt,使用 cmake -G "Green Hills MULTI" -A 86

  • 对于 arm_standalone.tgt,使用 cmake -G "Green Hills MULTI" -D GHS_TARGET_PLATFORM=standalone

  • 对于 ppc_standalone.tgt,使用 cmake -G "Green Hills MULTI" -A ppc -D GHS_TARGET_PLATFORM=standalone

工具链选择

3.13 版本新增。

生成器会查找最新的编译器,或者可以指定一个要使用的位置。GHS_TOOLSET_ROOT 是检查最新编译器的目录。

  • 变量 CMAKE_GENERATOR_TOOLSET 可以设置,或许可以通过 cmake -T 选项设置,以指定工具集的位置。绝对路径和相对路径均有效。路径相对于 GHS_TOOLSET_ROOT

  • 变量 GHS_TOOLSET_ROOT 可以设置,或许可以通过 cmake -D 选项设置。

    工具集搜索和相对路径的根目录。
    在 Windows 上默认为 C:/ghs,在 Linux 上默认为 /usr/ghs

例如,设置特定的编译器

  • 对于 /usr/ghs/comp_201754,使用 cmake -G "Green Hills MULTI" -T comp_201754

  • 对于 /opt/ghs/comp_201754,使用 cmake -G "Green Hills MULTI" -T comp_201754 -D GHS_TOOLSET_ROOT=/opt/ghs

  • cmake -G "Green Hills MULTI" -T /usr/ghs/comp_201554

  • cmake -G "Green Hills MULTI" -T C:/ghs/comp_201754

例如,查找最新的编译器

  • 查找 /usr/ghs,使用 cmake -G "Green Hills MULTI"

  • 查找 /opt/ghs,使用 cmake -G "Green Hills MULTI -D GHS_TOOLSET_ROOT=/opt/ghs"

注意

CMAKE_GENERATOR_TOOLSET 应使用 CMake 风格的路径。

操作系统和 BSP 选择

3.3 版本中新增。

某些目标平台(如 Integrity)需要一个操作系统。可以使用 GHS_OS_DIR 显式设置 RTOS 目录路径。否则,将搜索 GHS_OS_ROOT 以查找最新的 Integrity RTOS。

如果目标平台(如 Integrity)需要 BSP 名称,则可以通过 GHS_BSP_NAME 变量进行设置。

  • GHS_OS_DIRGHS_OS_DIR_OPTION

    在项目文件中设置 -os_dir 条目。
    GHS_OS_DIR_OPTION 的默认值为 -os_dir

    版本 3.15 中添加: 变量 GHS_OS_DIR_OPTION

    例如

    • cmake -G "Green Hills MULTI" -D GHS_OS_DIR=/usr/ghs/int1144

  • GHS_OS_ROOT

    RTOS 搜索的根目录。
    在 Windows 上默认为 C:/ghs,在 Linux 上默认为 /usr/ghs

    例如

    • cmake -G "Green Hills MULTI" -D GHS_OS_ROOT=/opt/ghs

  • GHS_BSP_NAME

    在项目文件中设置 -bsp 条目。
    对于 integrity 平台,默认为 sim<arch>

    例如

    • 对于 arm_integrity.tgt 上的 simarm,使用 cmake -G "Green Hills MULTI"

    • 对于 86_integrity.tgt 上的 sim86,使用 cmake -G "Green Hills MULTI" -A 86

    • 对于 ppc_integrity.tgt 上的 sim800,使用 cmake -G "Green Hills MULTI" -A ppc -D GHS_BSP_NAME=sim800

    • 对于 ppc_integrity.tgt 上的 fsl-t1040,使用 cmake -G "Green Hills MULTI" -D GHS_PRIMARY_TARGET=ppc_integrity.tgt -D GHS_BSP_NAME=fsl-t1040

目标属性

3.14 版新增。

以下属性可用

MULTI 项目变量

3.3 版本中新增。

通过使用以下变量可以添加自定义文件和宏

  • GHS_CUSTOMIZATION - 自定义文件的 CMake 路径名。

  • GHS_GPJ_MACROS - CMake 宏列表。

注意

截至 CMake 4.2.0,此生成器被视为实验性的,并且仍在开发中。随着生成器的成熟,未来版本的 CMake 可能会做出破坏性的更改。