Using compile-time initialization
With the MicroC profile, you can specify that elements should be initialized at compile time.
Compile-time initialization provides the following benefits:
- Ability to allocate data to ROM
- Saving of CPU cycles at application startup
- Ability to allocate data to specific memory segments
With the compile-time initialization feature, you can specify that compile-time initialization should be used for any of the following elements:
- relations
- flow ports
- data from the MicroC Execution Framework (MXF)
- object attributes
Regarding object attributes, with the MicroC profile you can specify different compile-time initialization values for an attribute that appears in multiple instances of a class.
You specify that compile-time initialization should be used for model elements by:
- Setting the values of a number of properties
- Providing values on the Initial Values tab of the Features window for packages
Specifying compile-time initialization for relations, flow ports, and framework data
The C_CG::Configuration::AllCategoriesInitializingMode
property
provides the following values for setting the type of initialization
to use:
- CompileTime - The generated code uses compile-time initialization for relations, flow ports, framework data, and all user-defined attributes.
- RunTime - The generated code uses runtime initialization for relations, flow ports, framework data, and all user-defined attributes.
- ByCategory - The use of compile-time or runtime initialization
in the generated code depends upon the values selected for the following
properties:
C_CG::Configuration:AttributeInitializingMode
C_CG::Configuration::DirectFlowPortsInitializingMode
C_CG::Configuration::FrameworkInitializingMode
C_CG::Configuration::RelationInitializingMode
C_CG::Configuration::DirectFlowPorts
and
C_CG::Configuration::DirectRelations
properties
must be set to True).Specifying compile-time initialization for attributes
To have the generated code use compile-time initialization for attributes, use one of the following approaches:
- Set the value of the
C_CG::Configuration::AllCategoriesInitializingMode
property to CompileTime. - Set the value of the
C_CG::Configuration::AllCategoriesInitializingMode
property to ByCategory, and set the value of theC_CG::Configuration:AttributeInitializingMode
property to CompileTime.
Specifying initial compile-time values for attributes
With the MicroC profile, you can define different compile-time initialization values for the same attribute when it appears in multiple objects.
Use the Initial Values tab of the Features window for the package that contains the attributes.
This tab lists all the attributes for all the objects contained in the package. For each attribute, enter the relevant initialization value.
When objects contain parts, the Initial Values tab shows the parts and their attributes hierarchically.