You can integrate custom code written in C or C++ with Stateflow® charts in Simulink® models. By sharing data and functions between your custom code and your Stateflow chart, you can augment the capabilities of Stateflow and leverage the software to take advantage of your preexisting code. For more information, see Reuse Custom Code in Stateflow Charts.
Specify custom code options in the simulation target for your model:
Open the Model Configuration Parameters dialog box.
In the Model Configuration Parameters dialog box, select the Simulation Target pane.
The custom code options appear.
Specify your custom code in the subpanes.
Follow the guidelines in Specify Relative Paths to Your Custom Code.
Source file — Enter code
lines to include at the top of a generated source code file. These
code lines appear at the top of the generated
source
file, outside of any function.model
.c
For example, you can include extern int
declarations for global variables.
Header file — Enter code
lines to include at the top of the generated
header
file that declares custom functions and data in the generated code.
These code lines appear at the top of all generated source code
files and are visible to all generated code.model
.h
Note
When you include a custom header file, you must enclose the
file name in double quotes. For example, #include
''sample_header.h''
is a valid declaration for a
custom header file.
Since the code you specify in this option appears in multiple
source files that link into a single binary, limitations exist on
what you can include. For example, do not include a global variable
definition such as int x;
or a function body such
as
void myfun(void) { ... }
These code lines cause linking errors because their symbol
definitions appear multiple times in the source files of the
generated code. You can, however, include extern
declarations of variables or functions such as extern int
x;
or extern void
myfun(void);
.
Initialize function — Enter code statements that execute once at the start of simulation. Use this code to invoke functions that allocate memory or perform other initializations of your custom code.
Terminate function — Enter code statements that execute at the end of simulation. Use this code to invoke functions that free memory allocated by the custom code or perform other cleanup tasks.
Include directories — Enter a space-separated list of the folder paths that contain custom header files that you include either directly (see Header file option) or indirectly in the compiled target.
Source files — Enter a list of source files to compile and link into the target. You can separate source files with a comma, a space, or a new line.
Libraries — Enter a space-separated list of static libraries that contain custom object code to link into the target.
Click OK.
Simulate your model by clicking the play button in the toolbar of the editor.
For information on setting simulation options using the command-line API, see Command-Line API to Set Simulation and Code Generation Parameters.