# 1 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" # 1 "" 1 # 1 "" 3 # 387 "" 3 # 1 "" 1 # 1 "" 2 # 1 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" 2 # 25 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" # 1 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" 1 # 29 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" # 1 "../../../mcal/Can_ZX_K14xM/Inc/Can_Types.h" 1 # 29 "../../../mcal/Can_ZX_K14xM/Inc/Can_Types.h" # 1 "../../../mcal/Can_ZX_K14xM/Inc/Can_Drv_Types.h" 1 # 29 "../../../mcal/Can_ZX_K14xM/Inc/Can_Drv_Types.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc\\Std_Types.h" 1 # 30 "../../../mcal/Base_ZX_K14xM/Inc\\Std_Types.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/Platform_Types.h" 1 # 86 "../../../mcal/Base_ZX_K14xM/Inc/Platform_Types.h" typedef unsigned char boolean; typedef unsigned char uint8; typedef unsigned short uint16; typedef unsigned int uint32; typedef unsigned long long uint64; typedef signed char sint8; typedef signed short sint16; typedef signed int sint32; typedef signed long long sint64; typedef unsigned long uint8_least; typedef unsigned long uint16_least; typedef unsigned long uint32_least; typedef signed long sint8_least; typedef signed long sint16_least; typedef signed long sint32_least; typedef float float32; typedef double float64; typedef void *VoidPtr; typedef const void *ConstVoidPtr; # 31 "../../../mcal/Base_ZX_K14xM/Inc\\Std_Types.h" 2 # 1 "../../../mcal/Base_ZX_K14xM/Inc/Compiler.h" 1 # 31 "../../../mcal/Base_ZX_K14xM/Inc/Compiler.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/Compiler_Cfg.h" 1 # 32 "../../../mcal/Base_ZX_K14xM/Inc/Compiler.h" 2 # 32 "../../../mcal/Base_ZX_K14xM/Inc\\Std_Types.h" 2 # 63 "../../../mcal/Base_ZX_K14xM/Inc\\Std_Types.h" typedef unsigned char StatusType; # 104 "../../../mcal/Base_ZX_K14xM/Inc\\Std_Types.h" typedef uint8 Std_ReturnType; typedef uint8 Std_TransformerClass; typedef uint8 Std_TransformerForwardCode; typedef uint8 Std_MessageTypeType; typedef uint8 Std_MessageResultType; typedef struct { uint16 vendorID; uint16 moduleID; uint8 sw_major_version; uint8 sw_minor_version; uint8 sw_patch_version; } Std_VersionInfoType; typedef struct { uint8 errorCode; Std_TransformerClass transformerClass; } Std_TransformerError; typedef struct { Std_TransformerForwardCode errorCode; Std_TransformerClass transformerClass; } Std_TransformerForward; typedef Std_ReturnType (*Std_ExtractProtocolHeaderFieldsType)(const uint8 *buffer, uint32 bufferLength, Std_MessageTypeType *messageType, Std_MessageResultType *messageResult); # 30 "../../../mcal/Can_ZX_K14xM/Inc/Can_Drv_Types.h" 2 # 1 "../Generated/inc\\Can_Drv_Cfg.h" 1 # 30 "../Generated/inc\\Can_Drv_Cfg.h" # 1 "../Generated/inc/Can_Drv_PBcfg.h" 1 # 31 "../Generated/inc\\Can_Drv_Cfg.h" 2 # 31 "../../../mcal/Can_ZX_K14xM/Inc/Can_Drv_Types.h" 2 # 1 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" 1 # 29 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" # 1 "../../../mcal/McalLib_ZX_K14xM/Inc/McalLib_Compiler.h" 1 # 30 "../../../mcal/McalLib_ZX_K14xM/Inc/McalLib_Compiler.h" # 1 "../Generated/inc\\McalLib_Cfg.h" 1 # 31 "../../../mcal/McalLib_ZX_K14xM/Inc/McalLib_Compiler.h" 2 # 273 "../../../mcal/McalLib_ZX_K14xM/Inc/McalLib_Compiler.h" static inline uint32 McalLib_ReadControlReg(void) { uint32 res; __asm("MRS %0,CONTROL" : "=r" (res)); return res; } # 290 "../../../mcal/McalLib_ZX_K14xM/Inc/McalLib_Compiler.h" static inline uint32 McalLib_ReadIpsrReg(void) { uint32 res; __asm("MRS %0,IPSR" : "=r" (res)); return res; } # 305 "../../../mcal/McalLib_ZX_K14xM/Inc/McalLib_Compiler.h" static inline uint32 McalLib_ReadPriMaskReg(void) { uint32 res; __asm("MRS %0,PRIMASK" : "=r" (res)); return res; } # 30 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" 2 # 184 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" typedef enum { MCALLIB_COUNTER_SOFTWARE, MCALLIB_COUNTER_OS, } McalLib_CounterType; typedef struct { uint32 CounterId; uint32 CounterFreq; } McalLib_ConfigType; # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" 1 # 876 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" #pragma clang section rodata = ".mcal_config_data" # 211 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" 2 extern const McalLib_ConfigType *const McalLib_PreDefinedConfigPtr[(1U)]; # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" 1 # 892 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" #pragma clang section rodata = "" # 216 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" 2 # 230 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" extern void Sys_SystemReset(void); # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" 1 # 1072 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" #pragma clang section text = ".mcal_code" # 234 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" 2 void McalLib_Init(void); # 254 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" Std_ReturnType McalLib_GetCounterValue(McalLib_CounterType Counter, uint32 *Value); # 270 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" Std_ReturnType McalLib_GetElapsedValue(McalLib_CounterType Counter, uint32 *const CounterValue, uint32 *ElapsedValue); # 282 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" uint32 McalLib_MicroSecToTicks(McalLib_CounterType Counter, uint32 MicroSecond); # 296 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" void McalLib_SetCounterFreq(McalLib_CounterType Counter, uint32 Freq); # 309 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" static inline void McalLib_Assert(const uint8 *File, uint32 Line) { (void)File; (void)Line; for (;;) { } } # 327 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" void McalLib_SuspendAllInterrupts(void); void McalLib_ResumeAllInterrupts(void); # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" 1 # 1088 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\McalLib_MemMap.h" #pragma clang section text = "" # 339 "../../../mcal/McalLib_ZX_K14xM/Inc\\McalLib.h" 2 # 32 "../../../mcal/Can_ZX_K14xM/Inc/Can_Drv_Types.h" 2 # 165 "../../../mcal/Can_ZX_K14xM/Inc/Can_Drv_Types.h" typedef enum { CAN_DRV_SUCCESS = 0U, CAN_DRV_ERROR, CAN_DRV_ENTER_BUSY, CAN_DRV_NO_TRANSMIT } Can_Drv_ControllerStatus; typedef enum { CAN_DRV_ID_0 = 0U, CAN_DRV_ID_1 = 1U, CAN_DRV_ID_2 = 2U, CAN_DRV_ID_3 = 3U, CAN_DRV_ID_4 = 4U, CAN_DRV_ID_5 = 5U, CAN_DRV_ID_6 = 6U, CAN_DRV_ID_7 = 7U } Can_Drv_IdType; typedef enum { CAN_DRV_CAN_FD_MB_REGION_0 = 0U, CAN_DRV_CAN_FD_MB_REGION_1, CAN_DRV_CAN_FD_MB_REGION_2, CAN_DRV_CAN_FD_MB_REGION_3 } Can_Drv_FdMbRegionType; typedef enum { CAN_DRV_RX_FIFO_ACCEPTANCE_FORMAT_A = 0U, CAN_DRV_RX_FIFO_ACCEPTANCE_FORMAT_B, CAN_DRV_RX_FIFO_ACCEPTANCE_FORMAT_C, CAN_DRV_RX_FIFO_ACCEPTANCE_FORMAT_D } Can_Drv_RxAcceptanceType; typedef enum { CAN_DRV_RX_FIFO_FILTERS_8 = 0x0U, CAN_DRV_RX_FIFO_FILTERS_16 = 0x1U, CAN_DRV_RX_FIFO_FILTERS_24 = 0x2U, CAN_DRV_RX_FIFO_FILTERS_32 = 0x3U, CAN_DRV_RX_FIFO_FILTERS_40 = 0x4U, CAN_DRV_RX_FIFO_FILTERS_48 = 0x5U, CAN_DRV_RX_FIFO_FILTERS_56 = 0x6U, CAN_DRV_RX_FIFO_FILTERS_64 = 0x7U, CAN_DRV_RX_FIFO_FILTERS_72 = 0x8U, CAN_DRV_RX_FIFO_FILTERS_80 = 0x9U, CAN_DRV_RX_FIFO_FILTERS_88 = 0xAU, CAN_DRV_RX_FIFO_FILTERS_96 = 0xBU, CAN_DRV_RX_FIFO_FILTERS_104 = 0xCU, CAN_DRV_RX_FIFO_FILTERS_112 = 0xDU, CAN_DRV_RX_FIFO_FILTERS_120 = 0xEU, CAN_DRV_RX_FIFO_FILTERS_128 = 0xFU } Can_Drv_RxFifoFilterNumType; typedef enum { CAN_DRV_RXFIFO_INTERRUPTS = 0U, CAN_DRV_RXFIFO_DMA, CAN_DRV_RXFIFO_POLLING } Can_Drv_RxFifoTransferType; typedef enum { CAN_DRV_OBJECT_PL_8 = 0U, CAN_DRV_OBJECT_PL_16, CAN_DRV_OBJECT_PL_32, CAN_DRV_OBJECT_PL_64 } Can_Drv_FdPayloadLengthType; typedef struct { Can_Drv_FdPayloadLengthType Block0; Can_Drv_FdPayloadLengthType Block1; Can_Drv_FdPayloadLengthType Block2; Can_Drv_FdPayloadLengthType Block3; } Can_Drv_FdPayloadBlockType; typedef enum { CAN_DRV_MODE_NORMAL = 0U, CAN_DRV_MODE_LISTEN_ONLY, CAN_DRV_MODE_LOOPBACK, CAN_DRV_MODE_FREEZE, CAN_DRV_MODE_DISABLE } Can_Drv_ModeType; typedef enum { CAN_DRV_MSG_ID_STD = 0U, CAN_DRV_MSG_ID_EXT } Can_Drv_MsgIdType; typedef enum { CAN_DRV_RX_MASK_GLOBAL = 0U, CAN_DRV_RX_MASK_INDIVIDUAL } Can_Drv_RxMaskType; typedef enum { CAN_DRV_MB_RX_INACTIVE = 0x0, CAN_DRV_MB_RX_FULL = 0x2, CAN_DRV_MB_RX_EMPTY = 0x4, CAN_DRV_MB_RX_OVERRUN = 0x6, CAN_DRV_MB_RX_RANSWER = 0xA, CAN_DRV_MB_TX_INACTIVE = 0x08, CAN_DRV_MB_TX_ABORT = 0x09, CAN_DRV_MB_TX_DATA_REMOTE = 0x0C, CAN_DRV_MB_TX_TANSWER = 0x0E, CAN_DRV_NOT_USED = 0x0F } Can_Drv_MbCodeType; typedef enum { CAN_DRV_INT_BUS_OFF = 0U, CAN_DRV_INT_ERR = 1U, CAN_DRV_INT_TXW = 2U, CAN_DRV_INT_RXW = 3U, CAN_DRV_INT_BUS_OFF_DONE = 4U, CAN_DRV_INT_ERR_FAST = 5U, CAN_DRV_INT_SELF_WAKEUP = 6U, CAN_DRV_INT_RXFIFO_FRAME = 7U, CAN_DRV_INT_RXFIFO_WARNING = 8U, CAN_DRV_INT_RXFIFO_OVERFLOW = 9U, CAN_DRV_INT_HOST_MEM_ERR = 10U, CAN_DRV_INT_MEM_ERR = 11U, CAN_DRV_INT_COR_MEM_ERR = 12U, CAN_DRV_INT_PN_WAKEUP_MATCH = 13U, CAN_DRV_INT_PN_WAKEUP_TIMEOUT = 14U, CAN_DRV_INT_MB_RECEIVE = 15U, CAN_DRV_MB_TRANSMIT = 16U, CAN_DRV_DMA_COMPLETE = 17U, CAN_DRV_DMA_ERROR = 18U, CAN_DRV_INT_ALL = 19U } Can_Drv_IntType; typedef enum { CAN_DRV_STATE_NOT_SYNC = 0U, CAN_DRV_STATE_IDLE = 1U, CAN_DRV_STATE_TX = 2U, CAN_DRV_STATE_RX = 3U, CAN_DRV_STATE_DMA_ERROR = 4U, CAN_DRV_STATE_INVALID = 5U } Can_Drv_ControllerStateType; typedef struct { uint32 PropSeg; uint32 PhaseSeg1; uint32 PhaseSeg2; uint32 PreDivider; uint32 RJumpWidth; } Can_Drv_BitTimingType; typedef struct { boolean IsRemoteFrame; boolean IsExtendedFrame; uint32 Id; } Can_Drv_IdFilterType; typedef struct { Can_Drv_MsgIdType IdType; uint8 DataLen; boolean RemoteFlag; boolean FdEn; uint8 FdPadding; boolean BrsEn; } Can_Drv_MessageInfoType; typedef struct { uint32 Cs; uint32 MsgId; uint8 Data[64]; uint8 DataLen; uint32 TimeStamp; } Can_Drv_MsgBufType; typedef struct { Can_Drv_MsgBufType *MbMessagePtr; boolean IsPolling; boolean RemoteFlag; uint32 TimeStamp; Can_Drv_ControllerStateType State; volatile boolean IsDmaBusy; } Can_Drv_MbHandleType; typedef struct Can_Drv_State { Can_Drv_MbHandleType Mb[(64)]; Can_Drv_RxFifoTransferType TransferType; boolean RxFifoEn; boolean InterEn; uint32 MaxMbNumber; void (*IrqCallback)(uint8 Id, Can_Drv_IntType InterType, uint32 MbIdx, const struct Can_Drv_State *State); void (*ErrCallback)(uint8 Id, Can_Drv_IntType InterType, uint32 Data); uint8 RxFifoDMAChannel; } Can_Drv_StateType; typedef struct { uint32 MbMaxNum; boolean RxFifoEn; Can_Drv_RxFifoFilterNumType RxFifoIdFilterNum; Can_Drv_RxFifoTransferType TransferType; Can_Drv_ModeType Mode; boolean BitRateSwitch; Can_Drv_BitTimingType BitTiming; boolean FdEn; Can_Drv_FdPayloadBlockType Payload; Can_Drv_BitTimingType BitTimingFdData; uint32 CtrlConfig; uint8 RxFifoDMAChannel; void (*IrqCallback)(uint8 Id, Can_Drv_IntType InterType, uint32 MbIdx, const struct Can_Drv_State *State); void (*ErrCallback)(uint8 Id, Can_Drv_IntType InterType, uint32 Data); } Can_Drv_ConfigType; # 30 "../../../mcal/Can_ZX_K14xM/Inc/Can_Types.h" 2 # 1 "../Generated/inc\\Can_Cfg.h" 1 # 29 "../Generated/inc\\Can_Cfg.h" # 1 "../Generated/inc/Can_PBcfg.h" 1 # 30 "../Generated/inc\\Can_Cfg.h" 2 # 306 "../Generated/inc\\Can_Cfg.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1072 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = ".mcal_code" # 307 "../Generated/inc\\Can_Cfg.h" 2 extern void Can1_MemNotify(void); extern void Can1_CorrMemNotify(void); # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1088 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = "" # 316 "../Generated/inc\\Can_Cfg.h" 2 # 31 "../../../mcal/Can_ZX_K14xM/Inc/Can_Types.h" 2 # 1 "../../../mcal/Base_ZX_K14xM/Inc\\Can_GeneralTypes.h" 1 # 28 "../../../mcal/Base_ZX_K14xM/Inc\\Can_GeneralTypes.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/ComStack_Types.h" 1 # 53 "../../../mcal/Base_ZX_K14xM/Inc/ComStack_Types.h" typedef uint32 PduLengthType; typedef uint16 PduIdType; typedef struct { uint8 *SduDataPtr; uint8 *MetaDataPtr; PduLengthType SduLength; } PduInfoType; typedef uint8 IcomConfigIdType; typedef enum { ICOM_SWITCH_E_OK = 0U, ICOM_SWITCH_E_FAILED, } IcomSwitch_ErrorType; # 29 "../../../mcal/Base_ZX_K14xM/Inc\\Can_GeneralTypes.h" 2 # 61 "../../../mcal/Base_ZX_K14xM/Inc\\Can_GeneralTypes.h" typedef uint32 Can_IdType; # 75 "../../../mcal/Base_ZX_K14xM/Inc\\Can_GeneralTypes.h" typedef uint8 Can_HwHandleType; typedef enum { CAN_ERRORSTATE_ACTIVE = 0U, CAN_ERRORSTATE_PASSIVE, CAN_ERRORSTATE_BUSOFF } Can_ErrorStateType; typedef enum { CAN_CS_UNINIT = 0x00U, CAN_CS_STARTED = 0x01U, CAN_CS_STOPPED = 0x02U, CAN_CS_SLEEP = 0x03U } Can_ControllerStateType; typedef enum { CAN_ERROR_BIT_MONITORING1 = 0x01U, CAN_ERROR_BIT_MONITORING0 = 0x02U, CAN_ERROR_BIT = 0x03U, CAN_ERROR_CHECK_ACK_FAILED = 0x04U, CAN_ERROR_ACK_DELIMITER = 0x05U, CAN_ERROR_ARBITRATION_LOST = 0x06U, CAN_ERROR_OVERLOAD = 0x07U, CAN_ERROR_CHECK_FORM_FAILED = 0x08U, CAN_ERROR_CHECK_STUFFING_FAILED = 0x09U, CAN_ERROR_CHECK_CRC_FAILED = 0x0AU, CAN_ERROR_BUS_LOCK = 0x0BU, } Can_ErrorType; typedef struct { PduIdType swPduHandle; uint8 length; Can_IdType id; uint8 *sdu; } Can_PduType; typedef struct { Can_IdType CanId; Can_HwHandleType Hoh; uint8 ControllerId; } Can_HwType; # 32 "../../../mcal/Can_ZX_K14xM/Inc/Can_Types.h" 2 # 152 "../../../mcal/Can_ZX_K14xM/Inc/Can_Types.h" typedef enum { CAN_UNINIT = 0U, CAN_READY } Can_DriverStateType; typedef enum { CAN_BASIC = 0U, CAN_FULL } Can_HandleType; typedef enum { CAN_MSG_ID_STANDARD = 0U, CAN_MSG_ID_EXTENDED, CAN_MSG_ID_MIXED } Can_MessageIdType; typedef enum { CAN_OBJ_RECEIVE = 0U, CAN_OBJ_TRANSMIT, CAN_OBJ_FIFO } Can_HwObjectType; typedef enum { CAN_RX_FIFO_FORMAT_A = 0U, CAN_RX_FIFO_FORMAT_B, CAN_RX_FIFO_FORMAT_C, } Can_RxAcceptanceType; typedef struct { uint32 CanHwFilterCode; uint32 CanHwFilterMask; } Can_HardwareFilterType; typedef struct { const uint8 CanFdPaddingValue; const Can_HandleType CanHandleType; const Can_MessageIdType CanIdMessageType; const Can_HwHandleType CanHwObjectId; const boolean CanHwUsesPolling; const boolean CanTriggerTransmitStatus; const uint8 CanMainFunctionRwPeriodIndex; const uint8 CanHwObjectCount; const uint8 CanPayloadLength; const uint8 CanHwFilterCount; const Can_HardwareFilterType *CanHwFilterPtr; const Can_HwObjectType CanObjectType; const uint8 CanHwBufferIndex; } Can_HwObjConfigType; typedef void (*Can_NotifyFuncType)(void); typedef struct { const Can_RxAcceptanceType CanRxFifoType; const uint32 CanRxFifoGlobalFilterMask; const Can_NotifyFuncType CanOverFlowNotify; const Can_NotifyFuncType CanWarnNotify; const Can_NotifyFuncType CanAvailNotify; } Can_RxFifoConfigType; typedef struct { const uint8 CanPropSeg; const uint8 CanPhaseSeg1; const uint8 CanPhaseSeg2; const uint16 CanPreDivider; const uint8 CanRJumpWidth; } Can_BitTimingType; typedef struct { const uint8 CanControlTxArbitrationStartDelay; const Can_BitTimingType CanBitRate; const boolean CanFdEnable; const Can_BitTimingType CanFdDataBitRate; const boolean CanBitRateSwitch; const boolean CanTransmitCompEnable; const uint8 CanControllerSspOffset; } Can_ControllerBaudrateConfigType; typedef struct { const Can_Drv_ConfigType *CanHwConfigPtr; } Can_HwChannelConfigType; typedef struct { const uint8 CanControllerId; const uint8 CanInterfaceId; const uint8 CanControllerOffset; const boolean CanActiveStatus; const Can_RxFifoConfigType *CanRxFifoConfigPtr; const uint32 CanProcessConfig; const boolean CanErrEnable; const Can_NotifyFuncType CanErrNotify; const Can_NotifyFuncType CanFdErrNotify; const uint16 CanDefaultBaudrateIndex; const uint16 CanBaudrateCount; const Can_ControllerBaudrateConfigType *CanBaudratePtr; const uint8 CanHwObjectRefCount; const Can_HwObjConfigType *const *CanHwObjectPPtr; const Can_HwChannelConfigType *CanHwChannelConfigPtr; const Can_NotifyFuncType CanDmaErrorNotify; Can_Drv_MsgBufType *DmaDstAddr; const uint32 CanEccEnable; const Can_NotifyFuncType CanHostAccessNotify; const Can_NotifyFuncType CanAccessMemoryNotify; const Can_NotifyFuncType CanCorrectableMemoryNotify; const boolean CanErrInjectEnable; } Can_ControllerConfigType; typedef struct { const uint32 CanCoreId; const Can_HwHandleType CanFirstHTHIndex; const uint32 CanControllerCounter; const uint8 *CanControllerIndexPtr; const uint32 CanHardwareCounter; const uint8 *CanHwObjIndexPtr; const Can_HwObjConfigType *CanHwObjConfigPtr; const Can_ControllerConfigType *const *CanControllerConfigPtr; } Can_ConfigType; # 30 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" 2 # 74 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 848 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section rodata = ".mcal_config_data" # 75 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" 2 extern const Can_ConfigType *const Can_PreDefinedConfigPtr[1U]; # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 864 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section rodata = "" # 78 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" 2 # 98 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1072 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = ".mcal_code" # 99 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" 2 extern void Can1_ErrNotifyFunc(void); extern void Can1_HostMemNotify(void); # 110 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_Init(const Can_ConfigType *Config); # 120 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_DeInit(void); # 147 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_GetVersionInfo(Std_VersionInfoType *versioninfo); # 162 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_SetControllerMode(uint8 Controller, Can_ControllerStateType Transition); # 172 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_DisableControllerInterrupts(uint8 Controller); # 182 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_EnableControllerInterrupts(uint8 Controller); # 210 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_GetControllerErrorState(uint8 Controller, Can_ErrorStateType *ErrorStatePtr); # 224 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_GetControllerRxErrorCounter(uint8 Controller, uint8 *RxErrorCounterPtr); # 238 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_GetControllerTxErrorCounter(uint8 Controller, uint8 *TxErrorCounterPtr); # 252 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_GetControllerMode(uint8 Controller, Can_ControllerStateType *ControllerModePtr); # 267 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_Write(Can_HwHandleType Hth, const Can_PduType *PduInfo); # 278 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_AbortHwObjectSend(Can_HwHandleType Hth); # 292 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_ProcessMbCommonInterrupt(uint8 Id, uint8 MbIdx, Can_HwObjectType Type); # 305 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_ProcessRxFiFoDmaInterrupt(uint8 Id, Can_Drv_IntType IntType); # 328 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_ProcessBusOffInterrupt(uint8 Id); # 341 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_ProcessErrorInterrupt(uint8 CtrlOffset, boolean IsErrFast, uint32 Data); # 355 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" void Can_ProcessEccInterrupt(uint8 CtrlOffset, uint32 IntType, uint32 Data); # 368 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_InjectError(uint8 ControllerId); # 380 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" Std_ReturnType Can_ClearInjectError(uint8 ControllerId); # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1088 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = "" # 388 "../../../mcal/Can_ZX_K14xM/Inc\\Can.h" 2 # 26 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" 2 # 1 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" 1 # 73 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 876 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section rodata = ".mcal_config_data" # 74 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" 2 extern const Can_Drv_ConfigType Can_Drv_CtrlConfig[1U]; # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 892 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section rodata = "" # 79 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" 2 # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1072 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = ".mcal_code" # 87 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" 2 # 101 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_AbortTransfer(uint8 Id, uint8 MbIdx); # 118 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_ConfigRxMb(uint8 Id, uint8 MbIdx, Can_Drv_MsgIdType IdType, uint32 MsgId); # 133 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_Init(uint8 Id, Can_Drv_StateType *CanStatePtr, const Can_Drv_ConfigType *CanConfigPtr); # 147 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_Deinit(uint8 Id); # 159 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_DisableMbInterrupts(uint8 Id); # 174 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_Receive(uint8 Id, uint8 MbIdx, Can_Drv_MsgBufType *DataPtr, boolean IsPolling); # 189 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_RxFIFO(uint8 Id, Can_Drv_MsgBufType *DataPtr); # 200 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_ClearErrorStatus(uint8 Id, uint32 Mask); # 212 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_EnableInterrupts(uint8 Id); # 224 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_DisableInterrupts(uint8 Id); # 237 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" uint32 Can_Drv_GetControllerErrorState(uint8 Id); # 247 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" uint32 Can_Drv_GetControllerRxErrorCounter(uint8 Id); # 257 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" uint32 Can_Drv_GetControllerTxErrorCounter(uint8 Id); # 270 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_GetTransferStatus(uint8 Id, uint8 MbIdx); # 282 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_ManualBusOffRecovery(uint8 Id); # 293 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_WriteMainFunction(uint8 Id, uint8 MbIdx); # 304 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_ReadMainFunction(const uint8 Id, uint8 MbIdx); # 316 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_BusOffMainFunction(uint8 Id); # 328 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_WakeupMainFunction(uint8 Id); # 342 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_ConfigErrorInterrupt(uint8 Id, Can_Drv_IntType IntType, boolean Enable); # 355 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetStdBitTiming(uint8 Id, const Can_Drv_BitTimingType *RatePtr); # 368 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetFdArbBitTiming(uint8 Id, const Can_Drv_BitTimingType *RatePtr); # 381 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetFdDataBitTiming(uint8 Id, const Can_Drv_BitTimingType *RatePtr); # 394 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetRxMaskType(uint8 Id, Can_Drv_RxMaskType MaskType); # 408 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" boolean Can_Drv_GetMbInterruptFlag(uint8 Id, uint8 MbIdx); # 419 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_ClearMbIntStatus(uint8 Id, uint8 MbIdx); # 431 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" boolean Can_Drv_CheckStartedMode(uint8 Id); # 442 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" boolean Can_Drv_CheckStoppedMode(uint8 Id); # 454 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetStartMode(uint8 Id); # 466 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetStopMode(uint8 Id); # 480 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_ConfigRxFifo(uint8 Id, Can_Drv_RxAcceptanceType Element, const Can_Drv_IdFilterType *FilterTablePtr); # 499 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SendData(uint8 Id, uint8 MbIdx, const Can_Drv_MessageInfoType *TxInfoPtr, boolean IsPolling, uint32 MsgId, const uint8 *MsgDataPtr); # 516 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetRxIndividualMask(uint8 Id, Can_Drv_MsgIdType IdType, uint32 MbIdx, uint32 Mask); # 546 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetRxFifoGlobalMask(uint8 Id, uint32 Mask); # 558 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_EnableArbitrationFiledCompare(uint8 Id); # 593 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetRxFifoIndividualMask(uint8 Id, uint32 ElementIdx, uint32 Mask); # 611 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetFdTdc(uint8 Id, boolean Enable, uint8 Offset); # 624 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_SetTxArbitrationDelay(uint8 Id, uint8 Value); # 636 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_EnableSelfWakeup(uint8 Id); # 648 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_DisableSelfWakeup(uint8 Id); # 660 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_InjectCorrectableAddress(uint8 Id); # 672 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_InjectAddress(uint8 Id); # 684 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" Can_Drv_ControllerStatus Can_Drv_ClearInjection(uint8 Id); # 695 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_IntHandler(uint8 Id, uint32 StartMbIdx, uint32 EndMbIdx); # 705 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_BusOffIntHandler(uint8 Id); # 715 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_TxWarnIntHandler(uint8 Id); # 725 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_RxWarnIntHandler(uint8 Id); # 735 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_ErrorIntHandler(uint8 Id); # 745 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_FdErrorIntHandler(uint8 Id); # 755 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_WakeUpIntHandler(uint8 Id); # 765 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" void Can_Drv_EccIntHandler(uint8 Id); # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1088 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = "" # 769 "../../../mcal/Can_ZX_K14xM/Inc\\Can_Drv.h" 2 # 27 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" 2 # 111 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1072 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = ".mcal_code" # 112 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" 2 void Can_MbIrqCallback(uint8 Instance, Can_Drv_IntType InterType, uint32 MbIdx, const Can_Drv_StateType *StatePtr); # 128 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" void Can_MbIrqCallback(uint8 Instance, Can_Drv_IntType InterType, uint32 MbIdx, const Can_Drv_StateType *StatePtr) { if (0U == (StatePtr->Mb[MbIdx].IsPolling)) { switch (InterType) { case CAN_DRV_MB_TRANSMIT: { Can_ProcessMbCommonInterrupt(Instance, (uint8)MbIdx, CAN_OBJ_TRANSMIT); break; } case CAN_DRV_INT_MB_RECEIVE: { Can_ProcessMbCommonInterrupt(Instance, (uint8)MbIdx, CAN_OBJ_RECEIVE); break; } case CAN_DRV_INT_RXFIFO_FRAME: { Can_ProcessMbCommonInterrupt(Instance, (uint8)MbIdx, CAN_OBJ_FIFO); break; } case CAN_DRV_INT_RXFIFO_WARNING: { Can_ProcessMbCommonInterrupt(Instance, (6U), CAN_OBJ_FIFO); break; } case CAN_DRV_INT_RXFIFO_OVERFLOW: { Can_ProcessMbCommonInterrupt(Instance, (7U), CAN_OBJ_FIFO); break; } default: { break; } } } else if ((CAN_DRV_DMA_COMPLETE == InterType) || (CAN_DRV_DMA_ERROR == InterType)) { Can_ProcessRxFiFoDmaInterrupt(Instance, InterType); } else { } } void Can_ErrorIrqCallback(uint8 Instance, Can_Drv_IntType InterType, uint32 Data); # 195 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" void Can_ErrorIrqCallback(uint8 Instance, Can_Drv_IntType InterType, uint32 Data) { switch (InterType) { case CAN_DRV_INT_ERR: { Can_ProcessErrorInterrupt(Instance, (boolean)0U, Data); break; } # 214 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" case CAN_DRV_INT_BUS_OFF: { Can_ProcessBusOffInterrupt(Instance); break; } # 227 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" case CAN_DRV_INT_HOST_MEM_ERR: case CAN_DRV_INT_MEM_ERR: case CAN_DRV_INT_COR_MEM_ERR: { Can_ProcessEccInterrupt(Instance, (uint32)InterType, Data); break; } default: { break; } } } # 1 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" 1 # 1088 "../../../mcal/Base_ZX_K14xM/Inc/MemMap\\Can_MemMap.h" #pragma clang section text = "" # 247 "../../../mcal/Can_ZX_K14xM/Src/Can_Irq.c" 2