123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750 |
- /*==================================================================================================
- * Project : RTD AUTOSAR 4.4
- * Platform : CORTEXM
- * Peripheral : FLEXCAN
- * Dependencies :
- *
- * Autosar Version : 4.4.0
- * Autosar Revision : ASR_REL_4_4_REV_0000
- * Autosar Conf.Variant :
- * SW Version : 1.0.0
- * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907
- *
- * (c) Copyright 2020-2021 NXP Semiconductors
- * All Rights Reserved.
- *
- * NXP Confidential. This software is owned or controlled by NXP and may only be
- * used strictly in accordance with the applicable license terms. By expressly
- * accepting such terms or by downloading, installing, activating and/or otherwise
- * using the software, you are agreeing that you have read, and that you agree to
- * comply with and are bound by, such license terms. If you do not agree to be
- * bound by the applicable license terms, then you may not retain, install,
- * activate or otherwise use the software.
- ==================================================================================================*/
- /*==================================================================================================
- ==================================================================================================*/
- /**
- * @file Can_PBcfg_VS_0.c
- * @version 1.0.0
- *
- * @brief AUTOSAR Can - module interface
- * @details Configuration Structures for PostBuild
- *
- * @addtogroup CAN_DRIVER
- * @{
- */
- #ifdef __cplusplus
- extern "C"{
- #endif
- /**
- * @page misra_violations MISRA-C:2012 violations
- *
- * @section [global]
- * Violates MISRA 2012 Required Rule 5.1, External identifiers shall be distinct.
- * The used compilers use more than 31 chars for identifiers.
- *
- * @section [global]
- * Violates MISRA 2012 Required Rule 5.2, Identifiers declared in the same scope and name space shall be distinct.
- * The used compilers use more than 31 chars for identifiers.
- *
- * @section [global]
- * Violates MISRA 2012 Required Rule 5.4, Macro identifiers shall be distinct.
- * The used compilers use more than 31 chars for identifiers.
- *
- * @section [global]
- * Violates MISRA 2012 Required Rule 5.5, Identifiers shall be distinct from macro names.
- * The used compilers use more than 31 chars for identifiers.
- *
- * @section Can_PBcfg_VS_0_c_REF_1
- * Violates MISRA 2012 Required Directive 4.10, Precautions shall be taken in order to prevent the contents
- * of a header file being included more than once
- * This violation is not fixed since the inclusion of <MA>_MemMap.h is as per AUTOSAR requirement [SWS_MemMap_00003].
- *
- * @section Can_PBcfg_VS_0_c_REF_2
- * Violates MISRA 2012 Advisory Rule 20.1, #include directives should only be preceded by preprocessor directives or comments.
- * AUTOSAR imposes the specification of the sections in which certain parts of the driver must be placed.
- *
- * @section Can_PBcfg_VS_0_c_REF_3
- * Violates MISRA 2012 Advisory Rule 8.7, Function and objects should not be defined with external linkage if they
- * are referenced in only one translation unit.
- * This constant variable will be called by higher layer.
- *
- * @section Can_PBcfg_VS_0_c_REF_4
- * Violates MISRA 2012 Advisory Rule 8.9, An object should be defined at block scope if identifier only appears in a single function.
- * These objects are used when Precompile is supported.
- *
- * @section Can_PBcfg_VS_0_c_REF_5
- * Violates MISRA 2012 Required Rule 8.4, A compatible declaration shall be visible when an object or function with external linkage is defined.
- *
- */
- /*
- (CAN078) The code file structure shall not be defined within this specification completely.
- At this point it shall be pointed out that the code-file structure shall include the following file named: Can_PBcfg_VS_0.c.
- This file shall contain all post-build time configurable parameters.
- (CAN221) VariantPB: (Mix of precompile and Post Build multiple selectable configurable configurations.
- */
- /*==================================================================================================
- * INCLUDE FILES
- * 1) system and project includes
- * 2) needed interfaces from external units
- * 3) internal and external interfaces from this unit
- ==================================================================================================*/
- #include "Can.h"
- #include "Can_Ipw_Types.h"
- /*==================================================================================================
- * SOURCE FILE VERSION INFORMATION
- ==================================================================================================*/
- /*
- * @file Can_PBcfg_VS_0.c
- */
- #define CAN_VENDOR_ID_PBCFG_VS_0_C 43
- #define CAN_AR_RELEASE_MAJOR_VERSION_PBCFG_VS_0_C 4
- #define CAN_AR_RELEASE_MINOR_VERSION_PBCFG_VS_0_C 4
- #define CAN_AR_RELEASE_REVISION_VERSION_PBCFG_VS_0_C 0
- #define CAN_SW_MAJOR_VERSION_PBCFG_VS_0_C 1
- #define CAN_SW_MINOR_VERSION_PBCFG_VS_0_C 0
- #define CAN_SW_PATCH_VERSION_PBCFG_VS_0_C 0
- /*==================================================================================================
- * FILE VERSION CHECKS
- ==================================================================================================*/
- /* Check if current file and Can.h are of the same vendor */
- #if (CAN_VENDOR_ID_PBCFG_VS_0_C != CAN_VENDOR_ID)
- #error "Can_PBcfg_VS_0.c and Can.h have different vendor ids"
- #endif
- /* Check if current file and Can.h are of the same Autosar version */
- #if ((CAN_AR_RELEASE_MAJOR_VERSION_PBCFG_VS_0_C != CAN_AR_RELEASE_MAJOR_VERSION) || \
- (CAN_AR_RELEASE_MINOR_VERSION_PBCFG_VS_0_C != CAN_AR_RELEASE_MINOR_VERSION) || \
- (CAN_AR_RELEASE_REVISION_VERSION_PBCFG_VS_0_C != CAN_AR_RELEASE_REVISION_VERSION))
- #error "AutoSar Version Numbers of Can_PBcfg_VS_0.c and Can.h are different"
- #endif
- /* Check if current file and Can.h are of the same Software version */
- #if ((CAN_SW_MAJOR_VERSION_PBCFG_VS_0_C != CAN_SW_MAJOR_VERSION) || \
- (CAN_SW_MINOR_VERSION_PBCFG_VS_0_C != CAN_SW_MINOR_VERSION) || \
- (CAN_SW_PATCH_VERSION_PBCFG_VS_0_C != CAN_SW_PATCH_VERSION))
- #error "Software Version Numbers of Can_PBcfg_VS_0.c and Can.h are different"
- #endif
- /* Check if current file and Can_Ipw_Types.h are of the same vendor */
- #if (CAN_VENDOR_ID_PBCFG_VS_0_C != CAN_IPW_TYPES_VENDOR_ID_H)
- #error "Can_PBcfg_VS_0.c and Can_Ipw_Types.h have different vendor ids"
- #endif
- /* Check if current file and Can_Ipw_Types.h are of the same Autosar version */
- #if ((CAN_AR_RELEASE_MAJOR_VERSION_PBCFG_VS_0_C != CAN_IPW_TYPES_AR_RELEASE_MAJOR_VERSION_H) || \
- (CAN_AR_RELEASE_MINOR_VERSION_PBCFG_VS_0_C != CAN_IPW_TYPES_AR_RELEASE_MINOR_VERSION_H) || \
- (CAN_AR_RELEASE_REVISION_VERSION_PBCFG_VS_0_C != CAN_IPW_TYPES_AR_RELEASE_REVISION_VERSION_H))
- #error "AutoSar Version Numbers of Can_PBcfg_VS_0.c and Can_Ipw_Types.h are different"
- #endif
- /* Check if current file and Can_Ipw_Types.h are of the same Software version */
- #if ((CAN_SW_MAJOR_VERSION_PBCFG_VS_0_C != CAN_IPW_TYPES_SW_MAJOR_VERSION_H) || \
- (CAN_SW_MINOR_VERSION_PBCFG_VS_0_C != CAN_IPW_TYPES_SW_MINOR_VERSION_H) || \
- (CAN_SW_PATCH_VERSION_PBCFG_VS_0_C != CAN_IPW_TYPES_SW_PATCH_VERSION_H))
- #error "Software Version Numbers of Can_PBcfg_VS_0.c and Can_Ipw_Types.h are different"
- #endif
- /*==================================================================================================
- * GLOBAL VARIABLES
- ==================================================================================================*/
- #if (CAN_FEATURE_HAS_DMA_ENABLE == STD_ON)
- /* CAN_START_SEC_VAR_CLEARED_UNSPECIFIED_NO_CACHEABLE */
- #define CAN_START_SEC_VAR_CLEARED_UNSPECIFIED_NO_CACHEABLE
- #include "Can_MemMap.h"
- #define CAN_STOP_SEC_VAR_CLEARED_UNSPECIFIED_NO_CACHEABLE
- #include "Can_MemMap.h"
- /* CAN_STOP_SEC_VAR_CLEARED_UNSPECIFIED_NO_CACHEABLE */
- #endif /* (CAN_FEATURE_HAS_DMA_ENABLE == STD_ON) */
- /*==================================================================================================
- * GLOBAL FUNCTION PROTOTYPES
- ==================================================================================================*/
- #define CAN_START_SEC_CODE
- /* @violates @ref Can_PBcfg_VS_0_c_REF_1 MISRA 2012 Required Directive 4.10 */
- #include "Can_MemMap.h"
- #if (CAN_TIMESTAMP_ENABLE == STD_ON)
- #endif
- #define CAN_STOP_SEC_CODE
- /* @violates @ref Can_PBcfg_VS_0_c_REF_1 MISRA 2012 Required Directive 4.10 */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_2 MISRA 2012 Advisory Rule 20.1 */
- #include "Can_MemMap.h"
- /*==================================================================================================
- * LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
- ==================================================================================================*/
- /*==================================================================================================
- * LOCAL CONSTANTS
- ==================================================================================================*/
- #define CAN_START_SEC_CONFIG_DATA_32
- #include "Can_MemMap.h"
- /**
- * @brief Hardware Buffer Address of CanController_0
- */
- static const uint32 Can_au32HwBufferAddr_Ctrl0[11U]=
- {
- (FLEXCAN_0_BASE + (uint32)0x0080U),
- (FLEXCAN_0_BASE + (uint32)0x0100U),
- (FLEXCAN_0_BASE + (uint32)0x0110U),
- (FLEXCAN_0_BASE + (uint32)0x0120U),
- (FLEXCAN_0_BASE + (uint32)0x0130U),
- (FLEXCAN_0_BASE + (uint32)0x0140U),
- (FLEXCAN_0_BASE + (uint32)0x0150U),
- (FLEXCAN_0_BASE + (uint32)0x0160U),
- (FLEXCAN_0_BASE + (uint32)0x0170U),
- (FLEXCAN_0_BASE + (uint32)0x0180U),
- (FLEXCAN_0_BASE + (uint32)0x0190U)
- };
- /**
- * @brief Hardware Buffer Address of CanController_1
- */
- static const uint32 Can_au32HwBufferAddr_Ctrl1[11U]=
- {
- (FLEXCAN_1_BASE + (uint32)0x0080U),
- (FLEXCAN_1_BASE + (uint32)0x0100U),
- (FLEXCAN_1_BASE + (uint32)0x0110U),
- (FLEXCAN_1_BASE + (uint32)0x0120U),
- (FLEXCAN_1_BASE + (uint32)0x0130U),
- (FLEXCAN_1_BASE + (uint32)0x0140U),
- (FLEXCAN_1_BASE + (uint32)0x0150U),
- (FLEXCAN_1_BASE + (uint32)0x0160U),
- (FLEXCAN_1_BASE + (uint32)0x0170U),
- (FLEXCAN_1_BASE + (uint32)0x0180U),
- (FLEXCAN_1_BASE + (uint32)0x0190U)
- };
- /**
- * @brief Hardware Filter of Can0HardwareObject_RX
- */
- static const Can_HwFilterType Can_aHwFilter_Object0[8U]=
- {
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- }
- };
- /**
- * @brief Hardware Filter of Can1HardwareObject_RX
- */
- static const Can_HwFilterType Can_aHwFilter_Object1[8U]=
- {
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- },
- {
- (uint32)0x00000000U,
- (uint32)0x00000000U
- }
- };
- #define CAN_STOP_SEC_CONFIG_DATA_32
- #include "Can_MemMap.h"
- #define CAN_START_SEC_CONFIG_DATA_8
- #include "Can_MemMap.h"
- /**
- * @brief Mapping Controller ID to Controller hardware offset
- */
- static const uint8 Can_aCtrlOffsetToCtrlIDMap[CAN_HWCONTROLLER_SUPPORT]=
- {
- (uint8)0,
- (uint8)1,
- (uint8)CAN_CONTROLLER_UNUSED
- };
- /**
- * @brief Mapping Controller ID to Hardware Object ID
- */
- static const uint8 Can_aHwObjIDToCtrlIDMap[CAN_HWOBJECT_CONFIG_COUNT]=
- {
- (uint8)0U,
- (uint8)1U,
- (uint8)0U,
- (uint8)1U
- };
- #define CAN_STOP_SEC_CONFIG_DATA_8
- #include "Can_MemMap.h"
- #define CAN_START_SEC_CONFIG_DATA_UNSPECIFIED
- /* @violates @ref Can_PBcfg_VS_0_c_REF_1 MISRA 2012 Required Directive 4.10 */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_2 MISRA 2012 Advisory Rule 20.1 */
- #include "Can_MemMap.h"
- /**
- * @brief Can Hardware Object Config
- */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_5 MISRA 2012 Required Rule 8.4*/
- static const Can_HwObjectConfigType Can_aHwObjectConfig[CAN_HWOBJECT_CONFIG_COUNT]=
- {
- /* Can0HardwareObject_RX of CanController_0*/
- {
- /* Hardware Object ID */
- (Can_HwHandleType)0U,
- /* Hardware Object handle type */
- CAN_RECEIVE,
- /* ID Message type */
- CAN_EXTENDED,
- /* Object uses polling */
- (boolean)TRUE,
- /* Object enable trigger transmit */
- (boolean)FALSE,
- /* Number of Hw Object used in one Hoh */
- (uint8)6U,
- /* MainFunction RW period reference */
- (uint8)CanMainFunctionRWPeriods_0,
- /* Data Payload length */
- (uint8)8U,
- /* Padding value */
- (uint8)0U,
- /* Hardware Filter Count */
- (uint8)8U,
- /* Hw Filter Config */
- Can_aHwFilter_Object0,
- /* Message Buffer is Legacy FIFO */
- CAN_RX_LEGACY_FIFO,
- /* Buffer Index in Message buffer ram */
- (uint8)0U,
- /* Message buffer address */
- &Can_au32HwBufferAddr_Ctrl0[0U]
- #if (CAN_TIMESTAMP_ENABLE == STD_ON)
- /* Time Stamp Enable */
- ,(boolean)FALSE
- #endif
- },
- /* Can1HardwareObject_RX of CanController_1*/
- {
- /* Hardware Object ID */
- (Can_HwHandleType)1U,
- /* Hardware Object handle type */
- CAN_RECEIVE,
- /* ID Message type */
- CAN_EXTENDED,
- /* Object uses polling */
- (boolean)TRUE,
- /* Object enable trigger transmit */
- (boolean)FALSE,
- /* Number of Hw Object used in one Hoh */
- (uint8)6U,
- /* MainFunction RW period reference */
- (uint8)CanMainFunctionRWPeriods_0,
- /* Data Payload length */
- (uint8)8U,
- /* Padding value */
- (uint8)0U,
- /* Hardware Filter Count */
- (uint8)8U,
- /* Hw Filter Config */
- Can_aHwFilter_Object1,
- /* Message Buffer is Legacy FIFO */
- CAN_RX_LEGACY_FIFO,
- /* Buffer Index in Message buffer ram */
- (uint8)0U,
- /* Message buffer address */
- &Can_au32HwBufferAddr_Ctrl1[0U]
- #if (CAN_TIMESTAMP_ENABLE == STD_ON)
- /* Time Stamp Enable */
- ,(boolean)FALSE
- #endif
- },
- /* Can0HardwareObject_TX of CanController_0*/
- {
- /* Hardware Object ID */
- (Can_HwHandleType)2U,
- /* Hardware Object handle type */
- CAN_TRANSMIT,
- /* ID Message type */
- CAN_EXTENDED,
- /* Object uses polling */
- (boolean)TRUE,
- /* Object enable trigger transmit */
- (boolean)FALSE,
- /* Number of Hw Object used in one Hoh */
- (uint8)10U,
- /* MainFunction RW period reference */
- (uint8)CanMainFunctionRWPeriods_0,
- /* Data Payload length */
- (uint8)8U,
- /* Padding value */
- (uint8)0U,
- /* Hardware Filter Count */
- (uint8)0U,
- /* Hw Filter Config */
- NULL_PTR,
- /* Message Buffer is Tx normal */
- CAN_TX_NORMAL,
- /* Buffer Index in Message buffer ram */
- (uint8)8U,
- /* Message buffer address */
- &Can_au32HwBufferAddr_Ctrl0[1U]
- #if (CAN_TIMESTAMP_ENABLE == STD_ON)
- /* Time Stamp Enable */
- ,(boolean)FALSE
- #endif
- },
- /* Can1HardwareObject_TX of CanController_1*/
- {
- /* Hardware Object ID */
- (Can_HwHandleType)3U,
- /* Hardware Object handle type */
- CAN_TRANSMIT,
- /* ID Message type */
- CAN_EXTENDED,
- /* Object uses polling */
- (boolean)TRUE,
- /* Object enable trigger transmit */
- (boolean)FALSE,
- /* Number of Hw Object used in one Hoh */
- (uint8)10U,
- /* MainFunction RW period reference */
- (uint8)CanMainFunctionRWPeriods_0,
- /* Data Payload length */
- (uint8)8U,
- /* Padding value */
- (uint8)0U,
- /* Hardware Filter Count */
- (uint8)0U,
- /* Hw Filter Config */
- NULL_PTR,
- /* Message Buffer is Tx normal */
- CAN_TX_NORMAL,
- /* Buffer Index in Message buffer ram */
- (uint8)8U,
- /* Message buffer address */
- &Can_au32HwBufferAddr_Ctrl1[1U]
- #if (CAN_TIMESTAMP_ENABLE == STD_ON)
- /* Time Stamp Enable */
- ,(boolean)FALSE
- #endif
- }
- };
- /**
- * @brief Can Baudrate Config of CanController_0
- */
- static const Can_BaudrateConfigType Can_aBaudrateConfig_Ctrl0[1U]=
- {
- {
- /*Can_bEnhanceCBTEnable*/
- (boolean)FALSE,
- /* Tx Bit Rate Switch */
- (boolean)FALSE,
- /* FD enable */
- (boolean)FALSE,
- /* Nominal bit rate */
- {
- (uint8)2U,
- (uint8)5U,
- (uint8)5U,
- (uint16)11U,
- #if (CAN_DUAL_CLOCK_MODE == STD_ON)
- /* Alternative Baudrate Nominal Prescaler */
- (uint16)9U,
- #endif
- (uint8)3U
- },
-
- /* Data bit rate */
- {
- (uint8)0U,
- (uint8)0U,
- (uint8)0U,
- (uint16)0U,
- #if (CAN_DUAL_CLOCK_MODE == STD_ON)
- (uint16)0U,
- #endif
- (uint8)0U
- },
-
- /* Tx Arbitration Start delay */
- (uint8)12U,
- (boolean)FALSE,
- (uint8)0U
- }
- };
- /**
- * @brief HwObject's pointer structure of CanController_0
- */
- static const Can_HwObjectConfigType * const Can_apHwObject_Ctrl0[2U]=
- {
- &Can_aHwObjectConfig[0U],
- &Can_aHwObjectConfig[2U]
- };
- /**
- * @brief Can Baudrate Config of CanController_1
- */
- static const Can_BaudrateConfigType Can_aBaudrateConfig_Ctrl1[1U]=
- {
- {
- /*Can_bEnhanceCBTEnable*/
- (boolean)FALSE,
- /* Tx Bit Rate Switch */
- (boolean)FALSE,
- /* FD enable */
- (boolean)FALSE,
- /* Nominal bit rate */
- {
- (uint8)2U,
- (uint8)5U,
- (uint8)5U,
- (uint16)11U,
- #if (CAN_DUAL_CLOCK_MODE == STD_ON)
- /* Alternative Baudrate Nominal Prescaler */
- (uint16)9U,
- #endif
- (uint8)3U
- },
-
- /* Data bit rate */
- {
- (uint8)0U,
- (uint8)0U,
- (uint8)0U,
- (uint16)0U,
- #if (CAN_DUAL_CLOCK_MODE == STD_ON)
- (uint16)0U,
- #endif
- (uint8)0U
- },
-
- /* Tx Arbitration Start delay */
- (uint8)12U,
- (boolean)FALSE,
- (uint8)0U
- }
- };
- /**
- * @brief HwObject's pointer structure of CanController_1
- */
- static const Can_HwObjectConfigType * const Can_apHwObject_Ctrl1[2U]=
- {
- &Can_aHwObjectConfig[1U],
- &Can_aHwObjectConfig[3U]
- };
- /* Inport external structure defined by IPW */
- CAN_IPW_EXT
- /**
- * @brief Can Controller Config
- */
- static const Can_ControllerConfigType Can_aControllerConfig[CAN_CONTROLLER_CONFIG_COUNT]=
- {
- {
- /* Abstracted CanIf Controller ID */
- (uint8)0U,
- /* Controller ID */
- (uint8)0U,
- /* Controller Offset */
- (uint8)0U,
- /* Controller Base Address */
- FLEXCAN_0_BASE,
- /* Controller Activation */
- (boolean)TRUE,
- /* Bus Off uses polling */
- (boolean)TRUE,
- /* Global mask of Legacy FIFO */
- (uint32)0xc0000000U,
- /* ID Acceptance Mode */
- CAN_LEGACY_FIFO_FORMAT_A,
- /* Legacy FIFO Warning Notification */
- NULL_PTR,
- /* Legacy FIFO Overflow Notification */
- NULL_PTR,
- /* Enhanced FIFO Overflow Notification */
- NULL_PTR,
- #if (CAN_FEATURE_HAS_DMA_ENABLE == STD_ON)
- /* Enhance FIFO Dma Error Notification */
- NULL_PTR,
- /* DMA is not enabled */
- NULL_PTR,
- #endif /* (CAN_FEATURE_HAS_DMA_ENABLE == STD_ON) */
- /* Error interrupt enable */
- (boolean)FALSE,
- /* Error Notification */
- NULL_PTR,
- /* Error FD Notification */
- NULL_PTR,
- /* Default Baudrate ID */
- (uint16)0U,
- /* Baudrate config Count*/
- (uint16)1U,
- /* Baudrate config Pointer Structure */
- Can_aBaudrateConfig_Ctrl0,
- /* Pointer to IPW structure to IP config */
- &CanIpwHwChannelConfig_VS_00,
- /* Hw Object reference count */
- (uint8)2U,
- /* Pointer point to Group of Hw Object that refer to Controller */
- Can_apHwObject_Ctrl0
- },
- {
- /* Abstracted CanIf Controller ID */
- (uint8)1U,
- /* Controller ID */
- (uint8)1U,
- /* Controller Offset */
- (uint8)1U,
- /* Controller Base Address */
- FLEXCAN_1_BASE,
- /* Controller Activation */
- (boolean)TRUE,
- /* Bus Off uses polling */
- (boolean)TRUE,
- /* Global mask of Legacy FIFO */
- (uint32)0xc0000000U,
- /* ID Acceptance Mode */
- CAN_LEGACY_FIFO_FORMAT_A,
- /* Legacy FIFO Warning Notification */
- NULL_PTR,
- /* Legacy FIFO Overflow Notification */
- NULL_PTR,
- /* Enhanced FIFO Overflow Notification */
- NULL_PTR,
- #if (CAN_FEATURE_HAS_DMA_ENABLE == STD_ON)
- /* Enhance FIFO Dma Error Notification */
- NULL_PTR,
- /* DMA is not enabled */
- NULL_PTR,
- #endif /* (CAN_FEATURE_HAS_DMA_ENABLE == STD_ON) */
- /* Error interrupt enable */
- (boolean)FALSE,
- /* Error Notification */
- NULL_PTR,
- /* Error FD Notification */
- NULL_PTR,
- /* Default Baudrate ID */
- (uint16)0U,
- /* Baudrate config Count*/
- (uint16)1U,
- /* Baudrate config Pointer Structure */
- Can_aBaudrateConfig_Ctrl1,
- /* Pointer to IPW structure to IP config */
- &CanIpwHwChannelConfig_VS_01,
- /* Hw Object reference count */
- (uint8)2U,
- /* Pointer point to Group of Hw Object that refer to Controller */
- Can_apHwObject_Ctrl1
- }
- };
- /* Inport external structure defined by IPW */
- CAN_IPW_ICOM_RXMESSAGE_EXT
- static const Can_IcomConfigsType Can_aIcomConfig[1U] =
- {
- {
- /* .u8CanIcomConfigId */
- (uint8)1,
- /* .bCanIcomWakeOnBusOff */
- (boolean)FALSE,
- /* .u8NumberCanIcomRxMessage */
- (uint8)1U,
- /* .pCanIcomRxMessageConfigs */
- &CanIpwIcomRxMessageConfig_VS_0_0
- }
- };
- static const Can_ControllerConfigType * const Can_apController[CAN_CONTROLLER_CONFIG_COUNT]=
- {
- &Can_aControllerConfig[0U],
- &Can_aControllerConfig[1U]
- };
- /*==================================================================================================
- * GLOBAL CONSTANTS
- ==================================================================================================*/
- /**
- * @brief Top level structure contain all Can driver Config
- */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_3 MISRA 2012 Advisory Rule 8.7 */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_4 MISRA 2012 Advisory Rule 8.9 */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_5 MISRA 2012 Required Rule 8.4 */
- const Can_ConfigType Can_Config =
- {
- /* Configuration Core ID */
- (uint32)0U,
- /* The HTH first Index after HRH consecutive */
- (Can_HwHandleType)2U,
- /* Mapping Controller ID to Controller Hw Offset */
- Can_aCtrlOffsetToCtrlIDMap,
- /* Mapping Controller ID to Hardware Object ID */
- Can_aHwObjIDToCtrlIDMap,
- /* Pointer point to Can Hw Object Config */
- Can_aHwObjectConfig,
- /* The size of Can Icom Configs */
- (uint8)1U,
- /* Pointer point to Can Icom Configs */
- Can_aIcomConfig,
- /* Array of Pointer to Controller infomation have aligned by Controller ID */
- Can_apController
- };
- #define CAN_STOP_SEC_CONFIG_DATA_UNSPECIFIED
- /* @violates @ref Can_PBcfg_VS_0_c_REF_1 MISRA 2012 Required Directive 4.10 */
- /* @violates @ref Can_PBcfg_VS_0_c_REF_2 MISRA 2012 Advisory Rule 20.1 */
- #include "Can_MemMap.h"
- #ifdef __cplusplus
- }
- #endif
- /** @} */
|