Как и другие Simulink® блоки, блоки MATLAB Function поддерживают двустороннюю отслеживаемость, но расширяют навигацию до строк исходного кода. То есть можно перемещаться между линией сгенерированного кода и соответствующей ей строкой исходного кода. В других блоках Simulink можно перемещаться между линией сгенерированного кода и соответствующим ей объектом.
В сложение можно выбрать включение исходного кода в качестве комментариев в сгенерированный код. Когда вы выбираете MATLAB source code as comments параметр, MATLAB® исходный код появляется сразу после связанного тега трассируемости. Для получения дополнительной информации смотрите Включить код MATLAB в качестве комментариев в сгенерированный код.
Для получения информации о том, как работает трассируемость в блоках Simulink, смотрите Проверьте сгенерированный код при помощи трассировки кода.
Чтобы включить комментарии трассируемости в коде, вы должны иметь лицензию для Embedded Coder® программное обеспечение. Эти комментарии появляются только в коде, который вы генерируете для Embedded Real-Time (ERT
) цель.
Примечание
Трассируемость не поддерживается для файлов MATLAB, которые вы вызываете из блока MATLAB Function.
В этом примере показано, как проследить между исходным кодом и сгенерированным кодом в блоке MATLAB Function в rtwdemo_dynamicio
модель. Выполните следующие действия:
Откройте rtwdemo_dynamicio
модели.
Откройте приложение Embedded Coder.
Измените системный целевой файл на ert.tlc
при выдаче приглашения. Комментарии трассируемость появляются гиперссылками в сгенерированном коде только для встроенного реального времени (ert.tlc
) цели.
В диалоговом окне Параметры конфигурации на панели Code Generation > Report выберите эти параметры, если они еще не выбраны:
На панели Code Generation > Comments выберите исходный код MATLAB в качестве комментариев и параметров комментариев объекта Stateflow. Эти параметры управляют различными частями комментария трассируемости.
В окне модели нажмите Ctrl+B.
Это действие генерирует исходный код и заголовочные файлы для rtwdemo_dynamicio
модель, которая содержит emlHorizontalSum
и emlVerticalSum
блоки. После завершения процесса генерации кода автоматически появляется отчет генерации кода.
Нажмите на rtwdemo_dynamicio.c
гиперссылка в отчете.
Прокрутите код вниз, чтобы увидеть комментарии трассируемости, которые появляются как ссылки внутри /*...*/
скобки, как в этом примере.
Нажмите на <S1>:1:2
гиперссылка в этом комментарии трассируемости:
/* '<S1>:1:2' y = sum(u,2); */
Линия 2 функции в исходном коде отображается в редакторе блоков MATLAB function.
Можно проследить линию в функции MATLAB, чтобы линии сгенерированный код. Например, щелкните правой кнопкой мыши по линии 2 вашей функции и выберите Code Generation > Navigate to Code из контекстного меню.
Местоположение кода для линии 2 подсвечивается в rtwdemo_dynamicio.c
.
Вы можете проследить линию сгенерированного кода до строки исходного кода в функции MATLAB, используя гиперссылки номера линии в сгенерированном коде.