Чтобы проверить сгенерированный код, Embedded Coder® обеспечивает двустороннюю отслеживаемость между моделью Simulink® и отчетом генерации кода. Можно использовать любой метод для трассируемости:
Код к модели: отчет генерации кода отображает эти гиперссылки в строках с комментариями в сгенерированном коде:
Имена блока/подсистем
Номера строки
Операторы
Чтобы подсветить соответствующий блок или подсистему в Редакторе Simulink, кликните по гиперссылкам.
Модель к коду: можно выбрать один или несколько блоков модели в Редакторе Simulink и перейти к соответствующему сгенерированному коду в отчете генерации кода.
Использовать гиперссылки для трассировки кода к элементам модели:
Откройте модель и убедитесь, что она сконфигурирована для цели ERT.
На Code Generation> панель Report, проверьте, что вы выбрали эти параметры:
Create code generation report (Simulink Coder)
Open report automatically (Simulink Coder)
Code-to-model (Simulink Coder)
Model-to-code (Simulink Coder)
Создайте или сгенерируйте код для модели. Отчет генерации кода HTML отображен в веб-браузере MATLAB®.
В окне отчета HTML кликните по гиперссылкам, чтобы подсветить исходные блоки. Например, сгенерируйте отчет HTML для модели rtwdemo_hyperlinks
. В сгенерированном коде для образцовой ступенчатой функции в rtwdemo_hyperlinks.c
кликните по первой гиперссылке блока UnitDelay: '<Root>/X'
.
В окне модели подсвечен соответствующий блок UnitDelay
.
Использовать номера строки для трассировки кода к элементам модели:
В предыдущей модели, rtwdemo_hyperlinks
, кликают по гиперссылке в номере строки 147. Номера строки могут отличаться от чисел, которые появляются в вашем отчете генерации кода.
В окне модели подсистема Графика подсвечена и содержит функциональность на строке 147.
Прослеживать элементы модели до их соответствующего сгенерированного кода:
Полные шаги 1 и 2 как в Трассируемости Кода к модели
Проверьте, что вы выбрали параметр Model-to-code. Этот параметр включает кнопку Configure (Simulink Coder), которая открывает диалоговое окно для загрузки существующей информации о трассируемости. Для получения дополнительной информации смотрите Перезагрузку Существующая информация о Трассируемости.
Создайте или сгенерируйте код для модели. Отчет генерации кода HTML отображен в веб-браузере MATLAB.
В окне модели щелкните правой кнопкой по элементу модели. Чтобы выбрать несколько блоков, удержите клавишу SHIFT и выберите дополнительные блоки.
Из контекстного меню выберите C/C++ Code> Navigate to C/C++ Code. В отчете генерации кода HTML вы видите первую инстанцию подсвеченного кода, который сгенерирован для элемента модели. На левой панели отчета числа, которые появляются справа от сгенерированных имен файлов, указывают на общее количество подсвеченных строк в каждом файле. Эти данные показывают результат трассировки блока Unit Delay в модели rtwdemo_hyperlinks
.
Наверху окна кода используйте панель навигации, чтобы двинуться вперед и назад через несколько экземпляров подсвеченных строк. Используйте боковую панель навигации, чтобы перейти непосредственно к строке кода.
Если вы закрываете и вновь открыли модель, опция контекстного меню Navigate to Code не может быть доступной, потому что Embedded Coder не может найти папку сборки для вашей модели в текущей рабочей папке. Выполнить одно из следующих действий:
Сбросьте текущую рабочую папку к родительской папке существующей папки сборки.
Выберите Model-to-code и восстановите модель. Восстановление модели регенерирует папку сборки в текущую рабочую папку.
Нажмите Configure. В диалоговом окне навигации Модели к коду перезагрузите существующую информацию о трассируемости путем определения исходной папки сборки.