exponenta event banner

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

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

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

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

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

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

Ожидание лицензии BullseyeCoverage

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

Текущая рабочая папка не может быть UNC-путем

Если текущей рабочей папкой MATLAB ® является путь UNC, покрытие кода завершается неуспешно.

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

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

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

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

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

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

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

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

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

Например, если модель генерирует файл 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.

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

  1. Откройте обозреватель BullseyCoverage.

  2. Выберите «Сервис» > «Параметры», чтобы открыть диалоговое окно «Параметры».

  3. На вкладке Сборка (Build) установите флажок Макрос инструмента (Instrument macro expansions).

  4. Нажмите кнопку ОК.

  5. Повторно запустите моделирование.

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

Моделирование SIL и PIL с открытым тестом LDRA

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

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

Целевой API подключения поддерживает покрытие кода с помощью LDRA Testbed для верхнего уровня модели и блока модели PIL.

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

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

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

  • Существует покрытие для измерения.

  • Покрытие равно нулю.

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

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

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

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

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

Изменение устаревшего кода

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

Связанные темы