Многозадачность

Многозадачные опции, точки входа, критические разделы, исключительные задачи

Чтобы настроить верификацию нескольких задач или потоков, которые запускаются одновременно, используйте многозадачные опции. Polyspace® интерпретирует определенные семейства многозадачных функций. Если вы не используете эти функции, необходимо явным образом задать, какие функции в коде указывают на точки входа, циклические задачи или прерывания. Необходимо также задать механизмы защиты для совместно используемых переменных. Средство поиска ошибки использует эти технические требования, чтобы обнаружить гонки данных, заводит в тупик, двойные замки и другие проблемы параллелизма.

Аналитические опции

OIL files selection (-osek-multitasking)Настройте многозадачную настройку из НЕФТЯНОГО определения файла
ARXML files selection (-autosar-multitasking)Настройте многозадачную настройку из определений файла ARXML
Tasks (-entry-points)Задайте функции, которые служат задачами к вашему многозадачному приложению
Cyclic tasks (-cyclic-tasks)Задайте функции, которые представляют циклические задачи
Interrupts (-interrupts)Задайте функции, которые представляют nonpreemptable прерывания
Disabling all interrupts (-routine-disable-interrupts -routine-enable-interrupts)Задайте стандартные программы, которые отключают и повторно включают прерывания.
Critical section details (-critical-section-begin -critical-section-end)Задайте функции, которые начинают и заканчивают критические разделы
Temporally exclusive tasks (-temporal-exclusions-file)Задайте функции точки входа, которые не могут выполниться одновременно

Темы

Подготовьте скрипты к анализу Polyspace

Объедините специфичные для проекта опции, такие как источники с допускающими повторное использование опциями, такими как средства проверки.

Анализируйте многозадачные программы в Polyspace

Обнаружьте гонки данных или мертвые блокировки, или смотрите всесторонний анализ использования совместно используемой переменной.

Меры защиты для совместно используемых переменных в многозадачном коде

Защитите совместно используемые переменные при помощи критического раздела, временного исключения, приоритетов или запрета прерываний.

Сопутствующая информация

Дефекты параллелизма (Polyspace Bug Finder Access)