Check safety-related code generation interface settings
Check ID:
mathworks.hism.hisl_0039
Check model configuration for code generation settings that can impact safety.
Description
This check verifies that model configuration parameters for code generation are set optimally for a safety-related application.
Available with Simulink® Check™.
Results and Recommended Actions
Condition | Recommended Action |
---|---|
The option to generate nonfinite data and operations is selected. Support for nonfinite numbers is inappropriate for real-time embedded systems. | Clear Support: non-finite numbers (Simulink Coder) on the Code Generation > Interface pane in the Configuration Parameters dialog box or set the
parameter SupportNonFinite to
off . |
The option to generate code for blocks that use continuous time is selected. Support for continuous time is inappropriate for real-time safety-related systems. | Clear Support: continuous time (Embedded Coder) on the Code Generation > Interface pane in the Configuration Parameters dialog box or set the
parameter SupportContinuousTime to
off . |
The option to generate code for noninlined S-functions is selected. This option requires support of nonfinite numbers, which is inappropriate for real-time safety-related systems. | Clear Support:
non-inlined S-functions (Embedded Coder) in the Configuration
Parameters dialog box or set the parameter
SupportNonInlinedSFcns to
off . |
The option to generate model function calls compatible with the main program module of the pre-R2012a GRT target is selected. This option is inappropriate for real-time safety-related systems. | Clear Classic call interface (Simulink Coder) on the Code Generation > Interface pane in the Configuration Parameters dialog box or set the
parameter GRTInterface to
off . |
The option to generate the
function
is cleared. Having a single call to the output and update functions
simplifies the interface to the real-time operating system (RTOS) and
simplifies verification of the generated code. | Select Single output/update function (Simulink Coder) on
the Code Generation > Interfacepane in the Configuration Parameters dialog box or set the
parameter CombineOutputUpdateFcns to
on . |
The option to generate the
function is selected. This function deallocates dynamic memory, which is
unsuitable for real-time safety-related systems. | Clear Terminate function (Embedded Coder) on the
Code Generation pane in the Configuration
Parameters dialog box or set the parameter
IncludeMdlTerminateFcn to
off . |
The option to log or monitor error status is cleared. If you do not select this option, the Simulink Coder™ product generates extra code that might not be reachable for testing. | Select Remove error status field in real-time model data
structure (Embedded Coder) on the Code Generation > Interface pane in the Configuration Parameters dialog box or set the
parameter SuppressErrorStatus to
on . |
MAT-file logging is selected. This option adds extra code for logging test points to a MAT-file, which is not supported by embedded targets. Use this option only in test harnesses. | Clear MAT-file logging (Simulink Coder) in the
Configuration Parameters dialog box or set the parameter
MatFileLogging to off . |
Action Results
Clicking Modify Settings configures model code generation settings that can impact safety.
Subchecks depend on the results of the subchecks noted with D in the results table in the Model Advisor window.
Capabilities and Limitations
Does not run on library models.
Does not allow exclusions of blocks or charts.
Does not highlight parameter names in report without Embedded Coder®.
Introduced in R2020a
R2023b — Removed check for the configuration parameter Support: absolute time (Embedded Coder) from the check analysis.
See Also
hisl_0039: Configuration Parameters > Code Generation > Interface
Model Configuration Parameters: Comments (Simulink Coder)
Model Configuration Parameters: Code Generation Identifiers (Simulink Coder)
Model Configuration Parameters: Code Generation Interface (Simulink Coder)
Model Configuration Parameters: Code Style (Embedded Coder)