主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

TASKING 编译器 (-compiler tasking)

指定 Altium TASKING 编译器

描述

如果使用 Altium® TASKING 编译器编译代码,请在编译器 (-compiler) 处指定任务。当您使用的语法不是标准语法,而是来自语言扩展时,通过指定您的编译器,可以避免此类语法导致编译错误。

然后,指定您的目标处理器类型。如果您为编译器选择任务,则在 Polyspace® 桌面端产品的用户界面中,您只会看到 TASKING 编译器允许使用的处理器。您选择的目标处理器决定了基础数据类型的大小、目标计算机的端序,以及特定的关键字定义。

如果指定了任务编译器,则必须指定编译器头文件的路径。请参阅为 Polyspace 分析提供标准库头文件

该软件支持不同版本的 TASKING 编译器,具体取决于目标平台:

  • TriCore:6.x 及更早版本

  • C166:4.x 及更早版本

  • ARM:5.x 及更早版本

  • RH850:2.x 及更早版本

设置

对于各个基础类型,目标使用以下默认大小(以位为单位)。与其他编译器的目标不同,您不会在用户界面中看到这些大小。

目标charshortintlonglong longfloatdoublelong doubleptrchar 默认符号端序对齐
tricore81632326432646432signedLittle 32
c16681616326432646432signedLittle16
rh85081632326432646432signedLittle64
arm81632326432646432signedBig64

对于 TASKING 编译器,wchar_t 不是关键字。标题 <wchar.h>cwchar 可为 wchar_t 提供 typedef

您的编译器设定还决定了许多编译器特定的宏的值。如果要了解 Polyspace 如何定义特定宏,请使用 -dump-preprocessing-info 选项。

提示

  • Polyspace 不支持 TASKING 编译器特有的某些语法结构。

    有关不支持的构造的列表,请参阅 polyspaceroot\polyspace\verifier\code_prover_desktop 中的 codeprover_limitations.pdf。其中,polyspaceroot 是 Polyspace 的安装文件夹,例如 C:\Program Files\Polyspace\R2019a

  • 所使用的 CPU 型号为 TC1793。如果您使用的是其他 CPU,请在工程中设置以下分析选项:

    • 禁用预处理器定义 (-U):取消定义宏 __CPU_TC1793B__

    • 预处理器定义 (-D):定义宏 __CPU__。输入 __CPU__=xxx,其中 xxx 是您的 CPU 名称。

      此外,为您的 CPU 定义与宏 __CPU_TC1793B__ 相当的等效宏。例如,输入 __CPU_TC1793A__

    如果您不希望手动指定编译器,而是跟踪编译命令 (makefile),Polyspace 可以检测您的 CPU 并添加工程所需的定义。

  • 对于与 TASKING 编译器特定构造相关的某些错误,请参阅Fix Polyspace Compilation Errors Related to TASKING Compiler中的解决方案。

  • 如果您使用 IDE 中的 Polyspace as You Code 扩展,请在分析选项文件中输入此选项。请参阅选项文件

命令行信息

参数:-compiler tasking -target
值:tricore | c166 | rh850 | arm
默认值:tricore
示例 (Bug Finder):polyspace-bug-finder -compiler tasking -target tricore
示例 (Code Prover):polyspace-code-prover -compiler tasking -target tricore
示例 (Bug Finder Server):polyspace-bug-finder-server -compiler tasking -target tricore
示例 (Code Prover Server):polyspace-code-prover-server -compiler tasking -target tricore

版本历史记录

在 R2017a 中推出