多任务
任务入口函数、临界区、排他任务
要设置并发运行的多个任务或线程的验证,请使用多任务选项。Polyspace® 可以解释某些系列的多任务函数。除非您使用这些函数,否则您必须显式指定代码中的哪些函数指示入口函数、周期任务,哪些指示中断。您还必须指定对共享变量的保护机制。
Polyspace 选项
为 Code Prover 启用自动并发检测 (-enable-concurrency-detection) | 自动检测某些系列的多线程函数 |
外部多任务配置 | Enable setup of multitasking configuration from external file definitions |
OIL 文件选择 (-osek-multitasking) | Set up multitasking configuration from OIL file definition |
ARXML 文件选择 (-autosar-multitasking) | Set up multitasking configuration from ARXML file definitions |
手动配置多任务 | Consider that code is intended for multitasking |
任务 (-entry-points) | Specify functions that serve as tasks to your multitasking application |
周期任务 (-cyclic-tasks) | Specify functions that represent cyclic tasks |
中断 (-interrupts) | Specify functions that represent nonpreemptable interrupts |
临界区详细信息 (-critical-section-begin -critical-section-end) | Specify functions that begin and end critical sections |
临时排他任务 (-temporal-exclusions-file) | Specify entry point functions that cannot execute concurrently |
主题
- 指定 Polyspace 分析选项
在 Polyspace 用户界面、其他 IDE 或脚本中指定 Polyspace 分析选项。
- Analyze Multitasking Programs in Polyspace
Detect data races or deadlocks with Bug Finder, or see a comprehensive analysis of shared variable usage with Code Prover.
- Protections for Shared Variables in Multitasking Code
Protect shared variables by using critical section, temporal exclusion, priorities, or interrupt disabling.