Imt.Base Configuration Tab (DATAFLOW Code)
This Reference Article has been written for Version 2.1 of the DATAFLOW Software. For Previous Releases use the version selection in the navigation bar at the top of this page.
This Tab is part of Build Configuration Page in the Project Settings dialog.
Tab Description
The Imt.Base Configuration Page in the Build Configuration is used to configure the used Imt.Base packages. In addition to the default packages (Platform, Diagnostics, Math and Runtime), configuration for optional packages can be found on this page as well. In addition, an estimation of the application footprint is shown based on the configuration.
See the C++ Code Generation article for an overview on code generation.
Tab Actions
This tab does not provide any special actions.
Tab Groups
The page shows the following groups in Advanced mode:
- Platform (A)
- Diagnostics (A)
- Math (A)
- Runtime
- Remoting (A)
- Footprint
For each group, if an option is only shown in advanced mode, it will be marked with (A).
Platform Group (A)
Interrupts (A) | |
Custom Defines (A) |
All code that is added to this field will be written to the PlatformConfigApp configuration header file without any changes. This can be used to add custom defines or constants. Note: This field must contain valid code in the configured target language. Note: See the Imt.Base API Documentation for more details. |
Diagnostics Group (A)
Callback (A) |
When this checkbox is checked, the code generator will add a Custom assert handler to the callback folder (see Source Code Paths). This allows the developer to define custom assert handling. See the Imt.Base API Documentation for more details. |
Custom Defines (A) |
All code that is added to this field will be written to the DiagnosticsConfigApp configuration header file without any changes. This can be used to add custom defines or constants. This field must contain valid code in the configured target language. See the Imt.Base API Documentation for more details. |
Math Group (A)
Custom Implementation (A) |
This group provides check boxes to add a custom implementation for a group of math operators. When checked, the user code must contain an implementation for the given operators. When unchecked, the implementation provided by the Imt.Base.Core.Math package is used. |
Runtime Group
Use Runtime Statistics |
When this checkbox is checked, the code generator will add a FreeRunningTimer and StatisticsCalibration file to the Statistics folder (See Source Code Paths). This allows the developer to add the required user code to use the Statistics Feature of the DATAFLOW runtime. In addition, the project generator will add a Statistics configuration to the generated IDE project. |
Use Small Event Buffer |
When this checkbox is checked, the small event buffer is enabled in the runtime configuration. |
Custom Idle Callback (A) |
When this checkbox is checked, a Idle Callback is generated to the Callbacks folder (see Source Code Paths). This allows the developer to implement a custom behaviour when the Runtime has no work to do. For more information see the DATAFLOW Runtime API Documentation. |
Custom Event Pool Capacity Callback (A) |
When this checkbox is checked, an Event Capacity Callback is generated to the Callbacks folder (see Source Code Paths). This allows the developer to discard events when the event pool reaches a high water mark. For more information see the DATAFLOW Runtime API Documentation. |
Tick Length (A) |
The tick length is used to show the correct timer length in the DATAFLOW Designer. All timers intervals in the model are defined as number of ticks. The displayed value in milliseconds is based on this value. |
Event Pool Size |
This field defines the number of events allocated in the static event pool. This value must be defined based on the developed application and can not be automatically determined. |
Event Size (A) |
This field defines the number of bytes allocated for each event in the event pool. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the largest protocol size in the generated model. |
Small Event Pool Size |
This field defines the number of events allocated in the static small event pool. This value must be defined based on the developed application and can not be automatically determined. |
Small Event Threshold (A) |
This value defines the threshold for events to be added to the small event pool. All events above this threshold will use the regular event pool. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the smallest protocol size in the generated model. |
Executable Pool Size (A) |
This field defines the maximal number of active parts (executables) the application can use. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the number of active parts in the generated model. |
Timer Pool Size (A) |
This field defines the maximal number of timers the application can use. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the number of timers in the generated model. |
Buffer Pool Size (A) |
This field defines the maximal number of buffers the application can use. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the number of buffers in the generated model. |
Default Stack Size (A) |
This value defines the default stack size allocated for an active part. An individual stack size can be defined for each active part in the model. This value is only used for runtime that do not use a single stack (RTOS Runtime). This value must be defined based on the developed application and can not be automatically determined. |
Remoting Group (A)
This group is only shown when the Imt.Base.Lib.Remoting optional package is selected on the Platform page.
Frame Pool Size (A) |
This value defines the number of remote frames in the frame pool. The required number of frames must be adjusted to the user code. Each remoting stack used requires 2 frames (one for send, one for received) per layer. A typical value for one active part with send and receive on 3 layers (physical, framing, CRC) would be 6. Note: See Imt.Base API Documentation for more details. |
Frame Size (A) |
This field defines the number of bytes allocated for a single data frame. This must contain the remote object and all additional data sent over the serial connection. This is defined by the added layers. A typical value is remote object size + 5 bytes (2 byte CRC, 2 Byte Message Identifier, 1 byte message delimiter) |
Remote Object Size (A) |
The field defines the maximal size for a remote object sent over the serial connection. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the largest protocol size that has the 'Is Remote Object' property checked. |
Remote Object Registry Size (A) |
This field defines the maximal number of remote objects that can be registred. Note: This value can be automatically generated from the model when the checkbox is set. To set a manual value, uncheck the checkbox. The automated value is defined by the sum of protocols that have the 'Is Remote Object' property checked. |
Footprint Group
This group shows an estimated static memory footprint for the generated application.
Note: This is not possible for the Windows runtime, because dynamic memory will be used.
Read/Write Data |
This field shows the estimated size of the generated application in read/write memory. This is typically placed in RAM. It is calculated based on the configured data pool sizes and adds a constant value based on the configured runtime type. It does not account for any user code. |
Read Only Data |
This field shows the estimated size of the generated application in read only memory. This is typically placed in Flash. It is calculated based on the configured data pool sizes and adds a constant value based on the configured runtime type. It does not account for any user code. |
Total Footprint |
The sum of the above values. |
Required Module: DATAFLOW Code
This Article has been written based on V2.1.1 of the DATAFLOW software.
Latest update 2023-05-31 by WUM.
Comments
0 comments
Please sign in to leave a comment.