Specify whether to generate initialization code for internal work structures, such as block states and block outputs, to zero.
Category: Optimization
Default: When the Code interface
packaging parameter is set to Nonreusable function
, the
Remove internal data zero initialization check box is selected and at
the command line, ZeroInternalMemoryAtStartup
is set to
'off'
. When the Code interface packaging
parameter is set to Reusable function
or C++ Class
,
the Remove internal data zero initialization check box is cleared and
ZeroInternalMemoryAtStartup
is set to 'on'
.
Does not generate code that initializes internal work structures to zero.
During startup, standards-compliant C and C++ compilers initialize global data to zero eliminating the need to include zero initialization code for this data in the generated code. Standards compliant compilers do not necessarily initialize dynamically allocated data and local variables to zero. Before leaving the Remove internal data zero initialization parameter selected, confirm that your model meets the following conditions:
If your compiler is not standards-compliant, confirm that it initializes global data to zero.
If you set the Code Interface packaging to
Reusable function
or C++
class
, confirm that data is either statically allocated or that
dynamically allocated data is initialized to zero.
Generates code that initializes internal work structures to zero.
The Remove internal data zero initialization check box is
cleared and ZeroInternalMemoryAtStartup
is set to
'on'
and is read-only for a model in which the Code
interface packaging parameter is set to C++
class
and the Use dynamic memory allocation for model initialization parameter is selected.
If you set the Code interface packaging parameter to
Reusable function
and select the Use dynamic memory allocation for model block instantiation
parameter, the Remove internal data zero initialization check box
is cleared and ZeroInternalMemoryAtStartup
is set to
'on'
.
Note
Generated code does not initialize data whose storage class has imported scope.
This parameter appears only for ERT-based targets.
This parameter requires an Embedded Coder® license when generating code.
Parameter:
ZeroInternalMemoryAtStartup |
Value:
'off' | 'on' |
Default:
'off' |
Note
The command-line values are the reverse of the settings values. Therefore,
'on'
in the command line corresponds to the description of “Off” in
the settings section. 'off'
in the command line corresponds to the
description of “On” in the settings section.
Application | Setting |
---|---|
Debugging | No impact |
Traceability | No impact |
Efficiency | On (GUI), off (command line), (execution, ROM), No
impact (RAM) |
Safety precaution | No recommendation |