Покрытие кода не поддерживает:
Процесс сборки модели, например, Ctrl+B
команда.
SIL или блоки PIL.
Настройки покрытия кода проигнорированы Ctrl+B
команда и SIL или блоки PIL.
Когда вы создаете свою модель, вам придется ожидать лицензии BullseyeCoverage. Если вы хотите видеть информацию об ожидании, прежде чем вы создадите свою модель в диалоговом окне Configuration Parameters, выберите Verbose build.
Если ваш MATLAB® текущая рабочая папка является путем к Универсальному соглашению о присвоении имен (UNC), сбоями покрытия кода.
matlabroot
и путь к файлуЕсли matlabroot
или путь к вашим сгенерированным файлам содержит пробел или .
(период) символ, покрытие кода может перестать работать.
Рассмотрите модель, которая сконфигурирована для покрытия кода LDRA Testbed®. Во время процесса сборки, если программное обеспечение обнаруживает два заголовочных файла с тем же именем в папке для сгенерированного кода, программное обеспечение генерирует ошибку.
Программное обеспечение поддерживает покрытие кода для исходных файлов, сгенерированных в разделяемых служебных папках. Если вы конфигурируете покрытие кода для модели, которая использует разделяемую служебную генерацию кода, когда вы создаете модель, вы также создаете все исходные файлы в разделяемой сервисной папке с включенным покрытием кода.
Каждый раз, когда вы создаете модель, настройки покрытия кода модели должны быть сопоставимы с исходными файлами, которые вы ранее создали в разделяемой сервисной папке. В противном случае программное обеспечение сообщает, что код в разделяемой сервисной папке противоречив с настройкой текущей модели и должен быть восстановлен. Например, если вы запускаете SIL симуляцию для модели с включенным покрытием кода и затем запускаете SIL симуляцию для другой модели с отключенным покрытием кода, программное обеспечение должно восстановить все исходные файлы в разделяемой сервисной папке.
Инструмент 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, чтобы обеспечить данные о покрытии кода для встроенных макросов:
Откройте браузер BullseyeCoverage.
Выберите Tools> Options, чтобы открыть Окно параметров.
На вкладке Build установите флажок Instrument macro expansions.
Нажмите OK.
Повторно выполните свою симуляцию.
В качестве альтернативы можно добавить текст -macro
к BullseyeCoverage
конфигурационный файл. Для получения дополнительной информации перейдите к www.bullseye.com / справка.
Если вы включаете покрытие кода с инструментом LDRA Testbed®, необходимо проверить, что графический интерфейс пользователя Испытательного стенда LDRA не открыт, когда вы запускаете свой SIL или PIL симуляцию. Если имя набора в графический интерфейсе пользователя Испытательного стенда LDRA отличается от имени набора, используемого SIL или PIL симуляцией, SIL или сбоями PIL симуляции.
Целевой API возможности соединения поддерживает покрытие кода с Испытательным стендом LDRA для топ-модели и блока Model PIL.
Существуют незначительные различия в информации покрытия кода, собранной во время SIL и PIL симуляций. В частности, с PIL программное обеспечение явным образом не показывает функциональное покрытие точки выхода. Однако можно вывести покрытие функциональных точек выхода путем исследования покрытия оператора.
Для PIL симуляции с заданным покрытием кода Испытательного стенда LDRA могут быть некоторые исходные файлы, где записанное покрытие является нулем. В этом случае программное обеспечение предоставляет итоговую информацию, указывающую что:
Существует покрытие, чтобы измериться.
Покрытие является нулем.
Вы не видите информации для отдельных зондов на каждой линии. Отображенная итоговая информация имеет связанную подсказку аннотации:
0 out of N coverage probes were exercised (detailed breakdown unavailable)
Покрытие кода с BullseyeCoverage доступно топ-модели и блоку Model PIL, если ваше приложение PIL может записать непосредственно в файловую систему хоста. Ваша цель для приложения PIL должна обеспечить fopen
и fread
доступ к файловой системе хоста.
Если покрытие кода не доступно, когда вы запускаете приложение PIL на своем целевом компьютере, вы можете смочь собрать измерения покрытия кода путем запуска приложения PIL на симуляторе процессора, который поддерживает ввод-вывод файла прямого доступа с файловой системой хоста.
Если вы изменяете унаследованный код и повторно выполняете SIL или PIL симуляцию, унаследованный код перекомпилирован. Однако код из модели может быть актуальным. В этом случае отчет генерации кода не обновляется и не показывает модифицированный унаследованный код. Вместо этого информация о покрытии кода для модифицированного унаследованного кода отображена со ссылкой на исходный унаследованный код. Необходимо регенерировать отчет. Для получения дополнительной информации смотрите Ограничение (Simulink Coder).