123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- /*==================================================================================================
- * 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.
- ==================================================================================================*/
- /*==================================================================================================
- ==================================================================================================*/
- /*
- @brief The consistency of the configuration must be checked by the configuration tool(s).
- @brief (SWS_Can_00022) The code configuration of the Can module is CAN controller specific.
- If the CAN controller is sited on-chip, the code generation tool for the Can module is Controller specific.
- If the CAN controller is an external device the generation tool must not be Controller specific.
- @brief (SWS_Can_00024) The valid values that can be configured are hardware dependent.
- Therefore the rules and constraints can't be given in the standard.
- The configuration tool is responsible to do a static configuration checking, also regarding dependencies between modules (i.e. Port driver, MCU driver etc.)
- */
- /*
- * @file Can_Cfg.h
- */
- #ifndef CAN_CFG_H
- #define CAN_CFG_H
- /**
- * @file Can_Cfg.h
- * @version 1.0.0
- *
- * @brief AUTOSAR Can - module interface
- * @details Configuration settings generated by user settings.
- *
- * @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_Cfg_h_REF_1
- * Violates MISRA 2012 Advisory Rule 2.5, A project should not contain unused macro declarations.
- * Some macro are required by ASR even they are not use in MCAL layer
- *
- * @section Can_Cfg_h_REF_2
- * Violates MISRA 2012 Advisory Rule 4.9, A function should be used in preference to a function-like macro where they are interchangeable.
- * Function like macro are used to reduce code complexity
- */
- /*==================================================================================================
- * INCLUDE FILES
- * 1) system and project includes
- * 2) needed interfaces from external units
- * 3) internal and external interfaces from this unit
- ==================================================================================================*/
- #include "Can_VS_0_PBcfg.h"
- /*==================================================================================================
- * SOURCE FILE VERSION INFORMATION
- ==================================================================================================*/
- /*
- * @file Can_Cfg.h
- */
- #define CAN_VENDOR_ID_CFG_H 43
- #define CAN_MODULE_ID_CFG_H 80
- #define CAN_AR_RELEASE_MAJOR_VERSION_CFG_H 4
- #define CAN_AR_RELEASE_MINOR_VERSION_CFG_H 4
- #define CAN_AR_RELEASE_REVISION_VERSION_CFG_H 0
- #define CAN_SW_MAJOR_VERSION_CFG_H 1
- #define CAN_SW_MINOR_VERSION_CFG_H 0
- #define CAN_SW_PATCH_VERSION_CFG_H 0
- /*==================================================================================================
- * FILE VERSION CHECKS
- ==================================================================================================*/
- /* Check if header file and Can_VS_0_PBcfg.h configuration header file are of the same vendor */
- #if (CAN_VENDOR_ID_VS_0_PBCFG_H != CAN_VENDOR_ID_CFG_H)
- #error "Can_VS_0_PBcfg.h and Can_Cfg.h have different vendor IDs"
- #endif
- /* Check if header file and Can_VS_0_PBcfg.h configuration header file are of the same Autosar version */
- #if ((CAN_AR_RELEASE_MAJOR_VERSION_VS_0_PBCFG_H != CAN_AR_RELEASE_MAJOR_VERSION_CFG_H) || \
- (CAN_AR_RELEASE_MINOR_VERSION_VS_0_PBCFG_H != CAN_AR_RELEASE_MINOR_VERSION_CFG_H) || \
- (CAN_AR_RELEASE_REVISION_VERSION_VS_0_PBCFG_H != CAN_AR_RELEASE_REVISION_VERSION_CFG_H) \
- )
- #error "AutoSar Version Numbers of Can_VS_0_PBcfg.h and Can_Cfg.h are different"
- #endif
- /* Check if header file and Can_VS_0_PBcfg.h configuration header file are of the same software version */
- #if ((CAN_SW_MAJOR_VERSION_VS_0_PBCFG_H != CAN_SW_MAJOR_VERSION_CFG_H) || \
- (CAN_SW_MINOR_VERSION_VS_0_PBCFG_H != CAN_SW_MINOR_VERSION_CFG_H) || \
- (CAN_SW_PATCH_VERSION_VS_0_PBCFG_H != CAN_SW_PATCH_VERSION_CFG_H) \
- )
- #error "Software Version Numbers of Can_VS_0_PBcfg.h and Can_Cfg.h are different"
- #endif
- /*==================================================================================================
- * DEFINES AND MACROS
- ==================================================================================================*/
- /**
- * @brief Enable/Disable Precompile Support
- */
- #define CAN_PRECOMPILE_SUPPORT (STD_ON)
- /**
- * @brief Number of Can Controller Support
- */
- #define CAN_HWCONTROLLER_SUPPORT 3U
- /**
- * @brief Controller unsed
- */
- #define CAN_CONTROLLER_UNUSED ((uint8)0xFFU)
- /**
- * @brief The definition represent for Message buffer index which not assigned for any Hw Object
- */
- #define CAN_HWOBJ_UNMAPPED ((Can_HwHandleType)0xFFFFU)
- /**
- * @brief The definition represent for number of ECUC partition configured.
- */
- #define CAN_MAX_PARTITIONS 1U
- /**
- * @brief Number Of Hw Message Buffer support
- */
- #define CAN_HWMB_COUNT ((uint8)32U)
- /**
- * @brief The definition of TimeStamp Enable Support for Hw Objects
- */
- #define CAN_TIMESTAMP_ENABLE (STD_OFF)
- /**
- * @brief The definition used for guarding GetCoreID/Multicore
- */
- #define CAN_MULTICORE_ENABLED (STD_OFF)
- /**
- * @brief Define if global variables need to be placed in non-cache area or not
- */
- #define CAN_NO_CACHE_NEEDED (STD_OFF)
- /**
- * @brief Enable/Disable Development Error Detection and Notification
- */
- #define CAN_DEV_ERROR_DETECT (STD_OFF)
- /**
- * @brief Enable/Disable support Can_GetVersionInfo API
- */
- #define CAN_VERSION_INFO_API (STD_ON)
- /**
- * @brief Enable/Disable support Can_SetBaudrate API
- */
- #define CAN_SET_BAUDRATE_API (STD_ON)
- /**
- * @brief Enable/Disable support Can_AbortMb API
- */
- #define CAN_ABORT_MB_API (STD_ON)
- /**
- * @brief Enable/Disable LPdu Callout Function
- */
- #define CAN_LPDU_CALLOUT_FUNC_ENABLE (STD_OFF)
- /**
- * @brief Enable/Disable Extended Range of Can Hw Object
- */
- #define CAN_MBCOUNTEXTENSION (STD_OFF)
- /**
- * @brief Instance of the Can Hw unit
- */
- #define CAN_INSTANCE ((uint8)0U)
- /**
- * @brief Enable/Disable support Dual Clock Mode
- */
- #define CAN_DUAL_CLOCK_MODE (STD_OFF)
- /**
- * @brief Enable/Disable support Listen Only Mode
- */
- #define CAN_LISTEN_ONLY_MODE (STD_OFF)
- /**
- * @brief Enable/Disable LPdu Receive callout function support
- */
- #define CAN_LPDU_CALLOUT_SUPPORT (STD_OFF)
- #define CAN_LPDU_CALLOUT_FUNC_CALLED
- /**
- * @brief Symbolic Name generated for CanMainFunctionRWPeriods
- */
- #define CanMainFunctionRWPeriods_0 0U
- /**
- * @brief Period for cyclic call of Main Function Read/Write
- */
- #define CAN_MAINFUNCTION_MULTIPLE_WRITE (STD_OFF)
- #define CAN_MAINFUNCTION_MULTIPLE_READ (STD_OFF)
- #define CAN_MAINFUNCTION_READ_PERIOD (0.001F)
- #define CAN_MAINFUNCTION_WRITE_PERIOD (0.001F)
- /**
- * @brief Period for cyclic call of Main Function Mode
- */
- #define CAN_MAINFUNCTION_MODE_PERIOD (0.001F)
- /**
- * @brief Period for cyclic call of Main Function Bus Off
- */
- #define CAN_MAINFUNCTION_BUSOFF_PERIOD (0.001F)
- /**
- * @brief Supporting Pretended Networking
- */
- #define CAN_PUBLIC_ICOM_SUPPORT (STD_ON)
- /**
- * @brief Number Of Can Controller Config
- */
- #define CAN_CONTROLLER_CONFIG_COUNT (2U)
- /**
- * @brief Number Of HardwareObject Config
- */
- #define CAN_HWOBJECT_CONFIG_COUNT ((Can_HwHandleType)4U)
- /**
- * @brief Symbolic Name generated for Can Controller
- */
- #define CanController_0 ((uint8)0U)
- #define CanController_1 ((uint8)1U)
- /**
- * @brief Symbolic Name generated for Can HardwareObject
- */
- #define Can0HardwareObject_RX ((Can_HwHandleType)0U)
- #define Can1HardwareObject_RX ((Can_HwHandleType)1U)
- #define Can0HardwareObject_TX ((Can_HwHandleType)2U)
- #define Can1HardwareObject_TX ((Can_HwHandleType)3U)
- /**
- * @brief Enable/Disable support Can_CheckWakeup API
- */
- #define CAN_CHECK_WAKEUP_API (STD_OFF)
- /**
- * @brief Can Tx Polling support
- */
- #define CAN_TX_POLLING_SUPPORT (STD_ON)
- /**
- * @brief Can Rx Polling support
- */
- #define CAN_RX_POLLING_SUPPORT (STD_ON)
- /**
- * @brief Can Bus Off Polling support
- */
- #define CAN_BUSOFF_POLLING_SUPPORT (STD_ON)
- /**
- * @brief Can Wakeup Polling support
- */
- #define CAN_WAKEUP_POLLING_SUPPORT (STD_ON)
- /**
- * @brief Can Wakeup support
- */
- #define CAN_WAKEUP_SUPPORT (STD_OFF)
- /**
- * @brief Can Rx/Tx common interrupt support
- */
- /**
- * @brief The definition was represented for at least one Hw Object enabled trigger transmit.
- */
- #define CAN_TRIGGER_TRANSMIT_USED (STD_OFF)
- /**
- * @brief Can Enhanced RxFiFo enabling.
- */
- #define CAN_ENHANCED_FIFO_ENABLED (STD_OFF)
- #define CAN_CONFIG_EXT
- #ifdef __cplusplus
- }
- #endif
- /** @} */
- #endif /* _CAN_CFG_H_ */
|