Как другие блоки Simulink®, блоки MATLAB Function поддерживают двустороннюю отслеживаемость, но расширяют навигацию к линиям исходного кода. Таким образом, можно перейти между линией сгенерированного кода и его соответствующей линией исходного кода. В других блоках Simulink можно перейти между линией сгенерированного кода и его соответствующим объектом.
Кроме того, можно выбрать, чтобы включать исходный код как комментарии в сгенерированном коде. Когда вы выбираете параметр MATLAB source code as comments, исходный код MATLAB® сразу появляется после связанного тега трассируемости. Для получения дополнительной информации смотрите, Включают код MATLAB как Комментарии в Сгенерированном коде.
Для получения информации о том, как трассируемость работает в блоках Simulink, смотрите, Проверяют Сгенерированный код при помощи Трассировки Кода.
Чтобы включить комментарии трассируемости в вашем коде, у вас должна быть лицензия на программное обеспечение Embedded Coder®. Эти комментарии появляются только в коде, который вы генерируете для Встроенного В реальном времени (ERT
) цель.
Примечание
Трассируемость не поддерживается для файлов MATLAB, которые вы вызываете от блока MATLAB Function.
В этом примере показано, как проследить между исходным кодом и сгенерированным кодом в блоке MATLAB Function в rtwdemo_dynamicio
модель. Выполните эти шаги:
Открытая модель rtwdemo_dynamicio
.
Откройте приложение Embedded Coder.
Измените системный конечный файл в ert.tlc
когда запрошено. Комментарии трассируемости кажутся связанными гиперссылками в сгенерированном коде только для встроенного, в реальном времени (ert.tlc
) цели.
В диалоговом окне Configuration Parameters, на панели 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 с помощью гиперссылок номера строки в сгенерированном коде.