TASKING 编译器 (-compiler tasking)
指定 Altium TASKING 编译器
描述
如果您使用 Altium® TASKING 编译器编译您的代码,请为编译器 (-compiler) 选项指定 tasking。当您使用的语法不是标准语法,而是来自语言扩展时,通过指定您的编译器,可以避免此类语法导致编译错误。
然后,指定您的目标处理器类型。如果您为编译器选择了 tasking,则在 Polyspace® 桌面端产品的用户界面中,您只能看到 TASKING 编译器允许的处理器。您选择的目标处理器决定了基础数据类型的大小、目标计算机的端序,以及特定的关键字定义。
如果您指定 tasking 编译器,则必须指定您的编译器头文件的路径。请参阅为 Polyspace 分析提供标准库头文件。
该软件根据目标支持不同版本的 TASKING 编译器:
TriCore:6.x 及更早版本
C166:4.x 及更早版本
ARM:5.x 及更早版本
RH850:2.x 及更早版本
设置
对于各个基础类型,目标使用以下默认大小(以位为单位)。与其他编译器的目标不同,您在用户界面中看不到这些大小。
| 目标 | char | short | int | long | long long | float | double | long double | ptr | char 默认符号 | 端序 | 对齐 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tricore | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | 有符号 | Little | 32 |
| c166 | 8 | 16 | 16 | 32 | 64 | 32 | 64 | 64 | 32 | 有符号 | Little | 16 |
| rh850 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | 有符号 | Little | 64 |
| arm | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | 有符号 | Big | 64 |
对于 TASKING 编译器,wchar_t 不是关键字。头文件 <wchar.h> 或 cwchar 可以为 wchar_t 提供 typedef。
您的编译器设定还决定了许多编译器特定的宏的值。如果要了解 Polyspace 如何定义特定宏,请使用 -dump-preprocessing-info 选项。
要覆盖宏定义,请使用
预处理器定义 (-D)选项。要取消定义某个宏,请使用
已禁用的预处理器定义 (-U)选项。
提示
Polyspace 不支持某些特定于 TASKING 编译器的构造。
有关不支持的构造的列表,请参阅
中的polyspaceroot\polyspace\verifier\code_prover_desktopcodeprover_limitations.pdf。其中,是 Polyspace 的安装文件夹,例如polyspacerootC:\Program Files\Polyspace\R2019a。使用的 CPU 是 TC1793。如果您使用的是其他 CPU,请在您的工程中设置以下分析选项:
已禁用的预处理器定义 (-U):取消定义宏__CPU_TC1793B__。预处理器定义 (-D):定义宏__CPU__。输入__CPU__=,其中xxxxxx是您的 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 中推出