Like other Simulink® blocks, MATLAB Function blocks support bidirectional traceability, but extend navigation to lines of source code. That is, you can navigate between a line of generated code and its corresponding line of source code. In other Simulink blocks, you can navigate between a line of generated code and its corresponding object.
In addition, you can select to include the source code as comments in the generated code. When you select MATLAB source code as comments parameter, the MATLAB® source code appears immediately after the associated traceability tag. For more information, see How to Include MATLAB Code as Comments in the Generated Code.
For information about how traceability works in Simulink blocks, see What Is Code Tracing? (Embedded Coder).
To enable traceability comments in your code, you must have
a license for Embedded Coder® software. These comments
appear only in code that you generate for an Embedded Real-Time (
Traceability is not supported for MATLAB files that you call from a MATLAB Function block.
This example shows how to trace between source code and generated
code in a MATLAB Function block in the
Follow these steps:
eml_fire at the MATLAB prompt.
In the Simulink model window, select Simulation > Model Configuration Parameters.
In the Code Generation pane, go to the Target
selection section and enter
ert.tlc for the system
target file. Then click Apply.Traceability comments appear
hyperlinked in generated code only for embedded real-time (
In the Code Generation > Report pane, select the Create code generation report (Simulink Coder) parameter, if not already selected.
Verify that Code-to-model and Model-to-code parameters are enabled.
In the Code Generation > Comments pane, select the MATLAB source code as comments (Simulink Coder) and Stateflow object comments (Simulink Coder) parameters. These parameters control different parts of the traceability comment. See Location of Comments in Generated Code for more information.
Go to the Code Generation > Interface pane. In the Software environment section, select the continuous time parameter. Then click Apply. Because this example model contains a block with a continuous sample time, you must perform this step before generating code.
In the model window, press Ctrl+B.
This action generates source code and header files for the
that contains the
flame block. After the code generation
process is complete, the code generation report appears automatically.
eml_fire.c hyperlink in the report.
Scroll down through the code to see the traceability comments, which appear as links inside
/*...*/ brackets, as in this example.
<S2>:1:19 hyperlink in this traceability comment:
/* '<S2>:1:19' */
Line 19 of the function in the source code appears highlighted in the MATLAB Function Block Editor.
You can trace a line in a MATLAB function to lines of generated code. For example, right-click on line 21 of your function and select Code Generation > Navigate to Code from the context menu.
The code location for line 21 appears highlighted in
You can trace a line of generated code to a line of source code in a MATLAB function using the line number hyperlinks in the generated code.