Created on 2022-01-10, 11:01:16.663 using Version 3.00A released on 2022.01.13 (YMD)

Worst Case Thread Lengths

Thead/Function Steps Ram Accesses
PWM 14 6
            PWM::PWM_init    [excluded] 22 4
            PWM::PWM_immediate_update 11 3
            PWM::PWM_immediate_update_missed 9 2
            PWM::PWM_coherent_update 14 6
            PWM::PWM_frame_edge_active_high 11 3
            PWM::PWM_frame_edge_active_low 12 3
            PWM::PWM_active_edge 4 2
            PWM::PWM_Error    [excluded] 1 0
IC 54 11
            IC::IC_init_tcr1    [excluded] 9 1
            IC::IC_init_tcr2    [excluded] 10 1
            IC::IC_init_pram 10 1
            IC::IC_Trans 50 10
            IC::IC_trans_with_ram_ref 54 11
            IC::IC_Error    [excluded] 1 0
FPM 13 10
            FPM::Init_FPM    [excluded] 10 0
            FPM::Update_FPM 7 2
            FPM::FIRST_EDGE 3 2
            FPM::TDL_FPM 3 3
            FPM::COUNT_EM_FPM 13 10
            FPM::FPM_Error    [excluded] 1 0
QOM 35 11
            QOM::QOM_init_hi    [excluded] 34 10
            QOM::QOM_init_lo    [excluded] 34 10
            QOM::Init_QOM_LNK_NC 4 2
            QOM::QOM_init_lsr_low 6 2
            QOM::QOM_init_lsr_high 6 2
            QOM::QOM_init_nc 32 10
            QOM::QOM_service_link 35 11
            QOM::Service_single_match0 23 8
            QOM::Service_single_match1 22 8
            QOM::QOM_match_0 25 8
            QOM::QOM_match_1 24 8
            QOM::QOM_Error    [excluded] 1 0
SM cna
loop
cna
loop
            SM::SM_init_low 6 2
            SM::SM_init_high 5 2
            SM::SM_stop_low 2 0
            SM::SM_stop_high 2 0
            SM::SM_move cna
loop
cna
loop
            SM::SM_step cna
loop
cna
loop
            SM::SM_Error 1 0
Cam 26 19
            Cam::CAM_Init    [excluded] 10 4
            Cam::CAM_UpdateWindow 6 4
            Cam::CAM_SeekAndStartAngle 12 5
            Cam::CAM_Sync 26 19
            Cam::CAM_Link 7 4
            Cam::CAM_InvalidM1 3 2
            Cam::CAM_InvalidM2 3 2
            Cam::CAM_Error 1 0
Crank 80 28
            Crank::CRANK_Init    [excluded] 12 2
            Crank::CRANK_AngleAdjust 4 3
            Crank::CRANK_Iph 6 4
            Crank::CRANK_Counting 53 14
            Crank::CRANK_ToothBeforeGap 46 13
            Crank::CRANK_ToothAfterGap 80 28
            Crank::CRANK_Other 67 17
            Crank::CRANK_Link 19 4
            Crank::CRANK_InvalidM1 21 4
            Crank::CRANK_ 3 1
Fuel 66 27
            Fuel::FUEL_Update1    [excluded] 53 17
            Fuel::FUEL_UPDATE2    [excluded] 42 12
            Fuel::FUEL_Init    [excluded] 65 26
            Fuel::FUEL_DropDeadAngleA 66 27
            Fuel::FUEL_DropDeadAngleB 53 22
            Fuel::FUEL_ReCalc 39 11
            Fuel::FUEL_PulseStartAngle 14 6
            Fuel::FUEL_PulseEndTime 9 5
            Fuel::FUEL_AddlPulseStartTime 9 3
            Fuel::FUEL_Error 1 0
knock_window 28 19
            knock_window::KNOCK_Init    [excluded] 25 13
            knock_window::KNOCK_EdgeA 2 0
            knock_window::KNOCK_EdgeB 28 19
            knock_window::KNOCK_Error 1 0
Spark 52 19
            Spark::SPARK_INITIALIZATION    [excluded] 52 20
            Spark::SPARK_Link    [excluded] 52 20
            Spark::SPARK_Update    [excluded] 44 10
            Spark::SPARK_MinDwellMatch 13 6
            Spark::SPARK_MaxDwellMatch 52 19
            Spark::SPARK_RecalcMatch 31 6
            Spark::SPARK_MainPulseStartMatch 5 2
            Spark::SPARK_MainPulseEndMatch 51 19
            Spark::SPARK_MultiPulseStartMatch 3 1
            Spark::SPARK_MultiPulseEndMatch 49 19
            Spark::SPARK_Error 1 0
TOOTHGEN 54 20
            TOOTHGEN::TOOTH_GEN_Init    [excluded] 51 19
            TOOTHGEN::TOOTH_GEN_NoiseFirstEdge 5 1
            TOOTHGEN::TOOTH_GEN_NoiseSecondEdge 1 0
            TOOTHGEN::TOOTH_GEN_CrankFirstEdge 54 20
            TOOTHGEN::TOOTH_GEN_CrankSecondEdge 45 18
            TOOTHGEN::TOOTH_GEN_Error 1 0
Global Functions -- --
            Global_Error_Func cna cna
            Link4 5 0

Note: worst case data marked as 'cna' could not be analyzed. See the ETEC documentation for an explanation.

Note: [excluded] is used to denote threads that are excluded from a class's and entry table's WCTL.

Worst Case Latency

Channel/Function Priority WCTL* Max WCL Actual WCL

Note: No System Configuration file was loaded (see -sysConfig=<FileName>)

Source Code File Information

File Opcodes Code Size (bytes) Start Stop
etpuc_crank.c 410 1640 0xF78 0x15DC
etpuc_fuel.c 200 800 0x15E0 0x18FC
etpuc_spark.c 143 572 0x19E4 0x1C1C
etpuc_sm.c 131 524 0xC68 0xE70
etpuc_qom.c 124 496 0xA78 0xC64
etpuc_toothgen.c 123 492 0x1C20 0x1E08
etpuc_pwm.c 67 268 0x814 0x91C
etpuc_cam.c 65 260 0xE74 0xF74
etpuc_knock_window.c 57 228 0x1900 0x19E0
etpuc_ic.c 52 208 0x920 0x9EC
etpuc_fpm.c 34 136 0x9F0 0xA74
_global_error_handler.lib 29 116 0x1E0C 0x1E7C
ETEC_fs_func_set.c 5 20 0x800 0x810
TOTAL 1440 5760 0x800 0x1E7C

Note: The entry table is not included in the 'Code Size' column.

Call Tree (max stack is 0 bytes)

Thead/Function Stack for Locals and Calls Max. Stack Depth
PWM 0 0
IC 0 0
      Link4 0 0
FPM 0 0
QOM 0 0
SM 0 0
Cam 0 0
Crank 0 0
      Link4 0 0
Fuel 0 0
knock_window 0 0
Spark 0 0
TOOTHGEN 0 0