When the application is executing, the platform is maintaining a series of tasks that iterate the application at periodic rates (and possibly on an angular rate if engine functionality is required). These tasks take an amount of time to execute and the following ASAP2 entries record how long the last ran.
Table 5.13. Automatic ASAP2 entries for application rate task timing information
ASAP2 name | Description | Units |
---|---|---|
mpl_tt_task_[xxx]ms | The duration of the last application iteration for the [xxx] model rate. | microseconds |
mpl_tt_task_angular | The duration of the last TDC-firing triggered application iteration. | microseconds |
When the application is executing, the platform is maintaining a series of tasks that support the application. These tasks perform basic input and output support as well as general housekeeping. Each task takes some time to execute and the following entries record the last execution time of each.
Table 5.14. Automatic ASAP2 entries for auxiliary task timing information
ASAP2 name | Description | Units |
---|---|---|
mpl_tt_pan_task | The duration of angular platform task. This task supports the angular application iteration. | microseconds |
mpl_tt_pan_knock | The duration of angular knock support task. | microseconds |
mpl_tt_pan_knock_ref | The duration of angular knock reference support task. | microseconds |
mpl_tt_pcx_tcan_callback | The duration of the CAN receive and transmit (event) support task. | microseconds |
mpl_tt_pcx_qemptier | The duration of the CAN receive and transmit (polled) support task. | microseconds |
mpl_tt_pcx_qemptier_mcp2515 | The duration of the CAN receive and transmit (event) support task. | microseconds |
mpl_tt_psp_receive | The duration of the serial input and output support task. | microseconds |
mpl_tt_psc_watchdog | The duration of the watchdog support task. | microseconds |
mpl_tt_pcp_client | The duration of the CCP support task. This task provides CCP support for the calibration tool. | microseconds |
mpl_tt_ppp_client | The duration of the PixCal/tuning comms protocol task. This task provides support for tunable parameters via the PixCal calibration tool. | microseconds |
These entries support development by showing how long the software takes to run on the target hardware. As development progresses, new functionality can be compared to previous functionality to assess how much processing time is consumed.
The assessment can be made by noting how frequently the tasks run and how long they take, giving an estimated total consumption.
Table 5.15. Automatic ASAP2 entries for CPU loading information
ASAP2 name | Description | Units |
---|---|---|
mpl_cpu_loaded | The amount of CPU used by the application and platform software in the last 50 milliseconds as a percentage. The CCP task may cause the loading to reach 100 percent under certain conditions but this is normal. The long running CCP task will not cause application iterations or other functionality to be delayed. | percent |
Some target ECU support loading measurement for processing devices other than the CPU. The eTPU device, or devices, are used for simple and complex I/O processing.
Table 5.16. Automatic ASAP2 entries for eTPU loading information
ASAP2 name | Description | Units |
---|---|---|
mpl_etpu_a_loaded | The amount of eTPU (device A) used by the application and platform software in the last 50 milliseconds as a percentage. | percent |
mpl_etpu_b_loaded | The amount of eTPU (device B) used by the application and platform software in the last 50 milliseconds as a percentage. | percent |
Although previous entries record how long the last execution took, it is useful to know the longest execution that has occurred since power up. There are ASAP2 entries to support this.
Table 5.17. Automatic ASAP2 entries for maximum application rate task timing information
ASAP2 name | Description | Units |
---|---|---|
mpl_mtt_[name] | The largest value of the corresponding application duration ASAP2 variable seen since the last power up or reset. | microseconds |
mpl_max_cpu_loaded | The largest value of mpl_cpu_loaded seen since the last power up or reset. | percent |
mpl_max_etpu_a_loaded | The largest value of mpl_etpu_a_loaded seen since the last power up or reset. | percent |
mpl_max_etpu_b_loaded | The largest value of mpl_etpu_b_loaded seen since the last power up or reset. | percent |
Note that the maximum task duration entries record the longest execution seen since power up and not the worst case execution time of the task. It could be that a task will take longer to run if given different stimuli. OpenECU does not support the direct derivation of worst case execution times.
There is also a seconds counter which is cleared to zero when the ECU is turned on or resets. The counter can be used to determine if the ECU is resetting on a regular or irregular basis.
Table 5.18. Automatic ASAP2 entries for run-time information
ASAP2 name | Description | Units |
---|---|---|
mpl_run_time | A seconds counter of the time since power up; range [0, 4294967294]. | seconds |
Expected and unexpected resets are logged and counted. There are ASAP2 entries to report reset counts.
Table 5.19. Automatic ASAP2 entries for reset information (M110, M220, M250, M460, M461)
ASAP2 name | Description | Units |
---|---|---|
mpl_unstable_reset_count | Number of resets since power-up, or since the application was last stable. | events |
mpl_reset_count | Number of resets since power-up. | events |
Table 5.20. Automatic ASAP2 entries for number of instances of period overruns of periodic tasks
ASAP2 name | Description | Units |
---|---|---|
mpl_ovrc_[name] | The number of times the task has taken longer that its period to run. | count |