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 选项。

    通常使用 arm, ppc, 86 等值。
  • 可以设置 GHS_TARGET_PLATFORM 变量,例如通过 cmake -D 选项。

    默认为 integrity
    常见值为 integrity, threadx, uvelosity, velosity, vxworks, standalone

例如

  • cmake -G "Green Hills MULTI" 对应 arm_integrity.tgt

  • cmake -G "Green Hills MULTI" -A 86 对应 86_integrity.tgt

  • cmake -G "Green Hills MULTI" -D GHS_TARGET_PLATFORM=standalone 对应 arm_standalone.tgt

  • cmake -G "Green Hills MULTI" -A ppc -D GHS_TARGET_PLATFORM=standalone 对应 ppc_standalone.tgt

工具链选择

3.13 版本新增。

生成器会自动搜索最新的编译器,也可以指定要使用的位置。GHS_TOOLSET_ROOT 是用于检查最新编译器的目录。

  • 可以设置 CMAKE_GENERATOR_TOOLSET 选项(例如通过 cmake -T 选项)来指定工具集的位置。绝对路径和相对路径均有效。路径相对于 GHS_TOOLSET_ROOT

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

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

例如,指定特定编译器:

  • cmake -G "Green Hills MULTI" -T comp_201754 对应 /usr/ghs/comp_201754

  • cmake -G "Green Hills MULTI" -T comp_201754 -D GHS_TOOLSET_ROOT=/opt/ghs 对应 /opt/ghs/comp_201754

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

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

例如,搜索最新编译器:

  • cmake -G "Green Hills MULTI" 用于搜索 /usr/ghs

  • cmake -G "Green Hills MULTI -D GHS_TOOLSET_ROOT=/opt/ghs" 用于搜索 /opt/ghs

注意

CMAKE_GENERATOR_TOOLSET 应使用 CMake 风格的路径。

操作系统和 BSP 选择

3.3 版本中新增。

某些目标平台(如 Integrity)需要操作系统。RTOS 目录路径可以使用 GHS_OS_DIR 显式设置。否则,将会在 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>

    例如

    • cmake -G "Green Hills MULTI" 对应 arm_integrity.tgt 上的 simarm

    • cmake -G "Green Hills MULTI" -A 86 对应 86_integrity.tgt 上的 sim86

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

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

目标属性

3.14 版新增。

可以使用以下属性:

MULTI 项目变量

3.3 版本中新增。

通过使用以下变量,可以使用定制文件和宏:

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

  • GHS_GPJ_MACROS - 宏的 CMake 列表。

注意

截至 CMake 4.3.0,该生成器被视为实验性功能,且仍在开发中。随着生成器的成熟,未来的 CMake 版本可能会进行破坏性更改。