TASKING 编译器 (-compiler tasking
)
指定 Altium TASKING 编译器
描述
如果使用 Altium® TASKING 编译器编译代码,请在编译器 (-compiler)
处指定任务。当您使用的语法不是标准语法,而是来自语言扩展时,通过指定您的编译器,可以避免此类语法导致编译错误。
然后,指定您的目标处理器类型。如果您为编译器选择任务,则在 Polyspace® 桌面端产品的用户界面中,您只会看到 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 | signed | Little | 32 |
c166 | 8 | 16 | 16 | 32 | 64 | 32 | 64 | 64 | 32 | signed | Little | 16 |
rh850 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | signed | Little | 64 |
arm | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | signed | 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 的安装文件夹,例如polyspaceroot
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 中推出