Советы и ограничения

Сборки модели и блоки SIL/PIL не поддерживаются

Покрытие кода не поддерживает:

  • Процесс сборки модели, например, Ctrl+B команда.

  • Блоки SIL или PIL.

Настройки покрытия кода игнорируются Ctrl+B команды и SIL или PIL.

BullseyeCoverage License Ожидание

Когда вы создаете свою модель, вам, возможно, придется ждать лицензии BullseyeCoverage. Если вы хотите увидеть информацию о ожидании, прежде чем вы создадите модель, в диалоговом окне Параметры конфигурации (Configuration Parameters) выберите Verbose build.

Текущая Работа папка не может быть UNC Пути

Если ваш MATLAB® текущая рабочая папка является путем UNC (UNiversal Naming Convention), покрытие кода прекращает работать.

Символы в matlabroot и путь к файлу

Если matlabroot или путь к сгенерированным файлам содержит пространство или . (период) символ, покрытие кода может оказаться неудачным.

Заголовочные файлы с идентичными именами

Рассмотрим модель, которая сконфигурирована для LDRA Testbed® покрытие кода. В процессе сборки, если программное обеспечение обнаруживает два файла заголовка с таким же именем в папке для сгенерированного кода, программное обеспечение генерирует ошибку.

Покрытие кода для исходных файлов в общих папках утилиты

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

Всякий раз, когда вы создаете модель, настройки покрытия кода модели должны соответствовать исходным файлам, которые вы ранее создали в общей папке утилит. В противном случае программное обеспечение сообщает, что код в общей папке утилит несовместим с текущим строением модели и должен быть перестроен. Для примера, если вы запускаете SIL симуляцию для модели с включенным покрытием кода и затем запускаете SIL симуляцию для другой модели с отключенным покрытием кода, программное обеспечение должно перестроить все исходные файлы в папке общих утилит.

Поведение BullseyeCoverage с встроенными макросами

Инструмент BullseyeCoverage по умолчанию не предоставляет данные о покрытии кода для встроенных макросов.

Для примера, если модель генерирует файл slprj/ert/_sharedutils/rt_SATURATE.h который содержит макрос

#define rt_SATURATE(sig,ll,ul) (((sig) >= (ul)) ? (ul) : (((sig) <= (ll)) ? (ll) : (sig)) )

и макрос находится в sat_ert_rtw/sat.c, затем отчет о покрытии предоставляет измерение для sat.c, но нет данных покрытия для условий внутри макроса rt_SATURATE.

Чтобы сконфигурировать инструмент BullseyeCoverage для предоставления данных о покрытии кода для встроенных макросов:

  1. Откройте браузер BullseyeCoverage.

  2. Выберите Tools > Options, чтобы открыть диалоговое окно Options.

  3. На вкладке Build установите флажок Instrument macro expansions.

  4. Нажмите OK.

  5. Перезапустите симуляцию.

Также можно добавить текст -macro на BullseyeCoverage конфигурационный файл. Для получения дополнительной информации перейдите по адресу www.bullseye.com/help.

SIL и PIL симуляции с открытым тестом LDRA

Если вы включите покрытие кода тестом LDRA® необходимо проверить, что графический интерфейс пользователя LDRA Testbed не открыт при запуске SIL или PIL симуляции. Если имя набора в графический интерфейс пользователя LDRA Testbed отличается от имени набора, используемого симуляцией SIL или PIL, SIL или PIL симуляция прекращает работать.

Незначительные различия SIL и PIL для тестового слоя LDRA

Целевой API связи поддерживает покрытие кода с LDRA Testbed для PIL верхней модели и блока Model.

Существуют незначительные различия в информации о покрытии кода, собранной во время SIL и PIL симуляций. В частности, с PIL, программное обеспечение не показывает явным образом покрытие выходной точки функции. Однако можно вывести покрытие точек выхода функции путем изучения покрытия оператора.

Аннотации теста LDRA с нулевым покрытием PIL

Для PIL симуляции с заданным покрытием кода LDRA Testbed могут быть некоторые исходные файлы, где зарегистрированный охват равен нулю. В этом случае программное обеспечение предоставляет сводную информацию, указывающую, что:

  • Существует охват для измерения.

  • Охват равен нулю.

Вы не видите информацию для отдельных зондов на каждой линии. Отображаемая сводная информация имеет связанную подсказку аннотации:

0 out of N coverage probes were exercised (detailed breakdown unavailable)

Поддержка PIL для BullseyeCoverage

Покрытие кода BullseyeCoverage доступно для верхней модели и блока Model PIL при условии, что ваше приложение PIL может записывать непосредственно в файловую систему хоста. Ваша цель для приложения PIL должна обеспечить fopen и fread доступ к хост-системе файла.

Если покрытие кода недоступно, когда вы запускаете приложение PIL на своем целевом компьютере, вы можете собрать измерения покрытия кода, запустив приложение PIL на симулятор процессора, которая поддерживает прямой ввод-вывод файлов с файловой системой хоста.

Изменение унаследованного кода

Если вы измените унаследованный код и перезапустите SIL или PIL симуляцию, унаследованный код перекомпилируется. Однако код из модели может быть актуальным. В этом случае отчет генерации кода не обновляется и не отображает измененный унаследованный код. Вместо этого отображается информация о покрытии кода для измененного унаследованного кода со ссылкой на исходный унаследованный код. Необходимо перегенерировать отчет. Для получения дополнительной информации см. «Ограничение».

Похожие темы