Tasks (-entry-points)

Задайте функции, которые служат задачами к вашему многозадачному приложению

Описание

Эта опция не доступна для кода, сгенерированного из кода MATLAB® или моделей Simulink®.

Задайте функции, которые служат задачами к вашему коду. Если функция не существует, верификация предупреждает вас и продолжает верификацию.

Установите опцию

Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция доступна на узле Multitasking. Смотрите Зависимости для других опций, которые необходимо также включить.

Командная строка и файл опций: Используйте опцию -entry-points. Смотрите информацию о командной строке.

Почему использование эта опция

Используйте эту опцию, когда ваш код будет предназначен для многозадачности.

Чтобы задать циклические задачи и прерывания, используйте опции Cyclic tasks (-cyclic-tasks) и Interrupts (-interrupts). Используйте эту опцию, чтобы задать другие задачи.

Анализ Программы автоматического доказательства Кода использует ваши технические требования, чтобы определить:

  • Совместно используется ли глобальная переменная.

    Смотрите глобальные переменные (Polyspace Code Prover).

  • Может ли ошибка времени выполнения произойти.

    Например, если операция var++ происходит в теле циклической задачи, и вы не накладываете ограничение на var, операция может переполниться. Анализ обнаруживает возможное переполнение.

Анализ Bug Finder использует ваши технические требования, чтобы искать дефекты параллелизма. Для получения дополнительной информации смотрите Дефекты Параллелизма.

Настройки

Никакое значение по умолчанию

Введите имена функций или выберите из списка.

  • Щелкните, чтобы добавить поле и ввести имя функции.

  • Щелкните, чтобы перечислить функции в вашем коде. Выберите функции из списка.

Зависимости

Чтобы включить эту опцию в пользовательском интерфейсе десктопных решений, сначала выберите опцию Configure multitasking manually.

Советы

  • В Программе автоматического доказательства Кода функции, представляющие точки входа, должны иметь форму

    void functionName (void)

  • Если функциональный func берет аргументы или возвращает значение, вы не можете использовать его непосредственно в качестве точки входа. Использовать func как точка входа: вызовите func от обертки void- void функционируйте и задайте обертку как точку входа. Смотрите Configure multitasking manually.

  • Если вы задаете функцию как задачу, необходимо предоставить ее определение. В противном случае верификация Программы автоматического доказательства Кода останавливается с сообщением об ошибке:

    task func_name must be a userdef function without parameters

    Анализ Bug Finder продолжает, но не рассматривает функции как точку входа.

  • Если вы петляете верификацией файла в Программе автоматического доказательства Кода, ваши многозадачные опции проигнорированы. Смотрите Verify files independently (-unit-by-unit).

  • Анализ многозадачности Polyspace® принимает, что задача не может прервать себя.

Информация о командной строке

Параметр: -entry-points
Никакое значение по умолчанию
Значение: function1[, function2[,...]]
Пример (Bug Finder): Polyspace Bug Finder - источники file_name - точки входа func_1, func_2
Пример (Программа автоматического доказательства Кода): Polyspace Code Prover - источники file_name - точки входа func_1, func_2
Пример (Сервер Bug Finder): сервер средства поиска ошибки полипробела - источники file_name - точки входа func_1, func_2
Пример (Сервер Программы автоматического доказательства Кода): сервер программы автоматического доказательства полипробела кода - источники file_name - точки входа func_1, func_2