ADM/GW/Debug_FLASH/RTD/src/FlexCAN_Ip_HwAccess.c.071i.devirt
2024-08-08 10:09:17 +09:00

5692 lines
153 KiB
Plaintext

Symbol table:
FlexCAN_ComputePayloadSize.part.0/125 (FlexCAN_ComputePayloadSize.part.0) @05f22380
Type: function definition analyzed
Visibility: prevailing_def_ironly artificial
References: CSWTCH.37/124 (read)
Referring:
Availability: local
Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
Called by: FlexCAN_ComputePayloadSize/53 (536870912 (estimated locally),0.50 per call)
Calls:
CSWTCH.37/124 (CSWTCH.37) @0624eb40
Type: variable definition analyzed
Visibility: prevailing_def_ironly artificial
References:
Referring: FlexCAN_ComputePayloadSize.part.0/125 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
flexcanBase.5537/122 (flexcanBase) @062333f0
Type: variable definition analyzed alias
Visibility: prevailing_def_ironly
References: flexcanBase.5251/89 (alias)
Referring: FlexCAN_GetBusOffStatusFlag/81 (read)
Availability: available
Varpool flags: read-only const-value-known
flexcanBase.5532/121 (flexcanBase) @062331f8
Type: variable definition analyzed alias
Visibility: prevailing_def_ironly
References: flexcanBase.5251/89 (alias)
Referring: FlexCAN_GetErrStatusFlag/80 (read)
Availability: available
Varpool flags: read-only const-value-known
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13) @06217540
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13) @06217460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call) FlexCAN_SetRxFifoFilter/77 (21475 (estimated locally),0.10 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12) @06217000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12) @061fb9a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call) FlexCAN_SetOperationMode/76 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/116 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11) @061fbee0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (33340 (estimated locally),0.16 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/115 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11) @061fbe00
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (33340 (estimated locally),0.16 per call)
Calls:
payload_code.5197/114 (payload_code) @06212288
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: FlexCAN_SetTxMsgBuff/74 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18) @061fb1c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18) @061fb0e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FLEXCAN_ClearMsgBuffIntCmd/68 (354334802 (estimated locally),0.33 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call) FlexCAN_SetMsgBuffIntCmd/67 (268435456 (estimated locally),0.25 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/111 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09) @061e79a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetPayloadSize/63 (8858 (estimated locally),0.04 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/110 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09) @061e78c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetPayloadSize/63 (8858 (estimated locally),0.04 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/109 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08) @061e7700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnableRxFifo/62 (118111600 (estimated locally),0.33 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/108 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08) @061e7620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnableRxFifo/62 (118111600 (estimated locally),0.33 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01) @061e7460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ClearRAM/52 (118111601 (estimated locally),1.00 per call) FlexCAN_ClearRAM/52 (118111601 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01) @061e7380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ClearRAM/52 (118111601 (estimated locally),1.00 per call) FlexCAN_ClearRAM/52 (118111601 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07) @061e71c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call) FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07) @061e70e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call) FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06) @061d9ee0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetErrIntCmd/60 (1073741824 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06) @061d9e00
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_SetErrIntCmd/60 (1073741824 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05) @061d9c40
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Disable/59 (114863532 (estimated locally),0.41 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05) @061d9b60
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Disable/59 (114863532 (estimated locally),0.41 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04) @061d99a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04) @061d98c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03) @061d9700
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03) @061d9620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call)
Calls:
OsIf_GetElapsed/95 (OsIf_GetElapsed) @061d9460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (1014686025 (estimated locally),8.83 per call) FlexCAN_Disable/59 (1014686024 (estimated locally),3.66 per call) FlexCAN_ExitFreezeMode/58 (1014686025 (estimated locally),8.83 per call) FlexCAN_Enable/57 (1014686025 (estimated locally),8.83 per call) FlexCAN_EnterFreezeMode/56 (1014686025 (estimated locally),8.83 per call)
Calls:
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/94 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02) @061d9380
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/93 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02) @061d92a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
OsIf_MicrosToTicks/92 (OsIf_MicrosToTicks) @061d91c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call) FlexCAN_Disable/59 (276913048 (estimated locally),1.00 per call) FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call) FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call) FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
OsIf_GetCounter/91 (OsIf_GetCounter) @061d90e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: FlexCAN_Init/61 (114863532 (estimated locally),1.00 per call) FlexCAN_Disable/59 (276913048 (estimated locally),1.00 per call) FlexCAN_ExitFreezeMode/58 (114863532 (estimated locally),1.00 per call) FlexCAN_Enable/57 (114863532 (estimated locally),1.00 per call) FlexCAN_EnterFreezeMode/56 (114863532 (estimated locally),1.00 per call)
Calls:
maxMbNum.5252/90 (maxMbNum) @061d83a8
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: FlexCAN_GetMaxMbNum/55 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
flexcanBase.5251/89 (flexcanBase) @061d8360
Type: variable definition analyzed
Visibility: prevailing_def_ironly
References:
Referring: flexcanBase.5537/122 (alias)flexcanBase.5532/121 (alias)FlexCAN_GetMaxMbNum/55 (read)
Availability: available
Varpool flags: initialized read-only const-value-known
FlexCAN_ConfigCtrlOptions/88 (FlexCAN_ConfigCtrlOptions) @061b0e00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_SetEnhancedRxFifoFilter/87 (FlexCAN_SetEnhancedRxFifoFilter) @061b0b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:280015 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_EnableEnhancedRxFifo/86 (FlexCAN_EnableEnhancedRxFifo) @061b08c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_IsEnhancedRxFifoAvailable/85 (1073741824 (estimated locally),1.00 per call)
FlexCAN_IsEnhancedRxFifoAvailable/85 (FlexCAN_IsEnhancedRxFifoAvailable) @061b0460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:566398813 (estimated locally) body optimize_size
Called by: FlexCAN_EnableEnhancedRxFifo/86 (1073741824 (estimated locally),1.00 per call)
Calls:
FlexCAN_IsMbOutOfRange/84 (FlexCAN_IsMbOutOfRange) @061b01c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_GetRxFifoMask/83 (FlexCAN_GetRxFifoMask) @06197e00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741823 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_AbortTxMsgBuff/82 (FlexCAN_AbortTxMsgBuff) @061977e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (1073741824 (estimated locally),1.00 per call)
FlexCAN_GetBusOffStatusFlag/81 (FlexCAN_GetBusOffStatusFlag) @061971c0
Type: function definition analyzed
Visibility: externally_visible public
References: flexcanBase.5537/122 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_GetErrStatusFlag/80 (FlexCAN_GetErrStatusFlag) @06197d20
Type: function definition analyzed
Visibility: externally_visible public
References: flexcanBase.5532/121 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls:
FlexCAN_ReadEnhancedRxFifo/79 (FlexCAN_ReadEnhancedRxFifo) @06197a80
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ComputePayloadSize/53 (214748 (estimated locally),1.00 per call)
FlexCAN_ReadRxFifo/78 (FlexCAN_ReadRxFifo) @06197700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ComputePayloadSize/53 (214748 (estimated locally),1.00 per call)
FlexCAN_SetRxFifoFilter/77 (FlexCAN_SetRxFifoFilter) @06197380
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/120 (21475 (estimated locally),0.10 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/119 (21475 (estimated locally),0.10 per call)
FlexCAN_SetOperationMode/76 (FlexCAN_SetOperationMode) @061970e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/118 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/117 (268435456 (estimated locally),0.25 per call)
FlexCAN_SetMaxMsgBuffNum/75 (FlexCAN_SetMaxMsgBuffNum) @05f4de00
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/116 (33340 (estimated locally),0.16 per call) FlexCAN_GetMbPayloadSize/65 (134876 (estimated locally),0.63 per call) FlexCAN_GetMsgBuffRegion/54 (134876 (estimated locally),0.63 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/115 (33340 (estimated locally),0.16 per call) FlexCAN_GetMaxMbNum/55 (69793 (estimated locally),0.32 per call) FlexCAN_GetMsgBuffRegion/54 (107374 (estimated locally),0.50 per call) FlexCAN_GetMbPayloadSize/65 (214748 (estimated locally),1.00 per call)
FlexCAN_SetTxMsgBuff/74 (FlexCAN_SetTxMsgBuff) @05f4db60
Type: function definition analyzed
Visibility: externally_visible public
References: payload_code.5197/114 (read)
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_ComputePayloadSize/53 (37581 (estimated locally),0.18 per call) FlexCAN_GetMbPayloadSize/65 (107374 (estimated locally),0.50 per call) FlexCAN_GetMsgBuffRegion/54 (214748 (estimated locally),1.00 per call)
FlexCAN_GetMsgBuff/73 (FlexCAN_GetMsgBuff) @05f4d620
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMbPayloadSize/65 (35433 (estimated locally),0.16 per call) FlexCAN_GetMbPayloadSize/65 (107374 (estimated locally),0.50 per call) FlexCAN_ComputePayloadSize/53 (214748 (estimated locally),1.00 per call) FlexCAN_GetMsgBuffRegion/54 (214748 (estimated locally),1.00 per call)
FlexCAN_GetMsgBuffTimestamp/72 (FlexCAN_GetMsgBuffTimestamp) @05f4d1c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (1073741824 (estimated locally),1.00 per call)
FlexCAN_SetRxMsgBuff/71 (FlexCAN_SetRxMsgBuff) @05f3cd20
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (214748 (estimated locally),1.00 per call)
FlexCAN_EnableInterrupts/70 (FlexCAN_EnableInterrupts) @05f3c7e0
Type: function definition analyzed
Visibility: externally_visible public
References: g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMaxMbNum/55 (1073741824 (estimated locally),1.00 per call)
FlexCAN_DisableInterrupts/69 (FlexCAN_DisableInterrupts) @05f3c2a0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMaxMbNum/55 (1073741824 (estimated locally),1.00 per call)
FLEXCAN_ClearMsgBuffIntCmd/68 (FLEXCAN_ClearMsgBuffIntCmd) @05f3cee0
Type: function definition analyzed
Visibility: externally_visible public
References: g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (354334802 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (354334802 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (354334802 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (354334802 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (354334802 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (354334802 (estimated locally),0.33 per call)
FlexCAN_SetMsgBuffIntCmd/67 (FlexCAN_SetMsgBuffIntCmd) @05f3cc40
Type: function definition analyzed
Visibility: externally_visible public
References: g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (read)g_FlexCAN_u32ImaskBuff/50 (write)g_FlexCAN_u32ImaskBuff/50 (read)
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/113 (268435456 (estimated locally),0.25 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/112 (268435456 (estimated locally),0.25 per call)
FlexCAN_LockRxMsgBuff/66 (FlexCAN_LockRxMsgBuff) @05f3c9a0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMsgBuffRegion/54 (1073741824 (estimated locally),1.00 per call)
FlexCAN_GetMbPayloadSize/65 (FlexCAN_GetMbPayloadSize) @05f3c700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:312727306 (estimated locally) body optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (134876 (estimated locally),0.63 per call) FlexCAN_SetMaxMsgBuffNum/75 (214748 (estimated locally),1.00 per call) FlexCAN_SetTxMsgBuff/74 (107374 (estimated locally),0.50 per call) FlexCAN_GetMsgBuff/73 (35433 (estimated locally),0.16 per call) FlexCAN_GetMsgBuff/73 (107374 (estimated locally),0.50 per call)
Calls: FlexCAN_GetPayloadSize/64 (805306368 (estimated locally),2.58 per call)
FlexCAN_GetPayloadSize/64 (FlexCAN_GetPayloadSize) @05f3c460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: FlexCAN_GetMbPayloadSize/65 (805306368 (estimated locally),2.58 per call) FlexCAN_GetMsgBuffRegion/54 (805306368 (estimated locally),2.58 per call)
Calls:
FlexCAN_SetPayloadSize/63 (FlexCAN_SetPayloadSize) @05f3c1c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:214748 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/111 (8858 (estimated locally),0.04 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/110 (8858 (estimated locally),0.04 per call)
FlexCAN_EnableRxFifo/62 (FlexCAN_EnableRxFifo) @05f32b60
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:357913939 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/109 (118111600 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/108 (118111600 (estimated locally),0.33 per call) FlexCAN_GetMaxMbNum/55 (357913939 (estimated locally),1.00 per call)
FlexCAN_Init/61 (FlexCAN_Init) @05f32ee0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: FlexCAN_GetMaxMbNum/55 (37904965 (estimated locally),0.33 per call) FlexCAN_ClearRAM/52 (37904965 (estimated locally),0.33 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 (37904965 (estimated locally),0.33 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 (37904965 (estimated locally),0.33 per call) OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/105 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/104 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_SetErrIntCmd/60 (FlexCAN_SetErrIntCmd) @05f32a80
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by:
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 (1073741824 (estimated locally),1.00 per call)
FlexCAN_Disable/59 (FlexCAN_Disable) @05f32460
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:276913048 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686024 (estimated locally),3.66 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 (114863532 (estimated locally),0.41 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 (114863532 (estimated locally),0.41 per call) OsIf_MicrosToTicks/92 (276913048 (estimated locally),1.00 per call) OsIf_GetCounter/91 (276913048 (estimated locally),1.00 per call)
FlexCAN_ExitFreezeMode/58 (FlexCAN_ExitFreezeMode) @05f320e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_Enable/57 (FlexCAN_Enable) @0508f700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_EnterFreezeMode/56 (FlexCAN_EnterFreezeMode) @0508f000
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:114863532 (estimated locally) body optimize_size
Called by:
Calls: OsIf_GetElapsed/95 (1014686025 (estimated locally),8.83 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/94 (114863532 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/93 (114863532 (estimated locally),1.00 per call) OsIf_MicrosToTicks/92 (114863532 (estimated locally),1.00 per call) OsIf_GetCounter/91 (114863532 (estimated locally),1.00 per call)
FlexCAN_GetMaxMbNum/55 (FlexCAN_GetMaxMbNum) @0508fb60
Type: function definition analyzed
Visibility: externally_visible public
References: flexcanBase.5251/89 (read)maxMbNum.5252/90 (read)
Referring:
Availability: available
Function flags: count:153437706 (estimated locally) body optimize_size
Called by: FlexCAN_SetMaxMsgBuffNum/75 (69793 (estimated locally),0.32 per call) FlexCAN_EnableInterrupts/70 (1073741824 (estimated locally),1.00 per call) FlexCAN_DisableInterrupts/69 (1073741824 (estimated locally),1.00 per call) FlexCAN_EnableRxFifo/62 (357913939 (estimated locally),1.00 per call) FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call) FlexCAN_ClearRAM/52 (118111600 (estimated locally),1.00 per call)
Calls:
FlexCAN_GetMsgBuffRegion/54 (FlexCAN_GetMsgBuffRegion) @0508f8c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:312727306 (estimated locally) body optimize_size
Called by: FlexCAN_AbortTxMsgBuff/82 (1073741824 (estimated locally),1.00 per call) FlexCAN_SetMaxMsgBuffNum/75 (134876 (estimated locally),0.63 per call) FlexCAN_SetMaxMsgBuffNum/75 (107374 (estimated locally),0.50 per call) FlexCAN_SetTxMsgBuff/74 (214748 (estimated locally),1.00 per call) FlexCAN_GetMsgBuff/73 (214748 (estimated locally),1.00 per call) FlexCAN_GetMsgBuffTimestamp/72 (1073741824 (estimated locally),1.00 per call) FlexCAN_SetRxMsgBuff/71 (214748 (estimated locally),1.00 per call) FlexCAN_LockRxMsgBuff/66 (1073741824 (estimated locally),1.00 per call)
Calls: FlexCAN_GetPayloadSize/64 (805306368 (estimated locally),2.58 per call)
FlexCAN_ComputePayloadSize/53 (FlexCAN_ComputePayloadSize) @0508f620
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: count:1073741824 (estimated locally) body optimize_size
Called by: FlexCAN_ReadEnhancedRxFifo/79 (214748 (estimated locally),1.00 per call) FlexCAN_ReadRxFifo/78 (214748 (estimated locally),1.00 per call) FlexCAN_SetTxMsgBuff/74 (37581 (estimated locally),0.18 per call) FlexCAN_GetMsgBuff/73 (214748 (estimated locally),1.00 per call)
Calls: FlexCAN_ComputePayloadSize.part.0/125 (536870912 (estimated locally),0.50 per call)
FlexCAN_ClearRAM/52 (FlexCAN_ClearRAM) @0508f380
Type: function definition analyzed
Visibility: prevailing_def_ironly
References:
Referring:
Availability: local
Function flags: count:118111600 (estimated locally) body local optimize_size
Called by: FlexCAN_Init/61 (37904965 (estimated locally),0.33 per call)
Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 (118111601 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 (118111601 (estimated locally),1.00 per call) SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/107 (118111601 (estimated locally),1.00 per call) SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/106 (118111601 (estimated locally),1.00 per call) FlexCAN_GetMaxMbNum/55 (118111600 (estimated locally),1.00 per call)
g_FlexCAN_u32ImaskBuff/50 (g_FlexCAN_u32ImaskBuff) @0508a4c8
Type: variable definition analyzed
Visibility: force_output prevailing_def_ironly
References:
Referring: FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (write)FLEXCAN_ClearMsgBuffIntCmd/68 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (read)FlexCAN_SetMsgBuffIntCmd/67 (write)FlexCAN_SetMsgBuffIntCmd/67 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (write)FLEXCAN_ClearMsgBuffIntCmd/68 (read)FLEXCAN_ClearMsgBuffIntCmd/68 (write)FlexCAN_EnableInterrupts/70 (read)FlexCAN_EnableInterrupts/70 (read)FlexCAN_EnableInterrupts/70 (read)
Availability: available
Varpool flags:
FlexCAN_ComputePayloadSize.part.0 (uint8 dlcValue)
{
uint8 ret;
unsigned char _2;
unsigned char _4;
<bb 6> [local count: 1073741824]:
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_2 = dlcValue_1(D) + 247;
if (_2 <= 6)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 536870913]:
<L0>:
ret_3 = 8;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
<L1>:
_4 = CSWTCH.37[_2];
ret_5 = _4;
<bb 5> [local count: 1073741824]:
# ret_6 = PHI <ret_3(3), ret_5(4)>
<L2>:
<L3>:
# DEBUG ret => ret_6
# DEBUG BEGIN_STMT
return ret_6;
}
FlexCAN_ConfigCtrlOptions (struct FLEXCAN_Type * pBase, uint32 u32Options)
{
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = u32Options_15(D) & 32;
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetIsoCan
# DEBUG BEGIN_STMT
_18 ={v} pBase_17(D)->CTRL2;
_19 = _18 & 4294963199;
_20 = _19 | 4096;
pBase_17(D)->CTRL2 ={v} _20;
goto <bb 5>; [100.00%]
<bb 4> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetIsoCan
# DEBUG BEGIN_STMT
_21 ={v} pBase_17(D)->CTRL2;
_22 = _21 & 4294963199;
pBase_17(D)->CTRL2 ={v} _22;
<bb 5> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_2 = u32Options_15(D) & 64;
if (_2 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 6> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetEntireFrameArbitrationFieldComparison
# DEBUG BEGIN_STMT
_23 ={v} pBase_17(D)->CTRL2;
_24 = _23 & 4294901759;
_25 = _24 | 65536;
pBase_17(D)->CTRL2 ={v} _25;
goto <bb 8>; [100.00%]
<bb 7> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEntireFrameArbitrationFieldComparison
# DEBUG BEGIN_STMT
_26 ={v} pBase_17(D)->CTRL2;
_27 = _26 & 4294901759;
pBase_17(D)->CTRL2 ={v} _27;
<bb 8> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_3 = u32Options_15(D) & 8;
if (_3 != 0)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetProtocolException
# DEBUG BEGIN_STMT
_28 ={v} pBase_17(D)->CTRL2;
_29 = _28 & 4294950911;
_30 = _29 | 16384;
pBase_17(D)->CTRL2 ={v} _30;
goto <bb 11>; [100.00%]
<bb 10> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetProtocolException
# DEBUG BEGIN_STMT
_31 ={v} pBase_17(D)->CTRL2;
_32 = _31 & 4294950911;
pBase_17(D)->CTRL2 ={v} _32;
<bb 11> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_4 = u32Options_15(D) & 2;
if (_4 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 12> [local count: 536870913]:
_5 ={v} pBase_17(D)->MCR;
_6 = _5 & 2048;
if (_6 == 0)
goto <bb 13>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 13> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_CanBitSampling
# DEBUG BEGIN_STMT
_33 ={v} pBase_17(D)->CTRL1;
_34 = _33 & 4294967167;
_35 = _34 | 128;
pBase_17(D)->CTRL1 ={v} _35;
goto <bb 15>; [100.00%]
<bb 14> [local count: 805306369]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_CanBitSampling
# DEBUG BEGIN_STMT
_36 ={v} pBase_17(D)->CTRL1;
_37 = _36 & 4294967167;
pBase_17(D)->CTRL1 ={v} _37;
<bb 15> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_7 = u32Options_15(D) & 4;
if (_7 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetBusOffAutorecovery
# DEBUG BEGIN_STMT
_38 ={v} pBase_17(D)->CTRL1;
_39 = _38 & 4294967231;
pBase_17(D)->CTRL1 ={v} _39;
goto <bb 18>; [100.00%]
<bb 17> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetBusOffAutorecovery
# DEBUG BEGIN_STMT
_40 ={v} pBase_17(D)->CTRL1;
_41 = _40 & 4294967231;
_42 = _41 | 64;
pBase_17(D)->CTRL1 ={v} _42;
<bb 18> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
_8 = u32Options_15(D) & 16;
if (_8 != 0)
goto <bb 19>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 19> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetEdgeFilter
# DEBUG BEGIN_STMT
_43 ={v} pBase_17(D)->CTRL2;
_44 = _43 & 4294965247;
pBase_17(D)->CTRL2 ={v} _44;
goto <bb 21>; [100.00%]
<bb 20> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG base => pBase_17(D)
# DEBUG enable => 0
# DEBUG INLINE_ENTRY FlexCAN_SetEdgeFilter
# DEBUG BEGIN_STMT
_45 ={v} pBase_17(D)->CTRL2;
_46 = _45 & 4294965247;
_47 = _46 | 2048;
pBase_17(D)->CTRL2 ={v} _47;
<bb 21> [local count: 1073741824]:
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG base => NULL
# DEBUG enable => NULL
return;
}
FlexCAN_SetEnhancedRxFifoFilter (struct FLEXCAN_Type * base, const struct Flexcan_Ip_EnhancedIdTableType * idFilterTable)
{
volatile boolean x;
volatile boolean x;
volatile uint32 * filterStdIDTable;
volatile uint32 * filterExtIDTable;
uint32 val;
uint32 val1;
uint32 val2;
uint32 numOfStdIDFilter;
uint32 numOfExtIDFilter;
uint32 numOfEnhancedFilter;
uint32 n;
uint32 j;
uint32 i;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
const struct Flexcan_Ip_EnhancedIdTableType * _9;
_Bool _10;
_Bool _11;
_Bool _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
volatile uint32 * _20;
long unsigned int _21;
<unnamed type> _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
_Bool _28;
_Bool _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
volatile uint32 * _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
sizetype _37;
sizetype _38;
volatile uint32 * _39;
long unsigned int _40;
<unnamed type> _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
_Bool x.7_82;
_Bool x.7_83;
<bb 2> [local count: 280015]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG val1 => 0
# DEBUG val => 0
# DEBUG BEGIN_STMT
# DEBUG filterExtIDTable => 0B
# DEBUG BEGIN_STMT
# DEBUG filterStdIDTable => 0B
# DEBUG BEGIN_STMT
_1 ={v} base_62(D)->ERFCR;
_2 = _1 >> 8;
numOfEnhancedFilter_63 = _2 & 63;
# DEBUG numOfEnhancedFilter => numOfEnhancedFilter_63
# DEBUG BEGIN_STMT
_3 ={v} base_62(D)->ERFCR;
_4 = _3 >> 16;
numOfExtIDFilter_64 = _4 & 127;
# DEBUG numOfExtIDFilter => numOfExtIDFilter_64
# DEBUG BEGIN_STMT
_5 = numOfEnhancedFilter_63 - numOfExtIDFilter_64;
_6 = _5 + 1;
numOfStdIDFilter_65 = _6 * 2;
# DEBUG numOfStdIDFilter => numOfStdIDFilter_65
# DEBUG BEGIN_STMT
filterExtIDTable_66 = &base_62(D)->ERFFEL[0];
# DEBUG filterExtIDTable => filterExtIDTable_66
# DEBUG BEGIN_STMT
_7 = numOfExtIDFilter_64 * 2;
filterStdIDTable_67 = &base_62(D)->ERFFEL[_7];
# DEBUG filterStdIDTable => filterStdIDTable_67
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG n => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 27>; [100.00%]
<bb 3> [local count: 1717984]:
# DEBUG BEGIN_STMT
_8 = i_48 * 12;
_9 = idFilterTable_68(D) + _8;
_10 = _9->isExtendedFrame;
if (_10 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 4> [local count: 858992]:
# DEBUG BEGIN_STMT
# DEBUG val => 0
# DEBUG BEGIN_STMT
_11 = _9->rtr2;
if (_11 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 429496]:
# DEBUG BEGIN_STMT
# DEBUG val => 134217728
<bb 6> [local count: 858992]:
# val_55 = PHI <0(4), 134217728(5)>
# DEBUG val => val_55
# DEBUG BEGIN_STMT
_12 = _9->rtr1;
if (_12 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 429496]:
# DEBUG BEGIN_STMT
val_75 = val_55 | 2048;
# DEBUG val => val_75
<bb 8> [local count: 858992]:
# val_56 = PHI <val_55(6), val_75(7)>
# DEBUG val => val_56
# DEBUG BEGIN_STMT
_13 = _9->id2;
_14 = _13 << 16;
_15 = _14 & 134152192;
_16 = _9->id1;
_17 = _16 & 2047;
_18 = _15 | _17;
_19 = j_50 * 4;
_20 = filterStdIDTable_67 + _19;
_21 = _18 | val_56;
*_20 ={v} _21;
# DEBUG BEGIN_STMT
_22 = _9->filterType;
switch (_22) <default: <L9> [25.00%], case 0: <L6> [25.00%], case 1: <L7> [25.00%], case 2: <L8> [25.00%]>
<bb 9> [local count: 214748]:
<L6>:
# DEBUG BEGIN_STMT
_23 ={v} *_20;
*_20 ={v} _23;
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 10> [local count: 214748]:
<L7>:
# DEBUG BEGIN_STMT
_24 ={v} *_20;
_25 = _24 | 1073741824;
*_20 ={v} _25;
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 11> [local count: 214748]:
<L8>:
# DEBUG BEGIN_STMT
_26 ={v} *_20;
_27 = _26 | 2147483648;
*_20 ={v} _27;
# DEBUG BEGIN_STMT
goto <bb 14>; [100.00%]
<bb 12> [local count: 214748]:
<L9>:
# DEBUG BEGIN_STMT
x ={v} 0;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_82 ={v} x;
if (x.7_82 != 0)
goto <bb 14>; [50.00%]
else
goto <bb 29>; [50.00%]
<bb 29> [local count: 107374]:
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 31> [local count: 1073741824]:
goto <bb 13>; [100.00%]
<bb 14> [local count: 751618]:
# DEBUG x => NULL
# DEBUG BEGIN_STMT
j_80 = j_50 + 1;
# DEBUG j => j_80
goto <bb 26>; [100.00%]
<bb 15> [local count: 858992]:
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG BEGIN_STMT
_28 = _9->rtr2;
if (_28 != 0)
goto <bb 16>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 16> [local count: 429496]:
# DEBUG BEGIN_STMT
# DEBUG val2 => 536870912
<bb 17> [local count: 858992]:
# val2_53 = PHI <0(15), 536870912(16)>
# DEBUG val2 => val2_53
# DEBUG BEGIN_STMT
_29 = _9->rtr1;
if (_29 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 18> [local count: 429496]:
# DEBUG BEGIN_STMT
# DEBUG val1 => 536870912
<bb 19> [local count: 858992]:
# val1_54 = PHI <0(17), 536870912(18)>
# DEBUG val1 => val1_54
# DEBUG BEGIN_STMT
_30 = _9->id2;
_31 = _30 & 536870911;
_32 = n_52 * 4;
_33 = filterExtIDTable_66 + _32;
_34 = _31 | val2_53;
*_33 ={v} _34;
# DEBUG BEGIN_STMT
_35 = _9->id1;
_36 = _35 & 536870911;
_37 = n_52 + 1;
_38 = _37 * 4;
_39 = filterExtIDTable_66 + _38;
_40 = _36 | val1_54;
*_39 ={v} _40;
# DEBUG BEGIN_STMT
_41 = _9->filterType;
switch (_41) <default: <L19> [25.00%], case 0: <L16> [25.00%], case 1: <L17> [25.00%], case 2: <L18> [25.00%]>
<bb 20> [local count: 214748]:
<L16>:
# DEBUG BEGIN_STMT
_42 ={v} *_33;
*_33 ={v} _42;
# DEBUG BEGIN_STMT
goto <bb 25>; [100.00%]
<bb 21> [local count: 214748]:
<L17>:
# DEBUG BEGIN_STMT
_43 ={v} *_33;
_44 = _43 | 1073741824;
*_33 ={v} _44;
# DEBUG BEGIN_STMT
goto <bb 25>; [100.00%]
<bb 22> [local count: 214748]:
<L18>:
# DEBUG BEGIN_STMT
_45 ={v} *_33;
_46 = _45 | 2147483648;
*_33 ={v} _46;
# DEBUG BEGIN_STMT
goto <bb 25>; [100.00%]
<bb 23> [local count: 214748]:
<L19>:
# DEBUG BEGIN_STMT
x ={v} 0;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_83 ={v} x;
if (x.7_83 != 0)
goto <bb 25>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 30> [local count: 107374]:
<bb 24> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 32> [local count: 1073741824]:
goto <bb 24>; [100.00%]
<bb 25> [local count: 751618]:
# DEBUG x => NULL
# DEBUG BEGIN_STMT
n_74 = n_52 + 2;
# DEBUG n => n_74
<bb 26> [local count: 1503236]:
# j_49 = PHI <j_80(14), j_50(25)>
# n_51 = PHI <n_52(14), n_74(25)>
# DEBUG n => n_51
# DEBUG j => j_49
# DEBUG BEGIN_STMT
i_81 = i_48 + 1;
# DEBUG i => i_81
<bb 27> [local count: 1783251]:
# i_48 = PHI <0(2), i_81(26)>
# j_50 = PHI <0(2), j_49(26)>
# n_52 = PHI <0(2), n_51(26)>
# DEBUG n => n_52
# DEBUG j => j_50
# DEBUG i => i_48
# DEBUG BEGIN_STMT
_47 = numOfExtIDFilter_64 + numOfStdIDFilter_65;
if (_47 > i_48)
goto <bb 3>; [96.34%]
else
goto <bb 28>; [3.66%]
<bb 28> [local count: 65267]:
return;
}
FlexCAN_EnableEnhancedRxFifo (struct FLEXCAN_Type * base, uint32 numOfStdIDFilters, uint32 numOfExtIDFilters, uint32 numOfWatermark)
{
uint32 numOfEnhancedFilters;
Flexcan_Ip_StatusType stat;
_Bool _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG stat => 0
# DEBUG BEGIN_STMT
# DEBUG numOfEnhancedFilters => 0
# DEBUG BEGIN_STMT
_1 = FlexCAN_IsEnhancedRxFifoAvailable (base_32(D));
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_2 = numOfStdIDFilters_33(D) >> 1;
_3 = _2 + numOfExtIDFilters_34(D);
numOfEnhancedFilters_35 = _3 + 4294967295;
# DEBUG numOfEnhancedFilters => numOfEnhancedFilters_35
# DEBUG BEGIN_STMT
if (numOfStdIDFilters_33(D) == 0)
goto <bb 4>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 4> [local count: 268435456]:
if (numOfExtIDFilters_34(D) == 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG stat => 1
<bb 6> [local count: 536870913]:
# stat_27 = PHI <0(3), 0(4), 1(5)>
# DEBUG stat => stat_27
# DEBUG BEGIN_STMT
_4 = numOfStdIDFilters_33(D) & 1;
if (_4 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG stat => 1
<bb 8> [local count: 536870913]:
# stat_28 = PHI <stat_27(6), 1(7)>
# DEBUG stat => stat_28
# DEBUG BEGIN_STMT
_5 ={v} base_32(D)->MCR;
_6 = _5 & 536870912;
if (_6 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 268435456]:
# DEBUG stat => stat_28
# DEBUG BEGIN_STMT
if (stat_28 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 134217728]:
# DEBUG BEGIN_STMT
_7 ={v} base_32(D)->ERFCR;
_8 = _7 | 2147483648;
base_32(D)->ERFCR ={v} _8;
# DEBUG BEGIN_STMT
_9 ={v} base_32(D)->ERFSR;
_10 = _9 | 134217728;
base_32(D)->ERFSR ={v} _10;
# DEBUG BEGIN_STMT
_11 ={v} base_32(D)->ERFSR;
_12 = _11 & 268435455;
base_32(D)->ERFSR ={v} _12;
# DEBUG BEGIN_STMT
_13 ={v} base_32(D)->ERFCR;
_14 = _13 & 4294951167;
_15 = numOfEnhancedFilters_35 << 8;
_16 = _15 & 16128;
_17 = _14 | _16;
base_32(D)->ERFCR ={v} _17;
# DEBUG BEGIN_STMT
_18 ={v} base_32(D)->ERFCR;
_19 = _18 & 4286644223;
_20 = numOfExtIDFilters_34(D) << 16;
_21 = _20 & 8323072;
_22 = _19 | _21;
base_32(D)->ERFCR ={v} _22;
# DEBUG BEGIN_STMT
_23 ={v} base_32(D)->ERFCR;
_24 = _23 & 4294967264;
_25 = numOfWatermark_41(D) & 31;
_26 = _24 | _25;
base_32(D)->ERFCR ={v} _26;
<bb 11> [local count: 1073741824]:
# stat_29 = PHI <0(10), 1(2), stat_28(9), 1(8)>
# DEBUG stat => stat_29
# DEBUG BEGIN_STMT
return stat_29;
}
FlexCAN_IsEnhancedRxFifoAvailable (const struct FLEXCAN_Type * base)
{
boolean returnValue;
uint32 i;
<bb 2> [local count: 566398813]:
# DEBUG BEGIN_STMT
# DEBUG i => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 4>; [100.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (base_4(D) == 1076903936B)
goto <bb 5>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 507343012]:
<bb 4> [local count: 1073741824]:
# i_1 = PHI <0(2), 1(6)>
# DEBUG i => i_1
# DEBUG BEGIN_STMT
if (i_1 == 0)
goto <bb 3>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 5> [local count: 566398813]:
# returnValue_2 = PHI <1(3), 0(4)>
# DEBUG returnValue => returnValue_2
# DEBUG BEGIN_STMT
return returnValue_2;
}
FlexCAN_IsMbOutOfRange (const struct FLEXCAN_Type * pBase, uint8 u8MbIndex, boolean bIsLegacyFifoEn, uint32 u32MaxMbNum)
{
uint32 u32NumOfMbOccupiedByFiFo;
uint32 u32NumOfFiFoElement;
boolean returnValue;
unsigned char _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
# DEBUG u32NumOfFiFoElement => 0
# DEBUG BEGIN_STMT
# DEBUG u32NumOfMbOccupiedByFiFo => 0
# DEBUG BEGIN_STMT
_1 = (unsigned char) u32MaxMbNum_9(D);
if (_1 <= u8MbIndex_10(D))
goto <bb 6>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (bIsLegacyFifoEn_11(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 4> [local count: 268435456]:
# DEBUG BEGIN_STMT
_2 ={v} pBase_13(D)->CTRL2;
_3 = _2 >> 24;
u32NumOfFiFoElement_14 = _3 & 15;
# DEBUG u32NumOfFiFoElement => u32NumOfFiFoElement_14
# DEBUG BEGIN_STMT
_4 = u32NumOfFiFoElement_14 + 1;
_5 = _4 * 8;
_6 = _5 >> 2;
u32NumOfMbOccupiedByFiFo_15 = _6 + 5;
# DEBUG u32NumOfMbOccupiedByFiFo => u32NumOfMbOccupiedByFiFo_15
# DEBUG BEGIN_STMT
_7 = (long unsigned int) u8MbIndex_10(D);
if (_7 <= u32NumOfMbOccupiedByFiFo_15)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
# DEBUG returnValue => 1
<bb 6> [local count: 1073741824]:
# returnValue_8 = PHI <1(2), 1(5), 0(3), 0(4)>
# DEBUG returnValue => returnValue_8
# DEBUG BEGIN_STMT
return returnValue_8;
}
FlexCAN_GetRxFifoMask (Flexcan_Ip_MsgBuffIdType id_type, Flexcan_Ip_RxFifoIdElementFormatType formatType, uint32 mask)
{
uint32 val;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
<bb 2> [local count: 1073741823]:
# DEBUG BEGIN_STMT
# DEBUG val => 0
# DEBUG BEGIN_STMT
switch (formatType_11(D)) <default: <L22> [25.00%], case 0: <L0> [25.00%], case 1: <L7> [25.00%], case 2: <L14> [25.00%]>
<bb 3> [local count: 268435456]:
<L0>:
# DEBUG BEGIN_STMT
val_17 = mask_13(D) & 3221225472;
# DEBUG val => val_17
# DEBUG BEGIN_STMT
if (id_type_12(D) == 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 134217728]:
# DEBUG BEGIN_STMT
_1 = mask_13(D) << 19;
_2 = _1 & 1073217536;
val_19 = _2 | val_17;
# DEBUG val => val_19
goto <bb 13>; [100.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
if (id_type_12(D) == 1)
goto <bb 6>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 6> [local count: 45634027]:
# DEBUG BEGIN_STMT
_3 = mask_13(D) << 1;
_4 = _3 & 1073741823;
val_18 = _4 | val_17;
# DEBUG val => val_18
goto <bb 13>; [100.00%]
<bb 7> [local count: 268435456]:
<L7>:
# DEBUG BEGIN_STMT
val_14 = mask_13(D) & 3221225472;
# DEBUG val => val_14
# DEBUG BEGIN_STMT
if (id_type_12(D) == 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 134217728]:
# DEBUG BEGIN_STMT
_5 = mask_13(D) << 19;
_6 = _5 & 1073217536;
val_16 = _6 | val_14;
# DEBUG val => val_16
goto <bb 13>; [100.00%]
<bb 9> [local count: 134217728]:
# DEBUG BEGIN_STMT
if (id_type_12(D) == 1)
goto <bb 10>; [34.00%]
else
goto <bb 13>; [66.00%]
<bb 10> [local count: 45634027]:
# DEBUG BEGIN_STMT
_7 = mask_13(D) << 16;
_8 = _7 & 1073676288;
val_15 = _8 | val_14;
# DEBUG val => val_15
goto <bb 13>; [100.00%]
<bb 11> [local count: 268435456]:
<L14>:
# DEBUG BEGIN_STMT
if (id_type_12(D) <= 1)
goto <bb 12>; [41.00%]
else
goto <bb 13>; [59.00%]
<bb 12> [local count: 110058537]:
# DEBUG BEGIN_STMT
_9 = mask_13(D) << 24;
# DEBUG val => _9
<bb 13> [local count: 1073741824]:
# val_10 = PHI <val_17(5), val_14(9), _9(12), 0(2), 0(11), val_19(4), val_18(6), val_16(8), val_15(10)>
<L22>:
# DEBUG val => val_10
# DEBUG BEGIN_STMT
return val_10;
}
FlexCAN_AbortTxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
volatile uint32 * flexcan_mb;
uint32 flexcan_mb_config;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG code => 9
# DEBUG BEGIN_STMT
flexcan_mb_5 = FlexCAN_GetMsgBuffRegion (base_2(D), msgBuffIdx_3(D));
# DEBUG flexcan_mb => flexcan_mb_5
# DEBUG BEGIN_STMT
flexcan_mb_config_6 ={v} *flexcan_mb_5;
# DEBUG flexcan_mb_config => flexcan_mb_config_6
# DEBUG BEGIN_STMT
flexcan_mb_config_7 = flexcan_mb_config_6 & 4043309055;
# DEBUG flexcan_mb_config => flexcan_mb_config_7
# DEBUG BEGIN_STMT
flexcan_mb_config_8 = flexcan_mb_config_7 | 150994944;
# DEBUG flexcan_mb_config => flexcan_mb_config_8
# DEBUG BEGIN_STMT
*flexcan_mb_5 ={v} flexcan_mb_config_8;
return;
}
FlexCAN_GetBusOffStatusFlag (uint8 u8Instance)
{
boolean bBOffStatus;
static struct FLEXCAN_Type * const flexcanBase[6];
int _1;
struct FLEXCAN_Type * _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bBOffStatus => 0
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_6(D);
_2 = flexcanBase[_1];
_3 ={v} _2->ESR1;
_4 = _3 & 4;
if (_4 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG bBOffStatus => 1
<bb 4> [local count: 1073741824]:
# bBOffStatus_5 = PHI <0(2), 1(3)>
# DEBUG bBOffStatus => bBOffStatus_5
# DEBUG BEGIN_STMT
return bBOffStatus_5;
}
FlexCAN_GetErrStatusFlag (uint8 u8Instance)
{
boolean bErrStatus;
static struct FLEXCAN_Type * const flexcanBase[6];
int _1;
struct FLEXCAN_Type * _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG bErrStatus => 0
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_6(D);
_2 = flexcanBase[_1];
_3 ={v} _2->ESR1;
_4 = _3 & 2;
if (_4 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG bErrStatus => 1
<bb 4> [local count: 1073741824]:
# bErrStatus_5 = PHI <0(2), 1(3)>
# DEBUG bErrStatus => bErrStatus_5
# DEBUG BEGIN_STMT
return bErrStatus_5;
}
FlexCAN_ReadEnhancedRxFifo (const struct FLEXCAN_Type * base, struct Flexcan_Ip_MsgBuffType * rxFifo)
{
volatile boolean x;
uint8 can_real_payload;
uint8 flexcan_mb_dlc_value;
uint32 * msgData_32;
const uint32 * flexcan_mb_data_32;
const uint32 * flexcan_mb;
uint8 idhit_offset;
uint32 mbWord;
uint32 databyte;
long unsigned int base.18_1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
unsigned char _5;
_Bool _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
unsigned char _13;
unsigned char _14;
unsigned int _15;
unsigned int _16;
const uint32 * _17;
long unsigned int _18;
unsigned char _19;
unsigned char _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
const uint32 * _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
long unsigned int _31;
long unsigned int _32;
uint32 * _33;
long unsigned int _34;
long unsigned int _35;
uint8 iftmp.19_38;
_Bool x.7_46;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
base.18_1 = (long unsigned int) base_41(D);
_2 = base.18_1 + 8192;
flexcan_mb_42 = (const uint32 *) _2;
# DEBUG flexcan_mb => flexcan_mb_42
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_42 + 4
# DEBUG BEGIN_STMT
flexcan_mb_data_32_43 = flexcan_mb_42 + 8;
# DEBUG flexcan_mb_data_32 => flexcan_mb_data_32_43
# DEBUG BEGIN_STMT
# DEBUG msgData_32 => 0B
# DEBUG BEGIN_STMT
_3 ={v} *flexcan_mb_42;
_4 = _3 >> 16;
_5 = (unsigned char) _4;
flexcan_mb_dlc_value_45 = _5 & 15;
# DEBUG flexcan_mb_dlc_value => flexcan_mb_dlc_value_45
# DEBUG BEGIN_STMT
can_real_payload_47 = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value_45);
# DEBUG can_real_payload => can_real_payload_47
# DEBUG BEGIN_STMT
_6 = rxFifo_48(D) != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_46 ={v} x;
if (x.7_46 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 16> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
msgData_32_49 = &rxFifo_48(D)->data;
# DEBUG msgData_32 => msgData_32_49
# DEBUG BEGIN_STMT
rxFifo_48(D)->dataLen = can_real_payload_47;
# DEBUG BEGIN_STMT
_7 ={v} *flexcan_mb_42;
rxFifo_48(D)->cs = _7;
# DEBUG BEGIN_STMT
_8 = _7 & 2097152;
if (_8 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const uint32 *)flexcan_mb_42 + 4B];
rxFifo_48(D)->msgId = _9;
goto <bb 7>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
_10 ={v} MEM[(const uint32 *)flexcan_mb_42 + 4B];
_11 = _10 >> 18;
rxFifo_48(D)->msgId = _11;
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
_12 = _7 & 1048576;
if (_12 != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG can_real_payload => 0
<bb 9> [local count: 107374]:
# can_real_payload_37 = PHI <can_real_payload_47(7), 0(8)>
# DEBUG can_real_payload => can_real_payload_37
# DEBUG BEGIN_STMT
_13 = can_real_payload_37 >> 2;
_14 = can_real_payload_37 & 3;
if (_14 != 0)
goto <bb 11>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 10> [local count: 53687]:
<bb 11> [local count: 107374]:
# iftmp.19_38 = PHI <1(9), 0(10)>
idhit_offset_54 = _13 + iftmp.19_38;
# DEBUG idhit_offset => idhit_offset_54
# DEBUG BEGIN_STMT
_15 = (unsigned int) idhit_offset_54;
_16 = _15 * 4;
_17 = flexcan_mb_data_32_43 + _16;
_18 ={v} *_17;
_19 = (unsigned char) _18;
_20 = _19 & 127;
rxFifo_48(D)->id_hit = _20;
# DEBUG BEGIN_STMT
_21 = _7 & 65535;
rxFifo_48(D)->time_stamp = _21;
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 13>; [100.00%]
<bb 12> [local count: 868753]:
# DEBUG BEGIN_STMT
_22 = databyte_36 >> 2;
_23 = _22 * 4;
_24 = flexcan_mb_data_32_43 + _23;
mbWord_57 ={v} *_24;
# DEBUG mbWord => mbWord_57
# DEBUG BEGIN_STMT
_25 = mbWord_57 >> 24;
_26 = mbWord_57 >> 8;
_27 = _26 & 65280;
_28 = _25 | _27;
_29 = mbWord_57 << 8;
_30 = _29 & 16711680;
_31 = _28 | _30;
_32 = mbWord_57 << 24;
_33 = msgData_32_49 + _23;
_34 = _31 | _32;
*_33 = _34;
# DEBUG BEGIN_STMT
databyte_59 = databyte_36 + 4;
# DEBUG databyte => databyte_59
<bb 13> [local count: 976127]:
# databyte_36 = PHI <0(11), databyte_59(12)>
# DEBUG databyte => databyte_36
# DEBUG BEGIN_STMT
_35 = (long unsigned int) can_real_payload_37;
if (_35 > databyte_36)
goto <bb 12>; [89.00%]
else
goto <bb 14>; [11.00%]
<bb 14> [local count: 107374]:
return;
}
FlexCAN_ReadRxFifo (const struct FLEXCAN_Type * base, struct Flexcan_Ip_MsgBuffType * rxFifo)
{
volatile boolean x;
uint8 can_real_payload;
uint8 flexcan_mb_dlc_value;
uint32 * msgData_32;
const uint32 * flexcan_mb;
uint32 mbWord;
uint32 databyte;
long unsigned int base.17_1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
unsigned char _5;
_Bool _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
unsigned char _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
const uint32 * _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
uint32 * _26;
long unsigned int _27;
long unsigned int _28;
_Bool x.7_39;
sizetype _41;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
base.17_1 = (long unsigned int) base_32(D);
_2 = base.17_1 + 128;
flexcan_mb_33 = (const uint32 *) _2;
# DEBUG flexcan_mb => flexcan_mb_33
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_33 + 4
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data_32 => flexcan_mb_33 + 8
# DEBUG BEGIN_STMT
msgData_32_36 = &rxFifo_35(D)->data;
# DEBUG msgData_32 => msgData_32_36
# DEBUG BEGIN_STMT
_3 ={v} *flexcan_mb_33;
_4 = _3 >> 16;
_5 = (unsigned char) _4;
flexcan_mb_dlc_value_38 = _5 & 15;
# DEBUG flexcan_mb_dlc_value => flexcan_mb_dlc_value_38
# DEBUG BEGIN_STMT
can_real_payload_40 = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value_38);
# DEBUG can_real_payload => can_real_payload_40
# DEBUG BEGIN_STMT
_6 = rxFifo_35(D) != 0B;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_39 ={v} x;
if (x.7_39 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
can_real_payload_34 = MIN_EXPR <8, can_real_payload_40>;
# DEBUG can_real_payload => can_real_payload_34
# DEBUG BEGIN_STMT
rxFifo_35(D)->dataLen = can_real_payload_34;
# DEBUG BEGIN_STMT
_7 ={v} *flexcan_mb_33;
rxFifo_35(D)->cs = _7;
# DEBUG BEGIN_STMT
_8 = _7 & 2097152;
if (_8 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 53687]:
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const uint32 *)flexcan_mb_33 + 4B];
rxFifo_35(D)->msgId = _9;
goto <bb 7>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
_10 ={v} MEM[(const uint32 *)flexcan_mb_33 + 4B];
_11 = _10 >> 18;
rxFifo_35(D)->msgId = _11;
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
_12 ={v} base_32(D)->RXFIR;
_13 = (unsigned char) _12;
rxFifo_35(D)->id_hit = _13;
# DEBUG BEGIN_STMT
_14 = _7 & 65535;
rxFifo_35(D)->time_stamp = _14;
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 9>; [100.00%]
<bb 8> [local count: 868753]:
# DEBUG BEGIN_STMT
_15 = databyte_29 >> 2;
_16 = _15 * 4;
_41 = _16 + 8;
_17 = flexcan_mb_33 + _41;
mbWord_48 ={v} *_17;
# DEBUG mbWord => mbWord_48
# DEBUG BEGIN_STMT
_18 = mbWord_48 >> 24;
_19 = mbWord_48 >> 8;
_20 = _19 & 65280;
_21 = _18 | _20;
_22 = mbWord_48 << 8;
_23 = _22 & 16711680;
_24 = _21 | _23;
_25 = mbWord_48 << 24;
_26 = msgData_32_36 + _16;
_27 = _24 | _25;
*_26 = _27;
# DEBUG BEGIN_STMT
databyte_50 = databyte_29 + 4;
# DEBUG databyte => databyte_50
<bb 9> [local count: 976127]:
# databyte_29 = PHI <0(7), databyte_50(8)>
# DEBUG databyte => databyte_29
# DEBUG BEGIN_STMT
_28 = (long unsigned int) can_real_payload_34;
if (_28 > databyte_29)
goto <bb 8>; [89.00%]
else
goto <bb 10>; [11.00%]
<bb 10> [local count: 107374]:
return;
}
FlexCAN_SetRxFifoFilter (struct FLEXCAN_Type * base, Flexcan_Ip_RxFifoIdElementFormatType idFormat, const struct Flexcan_Ip_IdTableType * idFilterTable)
{
volatile boolean x;
volatile uint32 * filterTable;
uint32 val;
uint32 val2;
uint32 val1;
uint32 numOfFilters;
uint32 j;
uint32 i;
long unsigned int base.15_1;
long unsigned int _2;
_Bool _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
const struct Flexcan_Ip_IdTableType * _9;
_Bool _10;
_Bool _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
volatile uint32 * _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
volatile uint32 * _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
const struct Flexcan_Ip_IdTableType * _30;
_Bool _31;
sizetype _32;
sizetype _33;
const struct Flexcan_Ip_IdTableType * _34;
_Bool _35;
_Bool _36;
long unsigned int _37;
long unsigned int _38;
long unsigned int _39;
long unsigned int _40;
long unsigned int _41;
volatile uint32 * _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
volatile uint32 * _48;
long unsigned int _49;
_Bool _50;
long unsigned int _51;
volatile uint32 * _52;
long unsigned int _53;
long unsigned int _54;
long unsigned int _55;
long unsigned int _56;
long unsigned int _57;
long unsigned int _58;
long unsigned int _59;
volatile uint32 * _60;
long unsigned int _61;
long unsigned int _62;
long unsigned int _63;
long unsigned int _64;
long unsigned int _65;
long unsigned int _66;
long unsigned int _67;
long unsigned int _68;
long unsigned int _69;
long unsigned int _70;
long unsigned int _71;
long unsigned int _72;
const struct Flexcan_Ip_IdTableType * _73;
_Bool _74;
long unsigned int _75;
long unsigned int _76;
long unsigned int _77;
long unsigned int _78;
volatile uint32 * _79;
long unsigned int _80;
long unsigned int _81;
long unsigned int _82;
long unsigned int _83;
volatile uint32 * _84;
sizetype _85;
sizetype _86;
const struct Flexcan_Ip_IdTableType * _87;
_Bool _88;
long unsigned int _89;
volatile uint32 * _90;
long unsigned int _91;
long unsigned int _92;
long unsigned int _93;
long unsigned int _94;
long unsigned int _95;
long unsigned int _96;
long unsigned int _97;
volatile uint32 * _98;
long unsigned int _99;
long unsigned int _100;
long unsigned int _101;
long unsigned int _102;
long unsigned int _103;
long unsigned int _104;
sizetype _105;
sizetype _106;
const struct Flexcan_Ip_IdTableType * _107;
_Bool _108;
long unsigned int _109;
volatile uint32 * _110;
long unsigned int _111;
long unsigned int _112;
long unsigned int _113;
long unsigned int _114;
long unsigned int _115;
long unsigned int _116;
long unsigned int _117;
volatile uint32 * _118;
long unsigned int _119;
long unsigned int _120;
long unsigned int _121;
long unsigned int _122;
long unsigned int _123;
long unsigned int _124;
sizetype _125;
sizetype _126;
const struct Flexcan_Ip_IdTableType * _127;
_Bool _128;
long unsigned int _129;
volatile uint32 * _130;
long unsigned int _131;
long unsigned int _132;
long unsigned int _133;
long unsigned int _134;
long unsigned int _135;
long unsigned int _136;
volatile uint32 * _137;
long unsigned int _138;
long unsigned int _139;
long unsigned int _140;
long unsigned int _141;
long unsigned int _142;
long unsigned int _143;
long unsigned int _144;
long unsigned int _145;
long unsigned int _146;
int iftmp.16_155;
_Bool x.7_207;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG val2 => 0
# DEBUG val => 0
# DEBUG BEGIN_STMT
base.15_1 = (long unsigned int) base_167(D);
_2 = base.15_1 + 224;
filterTable_168 = (volatile uint32 *) _2;
# DEBUG filterTable => filterTable_168
# DEBUG BEGIN_STMT
if (idFilterTable_169(D) != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 3>; [30.00%]
<bb 3> [local count: 64424]:
if (idFormat_170(D) == 3)
goto <bb 5>; [34.00%]
else
goto <bb 4>; [66.00%]
<bb 4> [local count: 42520]:
<bb 5> [local count: 214748]:
# iftmp.16_155 = PHI <1(3), 0(4), 1(2)>
_3 = (_Bool) iftmp.16_155;
x ={v} _3;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_207 ={v} x;
if (x.7_207 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 46>; [50.00%]
<bb 46> [local count: 107374]:
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 47> [local count: 1073741824]:
goto <bb 6>; [100.00%]
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_4 ={v} base_167(D)->CTRL2;
_5 = _4 >> 24;
numOfFilters_172 = _5 & 15;
# DEBUG numOfFilters => numOfFilters_172
# DEBUG BEGIN_STMT
switch (idFormat_170(D)) <default: <L46> [20.00%], case 0: <L4> [20.00%], case 1: <L13> [20.00%], case 2: <L27> [20.00%], case 3: <L43> [20.00%]>
<bb 8> [local count: 21475]:
<L4>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_6 ={v} base_167(D)->MCR;
_7 = _6 & 4294966527;
base_167(D)->MCR ={v} _7;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 15>; [100.00%]
<bb 9> [local count: 173751]:
# DEBUG BEGIN_STMT
# DEBUG val => 0
# DEBUG BEGIN_STMT
_8 = i_147 * 8;
_9 = idFilterTable_169(D) + _8;
_10 = _9->isRemoteFrame;
if (_10 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 10> [local count: 86875]:
# DEBUG BEGIN_STMT
# DEBUG val => 2147483648
<bb 11> [local count: 173751]:
# val_154 = PHI <0(9), 2147483648(10)>
# DEBUG val => val_154
# DEBUG BEGIN_STMT
_11 = _9->isExtendedFrame;
if (_11 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 86875]:
# DEBUG BEGIN_STMT
val_204 = val_154 | 1073741824;
# DEBUG val => val_204
# DEBUG BEGIN_STMT
_12 = _9->id;
_13 = _12 << 1;
_14 = _13 & 1073741823;
_15 = i_147 * 4;
_16 = filterTable_168 + _15;
_17 = _14 + val_204;
*_16 ={v} _17;
goto <bb 14>; [100.00%]
<bb 13> [local count: 86875]:
# DEBUG BEGIN_STMT
_18 = _9->id;
_19 = _18 << 19;
_20 = _19 & 1073217536;
_21 = i_147 * 4;
_22 = filterTable_168 + _21;
_23 = _20 + val_154;
*_22 ={v} _23;
<bb 14> [local count: 173751]:
# DEBUG BEGIN_STMT
i_206 = i_147 + 1;
# DEBUG i => i_206
<bb 15> [local count: 195225]:
# i_147 = PHI <0(8), i_206(14)>
# DEBUG i => i_147
# DEBUG BEGIN_STMT
_24 = numOfFilters_172 + 1;
_25 = _24 * 8;
if (_25 > i_147)
goto <bb 9>; [89.00%]
else
goto <bb 45>; [11.00%]
<bb 16> [local count: 21475]:
<L13>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_26 ={v} base_167(D)->MCR;
_27 = _26 & 4294966527;
_28 = _27 | 256;
base_167(D)->MCR ={v} _28;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 28>; [100.00%]
<bb 17> [local count: 173751]:
# DEBUG BEGIN_STMT
# DEBUG val1 => 0
# DEBUG BEGIN_STMT
# DEBUG val2 => 0
# DEBUG BEGIN_STMT
_29 = j_150 * 8;
_30 = idFilterTable_169(D) + _29;
_31 = _30->isRemoteFrame;
if (_31 != 0)
goto <bb 18>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 18> [local count: 86875]:
# DEBUG BEGIN_STMT
# DEBUG val1 => 2147483648
<bb 19> [local count: 173751]:
# val1_152 = PHI <0(17), 2147483648(18)>
# DEBUG val1 => val1_152
# DEBUG BEGIN_STMT
_32 = j_150 + 1;
_33 = _32 * 8;
_34 = idFilterTable_169(D) + _33;
_35 = _34->isRemoteFrame;
if (_35 != 0)
goto <bb 20>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 20> [local count: 86875]:
# DEBUG BEGIN_STMT
# DEBUG val2 => 32768
<bb 21> [local count: 173751]:
# val2_153 = PHI <0(19), 32768(20)>
# DEBUG val2 => val2_153
# DEBUG BEGIN_STMT
_36 = _30->isExtendedFrame;
if (_36 != 0)
goto <bb 22>; [50.00%]
else
goto <bb 23>; [50.00%]
<bb 22> [local count: 86875]:
# DEBUG BEGIN_STMT
val1_193 = val1_152 | 1073741824;
# DEBUG val1 => val1_193
# DEBUG BEGIN_STMT
_37 = _30->id;
_38 = _37 >> 15;
_39 = _38 << 16;
_40 = _39 & 1073676288;
_41 = i_148 * 4;
_42 = filterTable_168 + _41;
_43 = _40 + val1_193;
*_42 ={v} _43;
goto <bb 24>; [100.00%]
<bb 23> [local count: 86875]:
# DEBUG BEGIN_STMT
_44 = _30->id;
_45 = _44 << 19;
_46 = _45 & 1073217536;
_47 = i_148 * 4;
_48 = filterTable_168 + _47;
_49 = _46 + val1_152;
*_48 ={v} _49;
<bb 24> [local count: 173751]:
# DEBUG BEGIN_STMT
_50 = _34->isExtendedFrame;
if (_50 != 0)
goto <bb 25>; [50.00%]
else
goto <bb 26>; [50.00%]
<bb 25> [local count: 86875]:
# DEBUG BEGIN_STMT
val2_196 = val2_153 | 16384;
# DEBUG val2 => val2_196
# DEBUG BEGIN_STMT
_51 = i_148 * 4;
_52 = filterTable_168 + _51;
_53 ={v} *_52;
_54 = _34->id;
_55 = _54 >> 15;
_56 = _55 & 16383;
_57 = _56 + val2_196;
_58 = _53 | _57;
*_52 ={v} _58;
goto <bb 27>; [100.00%]
<bb 26> [local count: 86875]:
# DEBUG BEGIN_STMT
_59 = i_148 * 4;
_60 = filterTable_168 + _59;
_61 ={v} *_60;
_62 = _34->id;
_63 = _62 << 3;
_64 = _63 & 16376;
_65 = _64 + val2_153;
_66 = _61 | _65;
*_60 ={v} _66;
<bb 27> [local count: 173751]:
# DEBUG BEGIN_STMT
j_198 = j_150 + 2;
# DEBUG j => j_198
# DEBUG BEGIN_STMT
i_199 = i_148 + 1;
# DEBUG i => i_199
<bb 28> [local count: 195225]:
# i_148 = PHI <0(16), i_199(27)>
# j_150 = PHI <0(16), j_198(27)>
# DEBUG j => j_150
# DEBUG i => i_148
# DEBUG BEGIN_STMT
_67 = numOfFilters_172 + 1;
_68 = _67 * 8;
if (_68 > i_148)
goto <bb 17>; [89.00%]
else
goto <bb 45>; [11.00%]
<bb 29> [local count: 21475]:
<L27>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_69 ={v} base_167(D)->MCR;
_70 = _69 & 4294966527;
_71 = _70 | 512;
base_167(D)->MCR ={v} _71;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
# DEBUG j => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 43>; [100.00%]
<bb 30> [local count: 173751]:
# DEBUG BEGIN_STMT
_72 = j_151 * 8;
_73 = idFilterTable_169(D) + _72;
_74 = _73->isExtendedFrame;
if (_74 != 0)
goto <bb 31>; [50.00%]
else
goto <bb 32>; [50.00%]
<bb 31> [local count: 86875]:
# DEBUG BEGIN_STMT
_75 = _73->id;
_76 = _75 >> 21;
_77 = _76 << 24;
_78 = i_149 * 4;
_79 = filterTable_168 + _78;
*_79 ={v} _77;
goto <bb 33>; [100.00%]
<bb 32> [local count: 86875]:
# DEBUG BEGIN_STMT
_80 = _73->id;
_81 = _80 >> 3;
_82 = _81 << 24;
_83 = i_149 * 4;
_84 = filterTable_168 + _83;
*_84 ={v} _82;
<bb 33> [local count: 173751]:
# DEBUG BEGIN_STMT
_85 = j_151 + 1;
_86 = _85 * 8;
_87 = idFilterTable_169(D) + _86;
_88 = _87->isExtendedFrame;
if (_88 != 0)
goto <bb 34>; [50.00%]
else
goto <bb 35>; [50.00%]
<bb 34> [local count: 86875]:
# DEBUG BEGIN_STMT
_89 = i_149 * 4;
_90 = filterTable_168 + _89;
_91 ={v} *_90;
_92 = _87->id;
_93 = _92 >> 21;
_94 = _93 << 16;
_95 = _94 & 16711680;
_96 = _91 | _95;
*_90 ={v} _96;
goto <bb 36>; [100.00%]
<bb 35> [local count: 86875]:
# DEBUG BEGIN_STMT
_97 = i_149 * 4;
_98 = filterTable_168 + _97;
_99 ={v} *_98;
_100 = _87->id;
_101 = _100 >> 3;
_102 = _101 << 16;
_103 = _102 & 16711680;
_104 = _99 | _103;
*_98 ={v} _104;
<bb 36> [local count: 173751]:
# DEBUG BEGIN_STMT
_105 = j_151 + 2;
_106 = _105 * 8;
_107 = idFilterTable_169(D) + _106;
_108 = _107->isExtendedFrame;
if (_108 != 0)
goto <bb 37>; [50.00%]
else
goto <bb 38>; [50.00%]
<bb 37> [local count: 86875]:
# DEBUG BEGIN_STMT
_109 = i_149 * 4;
_110 = filterTable_168 + _109;
_111 ={v} *_110;
_112 = _107->id;
_113 = _112 >> 21;
_114 = _113 << 8;
_115 = _114 & 65535;
_116 = _111 | _115;
*_110 ={v} _116;
goto <bb 39>; [100.00%]
<bb 38> [local count: 86875]:
# DEBUG BEGIN_STMT
_117 = i_149 * 4;
_118 = filterTable_168 + _117;
_119 ={v} *_118;
_120 = _107->id;
_121 = _120 >> 3;
_122 = _121 << 8;
_123 = _122 & 65535;
_124 = _119 | _123;
*_118 ={v} _124;
<bb 39> [local count: 173751]:
# DEBUG BEGIN_STMT
_125 = j_151 + 3;
_126 = _125 * 8;
_127 = idFilterTable_169(D) + _126;
_128 = _127->isExtendedFrame;
if (_128 != 0)
goto <bb 40>; [50.00%]
else
goto <bb 41>; [50.00%]
<bb 40> [local count: 86875]:
# DEBUG BEGIN_STMT
_129 = i_149 * 4;
_130 = filterTable_168 + _129;
_131 ={v} *_130;
_132 = _127->id;
_133 = _132 >> 21;
_134 = _133 & 255;
_135 = _131 | _134;
*_130 ={v} _135;
goto <bb 42>; [100.00%]
<bb 41> [local count: 86875]:
# DEBUG BEGIN_STMT
_136 = i_149 * 4;
_137 = filterTable_168 + _136;
_138 ={v} *_137;
_139 = _127->id;
_140 = _139 >> 3;
_141 = _140 & 255;
_142 = _138 | _141;
*_137 ={v} _142;
<bb 42> [local count: 173751]:
# DEBUG BEGIN_STMT
j_187 = j_151 + 4;
# DEBUG j => j_187
# DEBUG BEGIN_STMT
i_188 = i_149 + 1;
# DEBUG i => i_188
<bb 43> [local count: 195225]:
# i_149 = PHI <0(29), i_188(42)>
# j_151 = PHI <0(29), j_187(42)>
# DEBUG j => j_151
# DEBUG i => i_149
# DEBUG BEGIN_STMT
_143 = numOfFilters_172 + 1;
_144 = _143 * 8;
if (_144 > i_149)
goto <bb 30>; [89.00%]
else
goto <bb 45>; [11.00%]
<bb 44> [local count: 21475]:
<L43>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
_145 ={v} base_167(D)->MCR;
_146 = _145 | 768;
base_167(D)->MCR ={v} _146;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
# DEBUG BEGIN_STMT
<bb 45> [local count: 107374]:
<L46>:
return;
}
FlexCAN_SetOperationMode (struct FLEXCAN_Type * base, Flexcan_Ip_ModesType mode)
{
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _26;
long unsigned int _27;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
switch (mode_12(D)) <default: <L5> [25.00%], case 0: <L0> [25.00%], case 1: <L1> [25.00%], case 2: <L2> [25.00%]>
<bb 3> [local count: 268435456]:
<L0>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
_1 ={v} base_15(D)->CTRL1;
_2 = _1 & 4294967287;
base_15(D)->CTRL1 ={v} _2;
# DEBUG BEGIN_STMT
_3 ={v} base_15(D)->CTRL1;
_4 = _3 & 4294963199;
base_15(D)->CTRL1 ={v} _4;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
goto <bb 6>; [100.00%]
<bb 4> [local count: 268435456]:
<L1>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
_5 ={v} base_15(D)->CTRL1;
_6 = _5 | 8;
base_15(D)->CTRL1 ={v} _6;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
goto <bb 6>; [100.00%]
<bb 5> [local count: 268435456]:
<L2>:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
_7 ={v} base_15(D)->CTRL1;
_8 = _7 | 4096;
base_15(D)->CTRL1 ={v} _8;
# DEBUG BEGIN_STMT
_9 ={v} base_15(D)->CTRL1;
_10 = _9 & 4294967287;
base_15(D)->CTRL1 ={v} _10;
# DEBUG BEGIN_STMT
# DEBUG base => base_15(D)
# DEBUG enable => 1
# DEBUG INLINE_ENTRY FlexCAN_SetSelfReception
# DEBUG BEGIN_STMT
_26 ={v} base_15(D)->MCR;
_27 = _26 & 4294836223;
base_15(D)->MCR ={v} _27;
# DEBUG base => NULL
# DEBUG enable => NULL
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();
# DEBUG BEGIN_STMT
<bb 6> [local count: 1073741824]:
<L5>:
return;
}
FlexCAN_SetMaxMsgBuffNum (struct FLEXCAN_Type * base, uint32 maxMsgBuffNum)
{
volatile boolean x;
Flexcan_Ip_StatusType status;
uint32 valEndRam;
uint32 valEndMb;
uint8 can_real_payload;
volatile uint32 * flexcan_mb;
const uint32 * valEndMbPointer;
const uint32 * RAM;
uint32 databyte;
uint8 msgBuffIdx;
long unsigned int base.11_1;
long unsigned int _2;
long unsigned int _3;
_Bool _4;
long unsigned int _5;
long unsigned int valEndMbPointer.12_6;
long unsigned int _7;
const uint32 * _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
volatile uint8 * _16;
long unsigned int _17;
long unsigned int _18;
sizetype _27;
_Bool x.7_37;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
base.11_1 = (long unsigned int) base_25(D);
_2 = base.11_1 + 128;
RAM_26 = (const uint32 *) _2;
# DEBUG RAM => RAM_26
# DEBUG BEGIN_STMT
# DEBUG valEndMbPointer => 0B
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb => 0B
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => 0B
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data => 0B
# DEBUG BEGIN_STMT
# DEBUG arbitration_field_size => 8
# DEBUG BEGIN_STMT
_3 = maxMsgBuffNum_29(D) + 4294967295;
can_real_payload_32 = FlexCAN_GetMbPayloadSize (base_25(D), _3);
# DEBUG can_real_payload => can_real_payload_32
# DEBUG BEGIN_STMT
# DEBUG valEndMb => 0
# DEBUG BEGIN_STMT
# DEBUG valEndRam => 0
# DEBUG BEGIN_STMT
# DEBUG status => 0
# DEBUG BEGIN_STMT
_4 = maxMsgBuffNum_29(D) != 0;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_37 ={v} x;
if (x.7_37 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 15>; [50.00%]
<bb 15> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 16> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
valEndMbPointer_34 = FlexCAN_GetMsgBuffRegion (base_25(D), _3);
# DEBUG valEndMbPointer => valEndMbPointer_34
# DEBUG BEGIN_STMT
_5 = (long unsigned int) can_real_payload_32;
valEndMbPointer.12_6 = (long unsigned int) valEndMbPointer_34;
_7 = _5 + valEndMbPointer.12_6;
valEndMb_35 = _7 + 8;
# DEBUG valEndMb => valEndMb_35
# DEBUG BEGIN_STMT
_8 = RAM_26 + 1536;
valEndRam_36 = (uint32) _8;
# DEBUG valEndRam => valEndRam_36
# DEBUG BEGIN_STMT
if (valEndMb_35 > valEndRam_36)
goto <bb 13>; [35.00%]
else
goto <bb 5>; [65.00%]
<bb 5> [local count: 69793]:
_9 = FlexCAN_GetMaxMbNum (base_25(D));
if (_9 < maxMsgBuffNum_29(D))
goto <bb 13>; [52.23%]
else
goto <bb 6>; [47.77%]
<bb 6> [local count: 33340]:
# DEBUG status => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11 ();
# DEBUG BEGIN_STMT
_10 ={v} base_25(D)->MCR;
_11 = _10 & 4294967168;
_12 = _3 & 127;
_13 = _11 | _12;
base_25(D)->MCR ={v} _13;
# DEBUG BEGIN_STMT
_14 ={v} base_25(D)->MCR;
_15 = _14 & 536870912;
if (_15 == 0)
goto <bb 14>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 14> [local count: 16670]:
goto <bb 11>; [100.00%]
<bb 7> [local count: 134876]:
# DEBUG BEGIN_STMT
flexcan_mb_41 = FlexCAN_GetMsgBuffRegion (base_25(D), _18);
# DEBUG flexcan_mb => flexcan_mb_41
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_41 + 4
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data => flexcan_mb_41 + 8
# DEBUG BEGIN_STMT
*flexcan_mb_41 ={v} 0;
# DEBUG BEGIN_STMT
MEM[(volatile uint32 *)flexcan_mb_41 + 4B] ={v} 0;
# DEBUG BEGIN_STMT
can_real_payload_45 = FlexCAN_GetMbPayloadSize (base_25(D), _18);
# DEBUG can_real_payload => can_real_payload_45
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 9>; [100.00%]
<bb 8> [local count: 1091270]:
# DEBUG BEGIN_STMT
_27 = databyte_20 + 8;
_16 = flexcan_mb_41 + _27;
*_16 ={v} 0;
# DEBUG BEGIN_STMT
databyte_48 = databyte_20 + 1;
# DEBUG databyte => databyte_48
<bb 9> [local count: 1226147]:
# databyte_20 = PHI <0(7), databyte_48(8)>
# DEBUG databyte => databyte_20
# DEBUG BEGIN_STMT
_17 = (long unsigned int) can_real_payload_45;
if (_17 > databyte_20)
goto <bb 8>; [89.00%]
else
goto <bb 10>; [11.00%]
<bb 10> [local count: 134876]:
# DEBUG BEGIN_STMT
msgBuffIdx_46 = msgBuffIdx_19 + 1;
# DEBUG msgBuffIdx => msgBuffIdx_46
<bb 11> [local count: 151546]:
# msgBuffIdx_19 = PHI <msgBuffIdx_46(10), 0(14)>
# DEBUG msgBuffIdx => msgBuffIdx_19
# DEBUG BEGIN_STMT
_18 = (long unsigned int) msgBuffIdx_19;
if (_18 < maxMsgBuffNum_29(D))
goto <bb 7>; [89.00%]
else
goto <bb 12>; [11.00%]
<bb 12> [local count: 33340]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11 ();
<bb 13> [local count: 107374]:
# status_28 = PHI <4(5), 0(12), 4(4)>
# DEBUG status => NULL
# DEBUG BEGIN_STMT
return status_28;
}
FlexCAN_SetTxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, const struct Flexcan_Ip_MsbuffCodeStatusType * cs, uint32 msgId, const uint8 * msgData, const boolean isRemote)
{
volatile boolean x;
volatile boolean x;
uint32 ret;
static const uint8 payload_code[65] = "\x00\x01\x02\x03\x04\x05\x06\x07\b\t\t\t\t\n\n\n\n\v\v\v\v\f\f\f\f\r\r\r\r\r\r\r\r\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f";
volatile uint8 * flexcan_mb_data;
volatile uint32 * flexcan_mb;
uint8 payload_size;
uint32 databyte;
uint32 flexcan_mb_config;
_Bool _1;
long unsigned int _2;
unsigned char _3;
unsigned char _4;
_Bool _5;
long unsigned int _6;
unsigned char _7;
long unsigned int _8;
long unsigned int _9;
const uint32 * _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
volatile uint32 * _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
const uint8 * _24;
long unsigned int _25;
volatile uint8 * _26;
unsigned char _27;
long unsigned int _28;
long unsigned int _29;
volatile uint8 * _30;
unsigned char _31;
long unsigned int _32;
<unnamed type> _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
long unsigned int _37;
long unsigned int _38;
<unnamed type> _39;
long unsigned int _40;
long unsigned int _41;
long unsigned int _42;
long unsigned int _43;
long unsigned int _44;
long unsigned int _45;
long unsigned int _46;
long unsigned int _47;
long unsigned int _48;
_Bool _49;
long unsigned int _50;
long unsigned int _51;
long unsigned int _52;
long unsigned int _53;
long unsigned int _54;
_Bool _55;
long unsigned int _56;
long unsigned int _57;
long unsigned int _73;
long unsigned int _80;
long unsigned int _82;
unsigned char _87;
int _88;
unsigned char _111;
_Bool x.7_112;
_Bool x.7_113;
sizetype _116;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
flexcan_mb_78 = FlexCAN_GetMsgBuffRegion (base_75(D), msgBuffIdx_76(D));
# DEBUG flexcan_mb => flexcan_mb_78
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_78 + 4
# DEBUG BEGIN_STMT
flexcan_mb_data_79 = flexcan_mb_78 + 8;
# DEBUG flexcan_mb_data => flexcan_mb_data_79
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data_32 => flexcan_mb_data_79
# DEBUG BEGIN_STMT
# DEBUG msgData_32 => msgData_81(D)
# DEBUG BEGIN_STMT
_1 = cs_83(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_113 ={v} x;
if (x.7_113 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 35>; [50.00%]
<bb 35> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 37> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
*flexcan_mb_78 ={v} 134217728;
# DEBUG BEGIN_STMT
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} 0;
# DEBUG BEGIN_STMT
_2 = cs_83(D)->dataLen;
_3 = (unsigned char) _2;
_4 = FlexCAN_GetMbPayloadSize (base_75(D), msgBuffIdx_76(D));
_5 = _3 <= _4;
x ={v} _5;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_112 ={v} x;
if (x.7_112 != 0)
goto <bb 6>; [50.00%]
else
goto <bb 34>; [50.00%]
<bb 34> [local count: 53687]:
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 36> [local count: 536870913]:
goto <bb 5>; [100.00%]
<bb 6> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_6 = cs_83(D)->dataLen;
_7 = (unsigned char) _6;
# DEBUG payloadSize => _7
# DEBUG INLINE_ENTRY FlexCAN_ComputeDLCValue
# DEBUG BEGIN_STMT
# DEBUG ret => 255
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (_7 <= 64)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 26844]:
# DEBUG BEGIN_STMT
_73 = _6 & 255;
_88 = (int) _73;
_87 = payload_code[_88];
ret_109 = (uint32) _87;
# DEBUG ret => ret_109
<bb 8> [local count: 53687]:
# ret_110 = PHI <255(6), ret_109(7)>
# DEBUG ret => ret_110
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_111 = (unsigned char) ret_110;
# DEBUG payloadSize => NULL
# DEBUG ret => NULL
# DEBUG dlc_value => _111
# DEBUG BEGIN_STMT
if (msgData_81(D) != 0B)
goto <bb 33>; [70.00%]
else
goto <bb 16>; [30.00%]
<bb 33> [local count: 37581]:
goto <bb 10>; [100.00%]
<bb 9> [local count: 304064]:
# DEBUG BEGIN_STMT
_8 = databyte_63 >> 2;
_9 = _8 * 4;
_10 = msgData_81(D) + _9;
_11 = *_10;
_12 = _11 >> 24;
_13 = _11 >> 8;
_14 = _13 & 65280;
_15 = _12 | _14;
_16 = _11 << 8;
_17 = _16 & 16711680;
_18 = _15 | _17;
_19 = _11 << 24;
_116 = _9 + 8;
_20 = flexcan_mb_78 + _116;
_21 = _18 | _19;
*_20 ={v} _21;
# DEBUG BEGIN_STMT
databyte_95 = databyte_63 + 4;
# DEBUG databyte => databyte_95
<bb 10> [local count: 341645]:
# databyte_63 = PHI <databyte_95(9), 0(33)>
# DEBUG databyte => databyte_63
# DEBUG BEGIN_STMT
_22 = cs_83(D)->dataLen;
_23 = _22 & 4294967292;
if (_23 > databyte_63)
goto <bb 9>; [89.00%]
else
goto <bb 32>; [11.00%]
<bb 32> [local count: 37581]:
goto <bb 12>; [100.00%]
<bb 11> [local count: 304064]:
# DEBUG BEGIN_STMT
_24 = msgData_81(D) + databyte_64;
_25 = databyte_64 ^ 3;
_26 = flexcan_mb_data_79 + _25;
_27 = *_24;
*_26 ={v} _27;
# DEBUG BEGIN_STMT
databyte_93 = databyte_64 + 1;
# DEBUG databyte => databyte_93
<bb 12> [local count: 341645]:
# databyte_64 = PHI <databyte_93(11), databyte_63(32)>
# DEBUG databyte => databyte_64
# DEBUG BEGIN_STMT
_28 = cs_83(D)->dataLen;
if (_28 > databyte_64)
goto <bb 11>; [89.00%]
else
goto <bb 13>; [11.00%]
<bb 13> [local count: 37581]:
# _80 = PHI <_28(12)>
# DEBUG BEGIN_STMT
payload_size_89 = FlexCAN_ComputePayloadSize (_111);
# DEBUG payload_size => payload_size_89
# DEBUG BEGIN_STMT
# DEBUG databyte => _80
goto <bb 15>; [100.00%]
<bb 14> [local count: 304064]:
# DEBUG BEGIN_STMT
_29 = databyte_65 ^ 3;
_30 = flexcan_mb_data_79 + _29;
_31 = cs_83(D)->fd_padding;
*_30 ={v} _31;
# DEBUG BEGIN_STMT
databyte_91 = databyte_65 + 1;
# DEBUG databyte => databyte_91
<bb 15> [local count: 341645]:
# databyte_65 = PHI <_80(13), databyte_91(14)>
# DEBUG databyte => databyte_65
# DEBUG BEGIN_STMT
_32 = (long unsigned int) payload_size_89;
if (_32 > databyte_65)
goto <bb 14>; [89.00%]
else
goto <bb 16>; [11.00%]
<bb 16> [local count: 53687]:
# DEBUG BEGIN_STMT
_33 = cs_83(D)->msgIdType;
if (_33 == 1)
goto <bb 17>; [34.00%]
else
goto <bb 18>; [66.00%]
<bb 17> [local count: 18254]:
# DEBUG BEGIN_STMT
_34 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_35 = _34 & 3758096384;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _35;
# DEBUG BEGIN_STMT
_36 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_37 = msgId_97(D) & 536870911;
_38 = _36 | _37;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _38;
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 6291456
<bb 18> [local count: 53687]:
# flexcan_mb_config_58 = PHI <0(16), 6291456(17)>
# DEBUG flexcan_mb_config => flexcan_mb_config_58
# DEBUG BEGIN_STMT
_39 = cs_83(D)->msgIdType;
if (_39 == 0)
goto <bb 19>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 19> [local count: 26844]:
# DEBUG BEGIN_STMT
_40 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_41 = _40 & 3758358527;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _41;
# DEBUG BEGIN_STMT
_42 ={v} MEM[(volatile uint32 *)flexcan_mb_78 + 4B];
_43 = msgId_97(D) << 18;
_44 = _43 & 536608768;
_45 = _42 | _44;
MEM[(volatile uint32 *)flexcan_mb_78 + 4B] ={v} _45;
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => 0
<bb 20> [local count: 53687]:
# flexcan_mb_config_59 = PHI <flexcan_mb_config_58(18), 0(19)>
# DEBUG flexcan_mb_config => flexcan_mb_config_59
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_59
# DEBUG BEGIN_STMT
_46 = ret_110 << 16;
_47 = _46 & 983040;
flexcan_mb_config_101 = _47 | flexcan_mb_config_59;
# DEBUG flexcan_mb_config => flexcan_mb_config_101
# DEBUG BEGIN_STMT
_48 = cs_83(D)->code;
if (_48 != 15)
goto <bb 21>; [66.00%]
else
goto <bb 31>; [34.00%]
<bb 21> [local count: 35433]:
# DEBUG BEGIN_STMT
if (_48 == 28)
goto <bb 22>; [34.00%]
else
goto <bb 23>; [66.00%]
<bb 22> [local count: 12047]:
# DEBUG BEGIN_STMT
flexcan_mb_config_104 = flexcan_mb_config_101 | 1048576;
# DEBUG flexcan_mb_config => flexcan_mb_config_104
goto <bb 25>; [100.00%]
<bb 23> [local count: 23386]:
# DEBUG BEGIN_STMT
if (isRemote_102(D) != 0)
goto <bb 24>; [50.00%]
else
goto <bb 25>; [50.00%]
<bb 24> [local count: 11693]:
# DEBUG BEGIN_STMT
flexcan_mb_config_103 = flexcan_mb_config_101 | 1048576;
# DEBUG flexcan_mb_config => flexcan_mb_config_103
<bb 25> [local count: 35433]:
# flexcan_mb_config_60 = PHI <flexcan_mb_config_104(22), flexcan_mb_config_101(23), flexcan_mb_config_103(24)>
# DEBUG flexcan_mb_config => flexcan_mb_config_60
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_config => flexcan_mb_config_60
# DEBUG BEGIN_STMT
_49 = cs_83(D)->fd_enable;
if (_49 != 0)
goto <bb 26>; [50.00%]
else
goto <bb 27>; [50.00%]
<bb 26> [local count: 17717]:
# DEBUG BEGIN_STMT
_50 = _48 << 24;
_51 = _50 & 251658240;
_52 = _51 | flexcan_mb_config_60;
# DEBUG flexcan_mb_config => _52 | 2147483648
# DEBUG BEGIN_STMT
_82 = _52 & 4293918719;
flexcan_mb_config_106 = _82 | 2147483648;
# DEBUG flexcan_mb_config => flexcan_mb_config_106
goto <bb 28>; [100.00%]
<bb 27> [local count: 17717]:
# DEBUG BEGIN_STMT
_53 = _48 << 24;
_54 = _53 & 251658240;
flexcan_mb_config_105 = _54 | flexcan_mb_config_60;
# DEBUG flexcan_mb_config => flexcan_mb_config_105
<bb 28> [local count: 35433]:
# flexcan_mb_config_61 = PHI <flexcan_mb_config_106(26), flexcan_mb_config_105(27)>
# DEBUG flexcan_mb_config => flexcan_mb_config_61
# DEBUG BEGIN_STMT
_55 = cs_83(D)->enable_brs;
if (_55 != 0)
goto <bb 29>; [50.00%]
else
goto <bb 30>; [50.00%]
<bb 29> [local count: 17717]:
# DEBUG BEGIN_STMT
flexcan_mb_config_107 = flexcan_mb_config_61 | 1073741824;
# DEBUG flexcan_mb_config => flexcan_mb_config_107
<bb 30> [local count: 35433]:
# flexcan_mb_config_62 = PHI <flexcan_mb_config_61(28), flexcan_mb_config_107(29)>
# DEBUG flexcan_mb_config => flexcan_mb_config_62
# DEBUG BEGIN_STMT
_56 ={v} *flexcan_mb_78;
_57 = _56 | flexcan_mb_config_62;
*flexcan_mb_78 ={v} _57;
<bb 31> [local count: 53687]:
return;
}
FlexCAN_GetMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, struct Flexcan_Ip_MsgBuffType * msgBuff)
{
volatile boolean x;
uint8 payload_size;
uint8 flexcan_mb_dlc_value;
uint32 mbWord;
uint32 * msgBuff_data_32;
const uint32 * flexcan_mb;
uint8 i;
long unsigned int _1;
long unsigned int _2;
unsigned char _3;
_Bool _4;
unsigned char _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
unsigned char _12;
unsigned int _13;
unsigned int _14;
const uint32 * _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
uint32 * _24;
long unsigned int _25;
unsigned int _26;
unsigned int _27;
unsigned int _28;
unsigned char _29;
sizetype _30;
const uint8 * _31;
int _32;
unsigned char _33;
_Bool x.7_49;
sizetype _51;
sizetype _60;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
flexcan_mb_45 = FlexCAN_GetMsgBuffRegion (base_42(D), msgBuffIdx_43(D));
# DEBUG flexcan_mb => flexcan_mb_45
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_45 + 4
# DEBUG BEGIN_STMT
# DEBUG D#1 => flexcan_mb_45 + 8
# DEBUG flexcan_mb_data => D#1
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_data_32 => D#1
# DEBUG BEGIN_STMT
msgBuff_data_32_47 = &msgBuff_46(D)->data;
# DEBUG msgBuff_data_32 => msgBuff_data_32_47
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 ={v} *flexcan_mb_45;
_2 = _1 >> 16;
_3 = (unsigned char) _2;
flexcan_mb_dlc_value_48 = _3 & 15;
# DEBUG flexcan_mb_dlc_value => flexcan_mb_dlc_value_48
# DEBUG BEGIN_STMT
payload_size_50 = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value_48);
# DEBUG payload_size => payload_size_50
# DEBUG BEGIN_STMT
_4 = msgBuff_46(D) != 0B;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_49 ={v} x;
if (x.7_49 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 16>; [50.00%]
<bb 16> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 17> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
_5 = FlexCAN_GetMbPayloadSize (base_42(D), msgBuffIdx_43(D));
if (_5 < payload_size_50)
goto <bb 5>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 5> [local count: 35433]:
# DEBUG BEGIN_STMT
payload_size_54 = FlexCAN_GetMbPayloadSize (base_42(D), msgBuffIdx_43(D));
# DEBUG payload_size => payload_size_54
<bb 6> [local count: 107374]:
# payload_size_36 = PHI <payload_size_50(4), payload_size_54(5)>
# DEBUG payload_size => payload_size_36
# DEBUG BEGIN_STMT
msgBuff_46(D)->dataLen = payload_size_36;
# DEBUG BEGIN_STMT
_6 ={v} *flexcan_mb_45;
msgBuff_46(D)->cs = _6;
# DEBUG BEGIN_STMT
_7 = _6 & 2097152;
if (_7 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
# DEBUG BEGIN_STMT
_8 ={v} MEM[(const uint32 *)flexcan_mb_45 + 4B];
msgBuff_46(D)->msgId = _8;
goto <bb 9>; [100.00%]
<bb 8> [local count: 53687]:
# DEBUG BEGIN_STMT
_9 ={v} MEM[(const uint32 *)flexcan_mb_45 + 4B];
_10 = _9 >> 18;
msgBuff_46(D)->msgId = _10;
<bb 9> [local count: 107374]:
# DEBUG BEGIN_STMT
_11 = _6 & 65535;
msgBuff_46(D)->time_stamp = _11;
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 11>; [100.00%]
<bb 10> [local count: 868753]:
# DEBUG BEGIN_STMT
_12 = i_34 >> 2;
_13 = (unsigned int) _12;
_14 = _13 * 4;
_51 = _14 + 8;
_15 = flexcan_mb_45 + _51;
mbWord_63 ={v} *_15;
# DEBUG mbWord => mbWord_63
# DEBUG BEGIN_STMT
_16 = mbWord_63 >> 24;
_17 = mbWord_63 >> 8;
_18 = _17 & 65280;
_19 = _16 | _18;
_20 = mbWord_63 << 8;
_21 = _20 & 16711680;
_22 = _19 | _21;
_23 = mbWord_63 << 24;
_24 = msgBuff_data_32_47 + _14;
_25 = _22 | _23;
*_24 = _25;
# DEBUG BEGIN_STMT
i_65 = i_34 + 4;
# DEBUG i => i_65
<bb 11> [local count: 976127]:
# i_34 = PHI <0(9), i_65(10)>
# DEBUG i => i_34
# DEBUG BEGIN_STMT
_26 = (unsigned int) i_34;
_27 = (unsigned int) payload_size_36;
_28 = _27 & 4294967292;
if (_26 < _28)
goto <bb 10>; [89.00%]
else
goto <bb 15>; [11.00%]
<bb 15> [local count: 107374]:
goto <bb 13>; [100.00%]
<bb 12> [local count: 868753]:
# DEBUG BEGIN_STMT
_29 = i_35 ^ 3;
_30 = (sizetype) _29;
_60 = _30 + 8;
_31 = flexcan_mb_45 + _60;
_32 = (int) i_35;
_33 ={v} *_31;
msgBuff_46(D)->data[_32] = _33;
# DEBUG BEGIN_STMT
i_62 = i_35 + 1;
# DEBUG i => i_62
<bb 13> [local count: 976127]:
# i_35 = PHI <i_62(12), i_34(15)>
# DEBUG i => i_35
# DEBUG BEGIN_STMT
if (i_35 < payload_size_36)
goto <bb 12>; [89.00%]
else
goto <bb 14>; [11.00%]
<bb 14> [local count: 107374]:
return;
}
FlexCAN_GetMsgBuffTimestamp (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
const uint32 * flexcan_mb;
uint32 timestamp;
long unsigned int _1;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG timestamp => 0
# DEBUG BEGIN_STMT
flexcan_mb_6 = FlexCAN_GetMsgBuffRegion (base_3(D), msgBuffIdx_4(D));
# DEBUG flexcan_mb => flexcan_mb_6
# DEBUG BEGIN_STMT
_1 ={v} *flexcan_mb_6;
timestamp_7 = _1 & 65535;
# DEBUG timestamp => timestamp_7
# DEBUG BEGIN_STMT
return timestamp_7;
}
FlexCAN_SetRxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, const struct Flexcan_Ip_MsbuffCodeStatusType * cs, uint32 msgId)
{
volatile boolean x;
volatile uint32 * flexcan_mb;
_Bool _1;
<unnamed type> _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
<unnamed type> _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
long unsigned int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
long unsigned int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
long unsigned int _26;
long unsigned int _27;
long unsigned int _28;
_Bool x.7_50;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
flexcan_mb_36 = FlexCAN_GetMsgBuffRegion (base_33(D), msgBuffIdx_34(D));
# DEBUG flexcan_mb => flexcan_mb_36
# DEBUG BEGIN_STMT
# DEBUG flexcan_mb_id => flexcan_mb_36 + 4
# DEBUG BEGIN_STMT
_1 = cs_37(D) != 0B;
x ={v} _1;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_50 ={v} x;
if (x.7_50 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 107374]:
<bb 3> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 12> [local count: 1073741824]:
goto <bb 3>; [100.00%]
<bb 4> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
*flexcan_mb_36 ={v} 0;
# DEBUG BEGIN_STMT
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} 0;
# DEBUG BEGIN_STMT
_2 = cs_37(D)->msgIdType;
if (_2 == 1)
goto <bb 5>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 5> [local count: 36507]:
# DEBUG BEGIN_STMT
_3 ={v} *flexcan_mb_36;
_4 = _3 | 2097152;
*flexcan_mb_36 ={v} _4;
# DEBUG BEGIN_STMT
_5 ={v} *flexcan_mb_36;
_6 = _5 & 4290772991;
*flexcan_mb_36 ={v} _6;
# DEBUG BEGIN_STMT
_7 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_8 = _7 & 3758096384;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _8;
# DEBUG BEGIN_STMT
_9 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_10 = msgId_43(D) & 536870911;
_11 = _9 | _10;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _11;
<bb 6> [local count: 107374]:
# DEBUG BEGIN_STMT
_12 = cs_37(D)->msgIdType;
if (_12 == 0)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 53687]:
# DEBUG BEGIN_STMT
_13 ={v} *flexcan_mb_36;
_14 = _13 & 4288675839;
*flexcan_mb_36 ={v} _14;
# DEBUG BEGIN_STMT
_15 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_16 = _15 & 3758358527;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _16;
# DEBUG BEGIN_STMT
_17 ={v} MEM[(volatile uint32 *)flexcan_mb_36 + 4B];
_18 = msgId_43(D) << 18;
_19 = _18 & 536608768;
_20 = _17 | _19;
MEM[(volatile uint32 *)flexcan_mb_36 + 4B] ={v} _20;
<bb 8> [local count: 107374]:
# DEBUG BEGIN_STMT
_21 = cs_37(D)->code;
if (_21 != 15)
goto <bb 9>; [66.00%]
else
goto <bb 10>; [34.00%]
<bb 9> [local count: 70867]:
# DEBUG BEGIN_STMT
_22 ={v} *flexcan_mb_36;
_23 = _22 & 4043309055;
*flexcan_mb_36 ={v} _23;
# DEBUG BEGIN_STMT
_24 ={v} *flexcan_mb_36;
_25 = cs_37(D)->code;
_26 = _25 << 24;
_27 = _26 & 251658240;
_28 = _24 | _27;
*flexcan_mb_36 ={v} _28;
<bb 10> [local count: 107374]:
return;
}
FlexCAN_EnableInterrupts (struct FLEXCAN_Type * pBase, uint8 u8Instance)
{
uint32 u32MaxMbCrtlNum;
int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
u32MaxMbCrtlNum_9 = FlexCAN_GetMaxMbNum (pBase_8(D));
# DEBUG u32MaxMbCrtlNum => u32MaxMbCrtlNum_9
# DEBUG BEGIN_STMT
_1 = (int) u8Instance_10(D);
_2 ={v} g_FlexCAN_u32ImaskBuff[_1][0];
pBase_8(D)->IMASK1 ={v} _2;
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_9 > 32)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
_3 ={v} g_FlexCAN_u32ImaskBuff[_1][1];
pBase_8(D)->IMASK2 ={v} _3;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_9 > 64)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
_4 ={v} g_FlexCAN_u32ImaskBuff[_1][2];
pBase_8(D)->IMASK3 ={v} _4;
<bb 6> [local count: 1073741824]:
return;
}
FlexCAN_DisableInterrupts (struct FLEXCAN_Type * pBase)
{
uint32 u32MaxMbCrtlNum;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
u32MaxMbCrtlNum_5 = FlexCAN_GetMaxMbNum (pBase_4(D));
# DEBUG u32MaxMbCrtlNum => u32MaxMbCrtlNum_5
# DEBUG BEGIN_STMT
pBase_4(D)->IMASK1 ={v} 0;
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_5 > 32)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
pBase_4(D)->IMASK2 ={v} 0;
<bb 4> [local count: 1073741824]:
# DEBUG BEGIN_STMT
if (u32MaxMbCrtlNum_5 > 64)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 536870913]:
# DEBUG BEGIN_STMT
pBase_4(D)->IMASK3 ={v} 0;
<bb 6> [local count: 1073741824]:
return;
}
FLEXCAN_ClearMsgBuffIntCmd (struct FLEXCAN_Type * pBase, uint8 u8Instance, uint32 mb_idx, boolean bIsIntActive)
{
uint32 temp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
int _10;
long unsigned int _11;
long unsigned int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
int _16;
long unsigned int _17;
long unsigned int _18;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_1 = mb_idx_25(D) & 31;
temp_26 = 1 << _1;
# DEBUG temp => temp_26
# DEBUG BEGIN_STMT
if (mb_idx_25(D) <= 31)
goto <bb 3>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 3> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_2 ={v} pBase_29(D)->IMASK1;
_3 = ~temp_26;
_4 = (int) u8Instance_30(D);
_5 = _2 & _3;
g_FlexCAN_u32ImaskBuff[_4][0] ={v} _5;
# DEBUG BEGIN_STMT
if (bIsIntActive_32(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 5>; [50.00%]
<bb 4> [local count: 177167401]:
# DEBUG BEGIN_STMT
_6 ={v} g_FlexCAN_u32ImaskBuff[_4][0];
pBase_29(D)->IMASK1 ={v} _6;
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_7 = mb_idx_25(D) + 4294967264;
if (_7 <= 31)
goto <bb 7>; [33.00%]
else
goto <bb 10>; [67.00%]
<bb 7> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_8 ={v} pBase_29(D)->IMASK2;
_9 = ~temp_26;
_10 = (int) u8Instance_30(D);
_11 = _8 & _9;
g_FlexCAN_u32ImaskBuff[_10][1] ={v} _11;
# DEBUG BEGIN_STMT
if (bIsIntActive_32(D) != 0)
goto <bb 8>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 8> [local count: 177167401]:
# DEBUG BEGIN_STMT
_12 ={v} g_FlexCAN_u32ImaskBuff[_10][1];
pBase_29(D)->IMASK2 ={v} _12;
<bb 9> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 10> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_13 = mb_idx_25(D) + 4294967232;
if (_13 <= 31)
goto <bb 11>; [33.00%]
else
goto <bb 14>; [67.00%]
<bb 11> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_14 ={v} pBase_29(D)->IMASK3;
_15 = ~temp_26;
_16 = (int) u8Instance_30(D);
_17 = _14 & _15;
g_FlexCAN_u32ImaskBuff[_16][2] ={v} _17;
# DEBUG BEGIN_STMT
if (bIsIntActive_32(D) != 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 177167401]:
# DEBUG BEGIN_STMT
_18 ={v} g_FlexCAN_u32ImaskBuff[_16][2];
pBase_29(D)->IMASK3 ={v} _18;
<bb 13> [local count: 354334802]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 14> [local count: 1073741824]:
return;
}
FlexCAN_SetMsgBuffIntCmd (struct FLEXCAN_Type * base, uint8 u8Instance, uint32 msgBuffIdx, boolean enable, boolean bIsIntActive)
{
uint32 temp;
long unsigned int _1;
int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
int _12;
long unsigned int _13;
long unsigned int _14;
long unsigned int _15;
int _16;
long unsigned int _17;
long unsigned int _18;
long unsigned int _19;
long unsigned int _20;
long unsigned int _21;
int _22;
long unsigned int _23;
long unsigned int _24;
long unsigned int _25;
int _26;
long unsigned int _27;
long unsigned int _28;
long unsigned int _29;
long unsigned int _30;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG stat => 0
# DEBUG BEGIN_STMT
_1 = msgBuffIdx_37(D) & 31;
temp_38 = 1 << _1;
# DEBUG temp => temp_38
# DEBUG BEGIN_STMT
if (msgBuffIdx_37(D) <= 31)
goto <bb 3>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (enable_40(D) != 0)
goto <bb 4>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 4> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_2 = (int) u8Instance_42(D);
_3 ={v} g_FlexCAN_u32ImaskBuff[_2][0];
_4 = _3 | temp_38;
g_FlexCAN_u32ImaskBuff[_2][0] ={v} _4;
# DEBUG BEGIN_STMT
if (bIsIntActive_49(D) != 0)
goto <bb 5>; [50.00%]
else
goto <bb 6>; [50.00%]
<bb 5> [local count: 134217728]:
# DEBUG BEGIN_STMT
_5 ={v} g_FlexCAN_u32ImaskBuff[_2][0];
base_44(D)->IMASK1 ={v} _5;
<bb 6> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
goto <bb 8>; [100.00%]
<bb 7> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_6 = (int) u8Instance_42(D);
_7 ={v} g_FlexCAN_u32ImaskBuff[_6][0];
_8 = ~temp_38;
_9 = _7 & _8;
g_FlexCAN_u32ImaskBuff[_6][0] ={v} _9;
# DEBUG BEGIN_STMT
_10 ={v} g_FlexCAN_u32ImaskBuff[_6][0];
base_44(D)->IMASK1 ={v} _10;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 8> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_11 = msgBuffIdx_37(D) + 4294967264;
if (_11 <= 31)
goto <bb 9>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (enable_40(D) != 0)
goto <bb 10>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 10> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_12 = (int) u8Instance_42(D);
_13 ={v} g_FlexCAN_u32ImaskBuff[_12][1];
_14 = _13 | temp_38;
g_FlexCAN_u32ImaskBuff[_12][1] ={v} _14;
# DEBUG BEGIN_STMT
if (bIsIntActive_49(D) != 0)
goto <bb 11>; [50.00%]
else
goto <bb 12>; [50.00%]
<bb 11> [local count: 134217728]:
# DEBUG BEGIN_STMT
_15 ={v} g_FlexCAN_u32ImaskBuff[_12][1];
base_44(D)->IMASK2 ={v} _15;
<bb 12> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
goto <bb 14>; [100.00%]
<bb 13> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_16 = (int) u8Instance_42(D);
_17 ={v} g_FlexCAN_u32ImaskBuff[_16][1];
_18 = ~temp_38;
_19 = _17 & _18;
g_FlexCAN_u32ImaskBuff[_16][1] ={v} _19;
# DEBUG BEGIN_STMT
_20 ={v} g_FlexCAN_u32ImaskBuff[_16][1];
base_44(D)->IMASK2 ={v} _20;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 14> [local count: 1073741824]:
# DEBUG BEGIN_STMT
_21 = msgBuffIdx_37(D) + 4294967232;
if (_21 <= 31)
goto <bb 15>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 15> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (enable_40(D) != 0)
goto <bb 16>; [50.00%]
else
goto <bb 19>; [50.00%]
<bb 16> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_22 = (int) u8Instance_42(D);
_23 ={v} g_FlexCAN_u32ImaskBuff[_22][2];
_24 = _23 | temp_38;
g_FlexCAN_u32ImaskBuff[_22][2] ={v} _24;
# DEBUG BEGIN_STMT
if (bIsIntActive_49(D) != 0)
goto <bb 17>; [50.00%]
else
goto <bb 18>; [50.00%]
<bb 17> [local count: 134217728]:
# DEBUG BEGIN_STMT
_25 ={v} g_FlexCAN_u32ImaskBuff[_22][2];
base_44(D)->IMASK3 ={v} _25;
<bb 18> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
goto <bb 20>; [100.00%]
<bb 19> [local count: 268435456]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
# DEBUG BEGIN_STMT
_26 = (int) u8Instance_42(D);
_27 ={v} g_FlexCAN_u32ImaskBuff[_26][2];
_28 = ~temp_38;
_29 = _27 & _28;
g_FlexCAN_u32ImaskBuff[_26][2] ={v} _29;
# DEBUG BEGIN_STMT
_30 ={v} g_FlexCAN_u32ImaskBuff[_26][2];
base_44(D)->IMASK3 ={v} _30;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
<bb 20> [local count: 1073741824]:
# DEBUG BEGIN_STMT
return 0;
}
FlexCAN_LockRxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
const uint32 * flexcan_mb;
long unsigned int vol.9_6;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
flexcan_mb_5 = FlexCAN_GetMsgBuffRegion (base_2(D), msgBuffIdx_3(D));
# DEBUG flexcan_mb => flexcan_mb_5
# DEBUG BEGIN_STMT
vol.9_6 ={v} *flexcan_mb_5;
return;
}
FlexCAN_GetMbPayloadSize (const struct FLEXCAN_Type * base, uint32 maxMsgBuffNum)
{
uint8 mb_size;
uint8 i;
uint8 maxMbBlockNum;
uint8 can_real_payload;
long unsigned int _1;
long unsigned int _2;
unsigned char _3;
long unsigned int _4;
<bb 2> [local count: 312727306]:
# DEBUG BEGIN_STMT
# DEBUG arbitration_field_size => 8
# DEBUG BEGIN_STMT
# DEBUG ramBlockSize => 512
# DEBUG BEGIN_STMT
# DEBUG can_real_payload => 8
# DEBUG BEGIN_STMT
# DEBUG maxMbBlockNum => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
# DEBUG BEGIN_STMT
# DEBUG mb_size => 0
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 5>; [100.00%]
<bb 3> [local count: 805306368]:
# DEBUG BEGIN_STMT
can_real_payload_14 = FlexCAN_GetPayloadSize (base_12(D), i_8);
# DEBUG can_real_payload => can_real_payload_14
# DEBUG BEGIN_STMT
mb_size_15 = can_real_payload_14 + 8;
# DEBUG mb_size => mb_size_15
# DEBUG BEGIN_STMT
_1 = (long unsigned int) mb_size_15;
_2 = 512 / _1;
_3 = (unsigned char) _2;
maxMbBlockNum_16 = _3 + maxMbBlockNum_7;
# DEBUG maxMbBlockNum => maxMbBlockNum_16
# DEBUG BEGIN_STMT
_4 = (long unsigned int) maxMbBlockNum_16;
if (_4 > maxMsgBuffNum_17(D))
goto <bb 6>; [5.50%]
else
goto <bb 4>; [94.50%]
<bb 4> [local count: 761014519]:
# DEBUG BEGIN_STMT
i_18 = i_8 + 1;
# DEBUG i => i_18
<bb 5> [local count: 1073741824]:
# can_real_payload_5 = PHI <8(2), can_real_payload_14(4)>
# maxMbBlockNum_7 = PHI <0(2), maxMbBlockNum_16(4)>
# i_8 = PHI <0(2), i_18(4)>
# DEBUG i => i_8
# DEBUG maxMbBlockNum => maxMbBlockNum_7
# DEBUG can_real_payload => can_real_payload_5
# DEBUG BEGIN_STMT
if (i_8 != 3)
goto <bb 3>; [75.00%]
else
goto <bb 6>; [25.00%]
<bb 6> [local count: 312727306]:
# can_real_payload_6 = PHI <can_real_payload_14(3), can_real_payload_5(5)>
# DEBUG can_real_payload => can_real_payload_6
# DEBUG BEGIN_STMT
return can_real_payload_6;
}
FlexCAN_GetPayloadSize (const struct FLEXCAN_Type * base, uint8 mbdsrIdx)
{
uint32 payloadSize;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _12;
uint8 _21;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
switch (mbdsrIdx_14(D)) <default: <L3> [25.00%], case 0: <L0> [25.00%], case 1: <L1> [25.00%], case 2: <L2> [25.00%]>
<bb 3> [local count: 268435456]:
<L0>:
# DEBUG BEGIN_STMT
_1 ={v} base_16(D)->FDCTRL;
_2 = _1 >> 16;
_3 = _2 & 3;
payloadSize_19 = 8 << _3;
# DEBUG payloadSize => payloadSize_19
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 4> [local count: 268435456]:
<L1>:
# DEBUG BEGIN_STMT
_4 ={v} base_16(D)->FDCTRL;
_5 = _4 >> 19;
_6 = _5 & 3;
payloadSize_18 = 8 << _6;
# DEBUG payloadSize => payloadSize_18
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 5> [local count: 268435456]:
<L2>:
# DEBUG BEGIN_STMT
_7 ={v} base_16(D)->FDCTRL;
_8 = _7 >> 22;
_9 = _8 & 3;
payloadSize_17 = 8 << _9;
# DEBUG payloadSize => payloadSize_17
# DEBUG BEGIN_STMT
goto <bb 7>; [100.00%]
<bb 6> [local count: 268435456]:
<L3>:
# DEBUG BEGIN_STMT
_10 ={v} base_16(D)->FDCTRL;
_11 = _10 >> 16;
_12 = _11 & 3;
payloadSize_20 = 8 << _12;
# DEBUG payloadSize => payloadSize_20
# DEBUG BEGIN_STMT
<bb 7> [local count: 1073741824]:
# payloadSize_13 = PHI <payloadSize_19(3), payloadSize_18(4), payloadSize_17(5), payloadSize_20(6)>
# DEBUG payloadSize => payloadSize_13
# DEBUG BEGIN_STMT
_21 = (uint8) payloadSize_13;
return _21;
}
FlexCAN_SetPayloadSize (struct FLEXCAN_Type * base, const struct Flexcan_Ip_PayloadSizeType * payloadSize)
{
volatile boolean x;
volatile boolean x;
volatile boolean x;
uint32 tmp;
<unnamed type> _1;
_Bool _2;
<unnamed type> _3;
_Bool _4;
<unnamed type> _5;
_Bool _6;
<unnamed type> _7;
long unsigned int _8;
long unsigned int _9;
<unnamed type> _10;
long unsigned int _11;
long unsigned int _12;
<unnamed type> _13;
long unsigned int _14;
long unsigned int _15;
int iftmp.4_16;
int iftmp.5_17;
int iftmp.6_18;
long unsigned int _33;
long unsigned int _34;
long unsigned int _35;
long unsigned int _36;
_Bool x.7_37;
long unsigned int _38;
long unsigned int _39;
_Bool x.7_40;
long unsigned int _41;
long unsigned int _42;
_Bool x.7_43;
<bb 2> [local count: 214748]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_33 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_34 = _33 & 2048;
# DEBUG base => NULL
if (_34 != 0)
goto <bb 5>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 107374]:
_1 = payloadSize_22(D)->payloadBlock0;
if (_1 == 0)
goto <bb 5>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 4> [local count: 53687]:
<bb 5> [local count: 214748]:
# iftmp.4_16 = PHI <1(3), 0(4), 1(2)>
_2 = (_Bool) iftmp.4_16;
x ={v} _2;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_37 ={v} x;
if (x.7_37 != 0)
goto <bb 7>; [50.00%]
else
goto <bb 22>; [50.00%]
<bb 22> [local count: 107374]:
<bb 6> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 25> [local count: 1073741824]:
goto <bb 6>; [100.00%]
<bb 7> [local count: 107374]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_35 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_36 = _35 & 2048;
# DEBUG base => NULL
if (_36 != 0)
goto <bb 10>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 8> [local count: 53687]:
_3 = payloadSize_22(D)->payloadBlock1;
if (_3 == 0)
goto <bb 10>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 9> [local count: 26844]:
<bb 10> [local count: 107374]:
# iftmp.5_17 = PHI <1(8), 0(9), 1(7)>
_4 = (_Bool) iftmp.5_17;
x ={v} _4;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_40 ={v} x;
if (x.7_40 != 0)
goto <bb 12>; [50.00%]
else
goto <bb 21>; [50.00%]
<bb 21> [local count: 53687]:
<bb 11> [local count: 536870913]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 24> [local count: 536870913]:
goto <bb 11>; [100.00%]
<bb 12> [local count: 53687]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_38 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_39 = _38 & 2048;
# DEBUG base => NULL
if (_39 != 0)
goto <bb 15>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 13> [local count: 26844]:
_5 = payloadSize_22(D)->payloadBlock2;
if (_5 == 0)
goto <bb 15>; [50.00%]
else
goto <bb 14>; [50.00%]
<bb 14> [local count: 13422]:
<bb 15> [local count: 53687]:
# iftmp.6_18 = PHI <1(13), 0(14), 1(12)>
_6 = (_Bool) iftmp.6_18;
x ={v} _6;
# DEBUG x => x
# DEBUG INLINE_ENTRY DevAssert
# DEBUG BEGIN_STMT
x.7_43 ={v} x;
if (x.7_43 != 0)
goto <bb 17>; [50.00%]
else
goto <bb 20>; [50.00%]
<bb 20> [local count: 26844]:
<bb 16> [local count: 268435456]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
<bb 23> [local count: 268435456]:
goto <bb 16>; [100.00%]
<bb 17> [local count: 26844]:
# DEBUG BEGIN_STMT
# DEBUG x => NULL
# DEBUG BEGIN_STMT
# DEBUG base => base_21(D)
# DEBUG INLINE_ENTRY FlexCAN_IsFDEnabled
# DEBUG BEGIN_STMT
_41 ={v} MEM[(const struct FLEXCAN_Type *)base_21(D)].MCR;
_42 = _41 & 2048;
# DEBUG base => NULL
if (_42 != 0)
goto <bb 18>; [33.00%]
else
goto <bb 19>; [67.00%]
<bb 18> [local count: 8858]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09 ();
# DEBUG BEGIN_STMT
tmp_24 ={v} base_21(D)->FDCTRL;
# DEBUG tmp => tmp_24
# DEBUG BEGIN_STMT
tmp_25 = tmp_24 & 4294770687;
# DEBUG tmp => tmp_25
# DEBUG BEGIN_STMT
_7 = payloadSize_22(D)->payloadBlock0;
_8 = (long unsigned int) _7;
_9 = _8 << 16;
tmp_26 = _9 | tmp_25;
# DEBUG tmp => tmp_26
# DEBUG BEGIN_STMT
tmp_27 = tmp_26 & 4293394431;
# DEBUG tmp => tmp_27
# DEBUG BEGIN_STMT
_10 = payloadSize_22(D)->payloadBlock1;
_11 = (long unsigned int) _10;
_12 = _11 << 19;
tmp_28 = _12 | tmp_27;
# DEBUG tmp => tmp_28
# DEBUG BEGIN_STMT
tmp_29 = tmp_28 & 4282384383;
# DEBUG tmp => tmp_29
# DEBUG BEGIN_STMT
_13 = payloadSize_22(D)->payloadBlock2;
_14 = (long unsigned int) _13;
_15 = _14 << 22;
tmp_30 = _15 | tmp_29;
# DEBUG tmp => tmp_30
# DEBUG BEGIN_STMT
base_21(D)->FDCTRL ={v} tmp_30;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09 ();
<bb 19> [local count: 26844]:
return;
}
FlexCAN_EnableRxFifo (struct FLEXCAN_Type * base, uint32 numOfFilters)
{
Flexcan_Ip_StatusType stat;
uint32 i;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _17;
<bb 2> [local count: 357913939]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = FlexCAN_GetMaxMbNum (base_15(D));
# DEBUG noOfMbx => (uint16) _1
# DEBUG BEGIN_STMT
# DEBUG stat => 0
# DEBUG BEGIN_STMT
_2 ={v} base_15(D)->MCR;
_3 = _2 & 2048;
if (_3 != 0)
goto <bb 6>; [67.00%]
else
goto <bb 3>; [33.00%]
<bb 3> [local count: 118111600]:
# DEBUG stat => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08 ();
# DEBUG BEGIN_STMT
_4 ={v} base_15(D)->MCR;
_5 = _4 | 536870912;
base_15(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
_6 ={v} base_15(D)->CTRL2;
_7 = _6 & 4043309055;
_8 = numOfFilters_20(D) << 24;
_9 = _8 & 251658240;
_10 = _7 | _9;
base_15(D)->CTRL2 ={v} _10;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08 ();
# DEBUG BEGIN_STMT
base_15(D)->RXFGMASK ={v} 4294967295;
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 5>; [100.00%]
<bb 4> [local count: 955630223]:
# DEBUG BEGIN_STMT
base_15(D)->RXIMR[i_11] ={v} 536870911;
# DEBUG BEGIN_STMT
i_25 = i_11 + 1;
# DEBUG i => i_25
<bb 5> [local count: 1073741824]:
# i_11 = PHI <0(3), i_25(4)>
# DEBUG i => i_11
# DEBUG BEGIN_STMT
_17 = _1 & 65535;
if (i_11 < _17)
goto <bb 4>; [89.00%]
else
goto <bb 6>; [11.00%]
<bb 6> [local count: 357913940]:
# stat_16 = PHI <1(2), 0(5)>
# DEBUG stat => NULL
# DEBUG BEGIN_STMT
return stat_16;
}
FlexCAN_Init (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnResult;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _26;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_20 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_20
# DEBUG BEGIN_STMT
# DEBUG returnResult => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
_2 ={v} base_22(D)->MCR;
_3 = _2 | 33554432;
base_22(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_26 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_27 = timeElapsed_9 + _26;
# DEBUG timeElapsed => timeElapsed_27
# DEBUG BEGIN_STMT
if (uS2Ticks_20 <= timeElapsed_27)
goto <bb 5>; [5.50%]
else
goto <bb 12>; [94.50%]
<bb 12> [local count: 958878293]:
<bb 4> [local count: 1073741824]:
# timeElapsed_9 = PHI <0(2), timeElapsed_27(12)>
# DEBUG timeElapsed => timeElapsed_9
# DEBUG BEGIN_STMT
_4 ={v} base_22(D)->MCR;
_5 = _4 & 33554432;
if (_5 != 0)
goto <bb 3>; [94.50%]
else
goto <bb 5>; [5.50%]
<bb 5> [local count: 114863532]:
# returnResult_10 = PHI <3(3), 0(4)>
# DEBUG returnResult => returnResult_10
# DEBUG BEGIN_STMT
if (returnResult_10 == 0)
goto <bb 6>; [33.00%]
else
goto <bb 11>; [67.00%]
<bb 6> [local count: 37904965]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
_6 ={v} base_22(D)->MCR;
_7 = _6 | 4096;
base_22(D)->MCR ={v} _7;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07 ();
# DEBUG BEGIN_STMT
FlexCAN_ClearRAM (base_22(D));
# DEBUG BEGIN_STMT
base_22(D)->RXMGMASK ={v} 4294967295;
# DEBUG BEGIN_STMT
base_22(D)->RX14MASK ={v} 4294967295;
# DEBUG BEGIN_STMT
base_22(D)->RX15MASK ={v} 4294967295;
# DEBUG BEGIN_STMT
base_22(D)->IMASK1 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->IFLAG1 ={v} 4294967295;
# DEBUG BEGIN_STMT
_8 = FlexCAN_GetMaxMbNum (base_22(D));
if (_8 > 32)
goto <bb 7>; [50.00%]
else
goto <bb 8>; [50.00%]
<bb 7> [local count: 18952483]:
# DEBUG BEGIN_STMT
base_22(D)->IMASK2 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->IFLAG2 ={v} 4294967295;
<bb 8> [local count: 37904965]:
# DEBUG BEGIN_STMT
if (_8 > 64)
goto <bb 9>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 9> [local count: 18952483]:
# DEBUG BEGIN_STMT
base_22(D)->IMASK3 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->IFLAG3 ={v} 4294967295;
<bb 10> [local count: 37904965]:
# DEBUG BEGIN_STMT
base_22(D)->ESR1 ={v} 3866630;
# DEBUG BEGIN_STMT
base_22(D)->CTRL1 ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->CTRL2 ={v} 1048576;
# DEBUG BEGIN_STMT
base_22(D)->CBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->EPRS ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->ENCBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->EDCBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->ETDC ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->FDCBT ={v} 0;
# DEBUG BEGIN_STMT
base_22(D)->FDCTRL ={v} 2147500288;
<bb 11> [local count: 114863532]:
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnResult_10;
}
FlexCAN_SetErrIntCmd (struct FLEXCAN_Type * base, flexcan_int_type_t errType, boolean enable)
{
uint32 temp;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
unsigned int _12;
long unsigned int _13;
long unsigned int _14;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
temp_18 = (uint32) errType_17(D);
# DEBUG temp => temp_18
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06 ();
# DEBUG BEGIN_STMT
if (enable_21(D) != 0)
goto <bb 3>; [50.00%]
else
goto <bb 9>; [50.00%]
<bb 3> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (errType_17(D) == 16385)
goto <bb 4>; [34.00%]
else
goto <bb 5>; [66.00%]
<bb 4> [local count: 182536110]:
# DEBUG BEGIN_STMT
_1 ={v} base_22(D)->CTRL2;
_2 = _1 | 2147483648;
base_22(D)->CTRL2 ={v} _2;
# DEBUG BEGIN_STMT
goto <bb 13>; [100.00%]
<bb 5> [local count: 354334802]:
# DEBUG BEGIN_STMT
if (errType_17(D) == 1024)
goto <bb 7>; [34.00%]
else
goto <bb 6>; [66.00%]
<bb 6> [local count: 233860969]:
if (errType_17(D) == 2048)
goto <bb 7>; [34.00%]
else
goto <bb 8>; [66.00%]
<bb 7> [local count: 199986562]:
# DEBUG BEGIN_STMT
_3 ={v} base_22(D)->MCR;
_4 = _3 | 2097152;
base_22(D)->MCR ={v} _4;
<bb 8> [local count: 354334802]:
# DEBUG BEGIN_STMT
_5 ={v} base_22(D)->CTRL1;
_6 = _5 | temp_18;
base_22(D)->CTRL1 ={v} _6;
goto <bb 13>; [100.00%]
<bb 9> [local count: 536870913]:
# DEBUG BEGIN_STMT
if (errType_17(D) == 16385)
goto <bb 10>; [34.00%]
else
goto <bb 11>; [66.00%]
<bb 10> [local count: 182536110]:
# DEBUG BEGIN_STMT
_7 ={v} base_22(D)->CTRL2;
_8 = _7 & 2147483647;
base_22(D)->CTRL2 ={v} _8;
# DEBUG BEGIN_STMT
goto <bb 13>; [100.00%]
<bb 11> [local count: 354334802]:
# DEBUG BEGIN_STMT
_9 ={v} base_22(D)->CTRL1;
_10 = ~temp_18;
_11 = _9 & _10;
base_22(D)->CTRL1 ={v} _11;
# DEBUG BEGIN_STMT
temp_24 ={v} base_22(D)->CTRL1;
# DEBUG temp => temp_24
# DEBUG BEGIN_STMT
_12 = temp_24 & 3072;
if (_12 == 0)
goto <bb 12>; [50.00%]
else
goto <bb 13>; [50.00%]
<bb 12> [local count: 177167401]:
# DEBUG BEGIN_STMT
_13 ={v} base_22(D)->MCR;
_14 = _13 & 4292870143;
base_22(D)->MCR ={v} _14;
<bb 13> [local count: 1073741824]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06 ();
return;
}
FlexCAN_Disable (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnResult;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
signed int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _22;
<bb 2> [local count: 276913048]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_16 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_16
# DEBUG BEGIN_STMT
# DEBUG returnResult => 0
# DEBUG BEGIN_STMT
_2 ={v} base_17(D)->MCR;
_3 = (signed int) _2;
if (_3 >= 0)
goto <bb 3>; [41.48%]
else
goto <bb 6>; [58.52%]
<bb 3> [local count: 114863532]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05 ();
# DEBUG BEGIN_STMT
_4 ={v} base_17(D)->MCR;
_5 = _4 | 2147483648;
base_17(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05 ();
# DEBUG BEGIN_STMT
goto <bb 5>; [100.00%]
<bb 4> [local count: 1014686024]:
# DEBUG BEGIN_STMT
_22 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_23 = timeElapsed_8 + _22;
# DEBUG timeElapsed => timeElapsed_23
# DEBUG BEGIN_STMT
if (uS2Ticks_16 <= timeElapsed_23)
goto <bb 6>; [5.50%]
else
goto <bb 7>; [94.50%]
<bb 7> [local count: 958878294]:
<bb 5> [local count: 1073741824]:
# timeElapsed_8 = PHI <0(3), timeElapsed_23(7)>
# DEBUG timeElapsed => timeElapsed_8
# DEBUG BEGIN_STMT
_6 ={v} base_17(D)->MCR;
_7 = _6 & 1048576;
if (_7 == 0)
goto <bb 4>; [94.50%]
else
goto <bb 6>; [5.50%]
<bb 6> [local count: 276913047]:
# returnResult_9 = PHI <0(2), 3(4), 0(5)>
# DEBUG returnResult => returnResult_9
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnResult_9;
}
FlexCAN_ExitFreezeMode (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnValue;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
long unsigned int _7;
long unsigned int _23;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_16 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_16
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04 ();
# DEBUG BEGIN_STMT
_2 ={v} base_18(D)->MCR;
_3 = _2 & 4026531839;
base_18(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
_4 ={v} base_18(D)->MCR;
_5 = _4 & 3221225471;
base_18(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04 ();
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_23 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_24 = timeElapsed_8 + _23;
# DEBUG timeElapsed => timeElapsed_24
# DEBUG BEGIN_STMT
if (uS2Ticks_16 <= timeElapsed_24)
goto <bb 5>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 958878293]:
<bb 4> [local count: 1073741824]:
# timeElapsed_8 = PHI <0(2), timeElapsed_24(6)>
# DEBUG timeElapsed => timeElapsed_8
# DEBUG BEGIN_STMT
_6 ={v} base_18(D)->MCR;
_7 = _6 & 16777216;
if (_7 != 0)
goto <bb 3>; [94.50%]
else
goto <bb 5>; [5.50%]
<bb 5> [local count: 114863532]:
# returnValue_9 = PHI <3(3), 0(4)>
# DEBUG returnValue => returnValue_9
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnValue_9;
}
FlexCAN_Enable (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnValue;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _21;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_14 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_14
# DEBUG BEGIN_STMT
# DEBUG returnValue => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
_2 ={v} base_16(D)->MCR;
_3 = _2 & 2147483647;
base_16(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03 ();
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
goto <bb 4>; [100.00%]
<bb 3> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_21 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_22 = timeElapsed_6 + _21;
# DEBUG timeElapsed => timeElapsed_22
# DEBUG BEGIN_STMT
if (uS2Ticks_14 <= timeElapsed_22)
goto <bb 5>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 6> [local count: 958878293]:
<bb 4> [local count: 1073741824]:
# timeElapsed_6 = PHI <0(2), timeElapsed_22(6)>
# DEBUG timeElapsed => timeElapsed_6
# DEBUG BEGIN_STMT
_4 ={v} base_16(D)->MCR;
_5 = _4 & 16777216;
if (_5 == 0)
goto <bb 3>; [94.50%]
else
goto <bb 5>; [5.50%]
<bb 5> [local count: 114863532]:
# returnValue_7 = PHI <3(3), 0(4)>
# DEBUG returnValue => returnValue_7
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnValue_7;
}
FlexCAN_EnterFreezeMode (struct FLEXCAN_Type * base)
{
Flexcan_Ip_StatusType returnResult;
uint32 uS2Ticks;
uint32 timeElapsed;
uint32 timeStart;
long unsigned int _1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _5;
long unsigned int _6;
signed int _7;
long unsigned int _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _30;
<bb 2> [local count: 114863532]:
# DEBUG BEGIN_STMT
_1 = OsIf_GetCounter (0);
timeStart = _1;
# DEBUG BEGIN_STMT
# DEBUG timeElapsed => 0
# DEBUG BEGIN_STMT
uS2Ticks_21 = OsIf_MicrosToTicks (100, 0);
# DEBUG uS2Ticks => uS2Ticks_21
# DEBUG BEGIN_STMT
# DEBUG returnResult => 0
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
_2 ={v} base_23(D)->MCR;
_3 = _2 | 1073741824;
base_23(D)->MCR ={v} _3;
# DEBUG BEGIN_STMT
_4 ={v} base_23(D)->MCR;
_5 = _4 | 268435456;
base_23(D)->MCR ={v} _5;
# DEBUG BEGIN_STMT
_6 ={v} base_23(D)->MCR;
_7 = (signed int) _6;
if (_7 < 0)
goto <bb 3>; [41.00%]
else
goto <bb 4>; [59.00%]
<bb 3> [local count: 47094048]:
# DEBUG BEGIN_STMT
_8 ={v} base_23(D)->MCR;
_9 = _8 & 2147483647;
base_23(D)->MCR ={v} _9;
<bb 4> [local count: 114863532]:
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02 ();
# DEBUG BEGIN_STMT
timeStart = 0;
# DEBUG BEGIN_STMT
goto <bb 6>; [100.00%]
<bb 5> [local count: 1014686025]:
# DEBUG BEGIN_STMT
_30 = OsIf_GetElapsed (&timeStart, 0);
timeElapsed_31 = timeElapsed_12 + _30;
# DEBUG timeElapsed => timeElapsed_31
# DEBUG BEGIN_STMT
if (uS2Ticks_21 <= timeElapsed_31)
goto <bb 7>; [5.50%]
else
goto <bb 8>; [94.50%]
<bb 8> [local count: 958878293]:
<bb 6> [local count: 1073741824]:
# timeElapsed_12 = PHI <0(4), timeElapsed_31(8)>
# DEBUG timeElapsed => timeElapsed_12
# DEBUG BEGIN_STMT
_10 ={v} base_23(D)->MCR;
_11 = _10 & 16777216;
if (_11 == 0)
goto <bb 5>; [94.50%]
else
goto <bb 7>; [5.50%]
<bb 7> [local count: 114863532]:
# returnResult_13 = PHI <3(5), 0(6)>
# DEBUG returnResult => returnResult_13
# DEBUG BEGIN_STMT
timeStart ={v} {CLOBBER};
return returnResult_13;
}
FlexCAN_GetMaxMbNum (const struct FLEXCAN_Type * base)
{
static const uint32 maxMbNum[6] = {96, 64, 64, 32, 32, 32};
static struct FLEXCAN_Type * const flexcanBase[6] = {1076903936B, 1076920320B, 1076936704B, 1076953088B, 1076969472B, 1076985856B};
uint32 ret;
uint32 i;
struct FLEXCAN_Type * _1;
<bb 2> [local count: 153437706]:
# DEBUG BEGIN_STMT
# DEBUG ret => 0
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 6>; [100.00%]
<bb 3> [local count: 920304118]:
# DEBUG BEGIN_STMT
_1 = flexcanBase[i_2];
if (_1 == base_7(D))
goto <bb 4>; [30.00%]
else
goto <bb 5>; [70.00%]
<bb 4> [local count: 276091235]:
# DEBUG BEGIN_STMT
ret_8 = maxMbNum[i_2];
# DEBUG ret => ret_8
<bb 5> [local count: 920304118]:
# ret_3 = PHI <ret_4(3), ret_8(4)>
# DEBUG ret => ret_3
# DEBUG BEGIN_STMT
i_9 = i_2 + 1;
# DEBUG i => i_9
<bb 6> [local count: 1073741824]:
# i_2 = PHI <0(2), i_9(5)>
# ret_4 = PHI <0(2), ret_3(5)>
# DEBUG ret => ret_4
# DEBUG i => i_2
# DEBUG BEGIN_STMT
if (i_2 != 6)
goto <bb 3>; [85.71%]
else
goto <bb 7>; [14.29%]
<bb 7> [local count: 153437707]:
# ret_5 = PHI <ret_4(6)>
# DEBUG BEGIN_STMT
return ret_5;
}
FlexCAN_GetMsgBuffRegion (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
volatile uint32 * pAddressRet;
volatile uint32 * RAM;
uint8 payload_size;
uint32 mb_index;
uint8 maxMbNum;
uint8 i;
uint32 msgBuffIdxBackup;
uint32 ramBlockOffset;
uint8 mb_size;
long unsigned int base.0_1;
long unsigned int _2;
long unsigned int _3;
long unsigned int _4;
long unsigned int _6;
long unsigned int _7;
unsigned char _8;
long unsigned int _9;
long unsigned int _10;
long unsigned int _11;
long unsigned int _21;
<bb 2> [local count: 312727306]:
# DEBUG BEGIN_STMT
# DEBUG arbitration_field_size => 8
# DEBUG BEGIN_STMT
# DEBUG mb_size => 0
# DEBUG BEGIN_STMT
# DEBUG ramBlockSize => 512
# DEBUG BEGIN_STMT
# DEBUG ramBlockOffset => 0
# DEBUG BEGIN_STMT
# DEBUG msgBuffIdxBackup => msgBuffIdx_23(D)
# DEBUG BEGIN_STMT
# DEBUG i => 0
# DEBUG BEGIN_STMT
# DEBUG maxMbNum => 0
# DEBUG BEGIN_STMT
# DEBUG mb_index => 0
# DEBUG BEGIN_STMT
# DEBUG payload_size => 0
# DEBUG BEGIN_STMT
base.0_1 = (long unsigned int) base_24(D);
_2 = base.0_1 + 128;
RAM_25 = (volatile uint32 *) _2;
# DEBUG RAM => RAM_25
# DEBUG BEGIN_STMT
# DEBUG pAddressRet => 0B
# DEBUG BEGIN_STMT
# DEBUG i => 0
goto <bb 5>; [100.00%]
<bb 3> [local count: 805306368]:
# DEBUG BEGIN_STMT
payload_size_28 = FlexCAN_GetPayloadSize (base_24(D), i_16);
# DEBUG payload_size => payload_size_28
# DEBUG BEGIN_STMT
mb_size_29 = payload_size_28 + 8;
# DEBUG mb_size => mb_size_29
# DEBUG BEGIN_STMT
_3 = (long unsigned int) mb_size_29;
_4 = 512 / _3;
maxMbNum_30 = (uint8) _4;
# DEBUG maxMbNum => maxMbNum_30
# DEBUG BEGIN_STMT
_21 = _4 & 255;
if (msgBuffIdxBackup_15 < _21)
goto <bb 6>; [5.50%]
else
goto <bb 4>; [94.50%]
<bb 4> [local count: 761014519]:
# DEBUG BEGIN_STMT
ramBlockOffset_31 = ramBlockOffset_14 + 128;
# DEBUG ramBlockOffset => ramBlockOffset_31
# DEBUG BEGIN_STMT
msgBuffIdxBackup_32 = msgBuffIdxBackup_15 - _21;
# DEBUG msgBuffIdxBackup => msgBuffIdxBackup_32
# DEBUG BEGIN_STMT
i_33 = i_16 + 1;
# DEBUG i => i_33
<bb 5> [local count: 1073741824]:
# mb_size_12 = PHI <0(2), mb_size_29(4)>
# ramBlockOffset_14 = PHI <0(2), ramBlockOffset_31(4)>
# msgBuffIdxBackup_15 = PHI <msgBuffIdx_23(D)(2), msgBuffIdxBackup_32(4)>
# i_16 = PHI <0(2), i_33(4)>
# maxMbNum_17 = PHI <0(2), maxMbNum_30(4)>
# DEBUG maxMbNum => maxMbNum_17
# DEBUG i => i_16
# DEBUG msgBuffIdxBackup => msgBuffIdxBackup_15
# DEBUG ramBlockOffset => ramBlockOffset_14
# DEBUG mb_size => mb_size_12
# DEBUG BEGIN_STMT
if (i_16 != 3)
goto <bb 3>; [75.00%]
else
goto <bb 6>; [25.00%]
<bb 6> [local count: 312727306]:
# mb_size_13 = PHI <mb_size_29(3), mb_size_12(5)>
# maxMbNum_18 = PHI <maxMbNum_30(3), maxMbNum_17(5)>
# ramBlockOffset_5 = PHI <ramBlockOffset_14(3), ramBlockOffset_14(5)>
# msgBuffIdxBackup_22 = PHI <msgBuffIdxBackup_15(3), msgBuffIdxBackup_15(5)>
# DEBUG maxMbNum => maxMbNum_18
# DEBUG mb_size => mb_size_13
# DEBUG BEGIN_STMT
_6 = (long unsigned int) maxMbNum_18;
_7 = msgBuffIdxBackup_22 % _6;
_8 = mb_size_13 >> 2;
_9 = (long unsigned int) _8;
_10 = _7 * _9;
mb_index_34 = ramBlockOffset_5 + _10;
# DEBUG mb_index => mb_index_34
# DEBUG BEGIN_STMT
_11 = mb_index_34 * 4;
pAddressRet_35 = RAM_25 + _11;
# DEBUG pAddressRet => pAddressRet_35
# DEBUG BEGIN_STMT
return pAddressRet_35;
}
FlexCAN_ComputePayloadSize (uint8 dlcValue)
{
uint8 ret;
<bb 2> [local count: 1073741824]:
# DEBUG BEGIN_STMT
# DEBUG ret => 8
# DEBUG BEGIN_STMT
if (dlcValue_2(D) <= 8)
goto <bb 4>; [50.00%]
else
goto <bb 3>; [50.00%]
<bb 3> [local count: 536870912]:
ret_3 = FlexCAN_ComputePayloadSize.part.0 (dlcValue_2(D));
<bb 4> [local count: 1073741824]:
# ret_1 = PHI <dlcValue_2(D)(2), ret_3(3)>
<L16>:
<L13>:
# DEBUG ret => ret_1
# DEBUG BEGIN_STMT
return ret_1;
}
FlexCAN_ClearRAM (struct FLEXCAN_Type * base)
{
volatile uint32 * RAM;
uint32 RAM_size;
uint32 databyte;
long unsigned int _1;
long unsigned int base.2_2;
long unsigned int _3;
long unsigned int _4;
volatile uint32 * _5;
long unsigned int _6;
volatile uint32 * _7;
long unsigned int _8;
long unsigned int _9;
volatile uint32 * _10;
long unsigned int _11;
long unsigned int _12;
<bb 2> [local count: 118111600]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = FlexCAN_GetMaxMbNum (base_20(D));
RAM_size_21 = _1 * 4;
# DEBUG RAM_size => RAM_size_21
# DEBUG BEGIN_STMT
# DEBUG RXIMR_size => _1
# DEBUG BEGIN_STMT
base.2_2 = (long unsigned int) base_20(D);
_3 = base.2_2 + 128;
RAM_22 = (volatile uint32 *) _3;
# DEBUG RAM => RAM_22
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 4>; [100.00%]
<bb 3> [local count: 955630220]:
# DEBUG BEGIN_STMT
_4 = databyte_13 * 4;
_5 = RAM_22 + _4;
*_5 ={v} 0;
# DEBUG BEGIN_STMT
databyte_38 = databyte_13 + 1;
# DEBUG databyte => databyte_38
<bb 4> [local count: 1073741821]:
# databyte_13 = PHI <0(2), databyte_38(3)>
# DEBUG databyte => databyte_13
# DEBUG BEGIN_STMT
if (databyte_13 < RAM_size_21)
goto <bb 3>; [89.00%]
else
goto <bb 5>; [11.00%]
<bb 5> [local count: 118111600]:
# DEBUG BEGIN_STMT
RAM_23 = &base_20(D)->RXIMR;
# DEBUG RAM => RAM_23
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 7>; [100.00%]
<bb 6> [local count: 955630224]:
# DEBUG BEGIN_STMT
_6 = databyte_14 * 4;
_7 = RAM_23 + _6;
*_7 ={v} 0;
# DEBUG BEGIN_STMT
databyte_36 = databyte_14 + 1;
# DEBUG databyte => databyte_36
<bb 7> [local count: 1073741824]:
# databyte_14 = PHI <0(5), databyte_36(6)>
# DEBUG databyte => databyte_14
# DEBUG BEGIN_STMT
if (_1 > databyte_14)
goto <bb 6>; [89.00%]
else
goto <bb 8>; [11.00%]
<bb 8> [local count: 118111601]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
_8 ={v} base_20(D)->CTRL2;
_9 = _8 | 268435456;
base_20(D)->CTRL2 ={v} _9;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
# DEBUG ram_addr => _3
# DEBUG BEGIN_STMT
# DEBUG RAM => RAM_22
# DEBUG BEGIN_STMT
base_20(D)->RXMGMASK ={v} 0;
# DEBUG BEGIN_STMT
base_20(D)->RXFGMASK ={v} 0;
# DEBUG BEGIN_STMT
base_20(D)->RX14MASK ={v} 0;
# DEBUG BEGIN_STMT
base_20(D)->RX15MASK ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG databyte => 0
goto <bb 10>; [100.00%]
<bb 9> [local count: 118111601]:
# DEBUG BEGIN_STMT
_10 = RAM_22;
*_10 ={v} 0;
# DEBUG BEGIN_STMT
# DEBUG databyte => 1
<bb 10> [local count: 236223202]:
# databyte_15 = PHI <0(8), 1(9)>
# DEBUG databyte => databyte_15
# DEBUG BEGIN_STMT
if (databyte_15 == 0)
goto <bb 9>; [50.00%]
else
goto <bb 11>; [50.00%]
<bb 11> [local count: 118111601]:
# DEBUG BEGIN_STMT
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01 ();
# DEBUG BEGIN_STMT
_11 ={v} base_20(D)->CTRL2;
_12 = _11 & 4026531839;
base_20(D)->CTRL2 ={v} _12;
# DEBUG BEGIN_STMT
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01 ();
return;
}