Покрытие кода не поддерживает:
Процесс сборки модели, например, команда Ctrl+B
.
SIL или блоки PIL.
Настройки покрытия кода проигнорированы командой Ctrl+B
и блоками PIL или SIL.
Когда вы создаете свою модель, вам придется ожидать лицензии 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/help.
Если вы включаете покрытие кода с инструментом 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).
Когда вы генерируете код для Ссылки IDE, вы не можете использовать Испытательный стенд LDRA для SIL или покрытия кода PIL. А именно, это ограничение применяется, когда вы используете следующие настройки вместе:
Configuration Parameters> Code Generation> System target file: idelink_ert.tlc
Configuration Parameters> Code Generation> Verification> Third-party tool: LDRA Testbed
.