FLEX-FORD-OBC-BM/Source/bsw/Common/v_def.h

1176 lines
54 KiB
C
Raw Permalink Normal View History

2026-03-19 11:49:16 +01:00
/* STARTSINGLE_OF_MULTIPLE */
/*****************************************************************************
| Project Name: V E C T O R - Common module type definition header
| File Name: v_def.h
|
| Description: Declares types and definitions common to all
| VECTOR CANbedded modules.
|
| Note:
| =====
| that some hardware dependent settings are included in this file.
| Never mix up files with same namings but intended for
| other hardware platforms.
|
|
|-----------------------------------------------------------------------------
| C O P Y R I G H T
|-----------------------------------------------------------------------------
| Copyright (c) 2025 by Vector Informatik GmbH. All rights reserved.
|
| This software is copyright protected and proprietary
| to Vector Informatik GmbH. Vector Informatik GmbH
| grants to you only those rights as set out in the
| license conditions. All other rights remain with
| Vector Informatik GmbH.
|
|-----------------------------------------------------------------------------
| R E V I S I O N H I S T O R Y
|-----------------------------------------------------------------------------
| Date Ver Author Description
| --------- ---- ------ --------------------------------------------------
| 13-Mar-01 1.00 Hp Creation
| 04-Apr-01 1.01 Ht general rework
| 05-Apr-01 1.02 dH added Fujitsu FFMC16LX
| 05-Apr-01 1.03 HH added COMP_GHS_V85X
| 11-Apr-01 1.04 Et added LIN components
| 23-Apr-01 1.05 Si corrections for C_COMP_IAR_78K0
| lint comments added
| 29-Mai-01 1.06 Pl added ARM7 STMICRO
| 22-Jun-01 1.07 Ht added ANSI CANoe
| 03-Jul-01 Wr added C_COMP_OKI_CC665S
| 12-Jul-01 Et support combination of "old" CAN driver and "new" LIN driver
| 13-Jul-01 1.08 Ht error check for supported systems and switches added
| 16-Jul-01 dH added C_COMP_HEW_SH7055 / C_COMP_HEW_H8S
| 17-Aug-01 1.09 Et deleted keywords __near and __far for C_COMP_FUJITSU_8L
| 21-Aug-01 1.10 Ht/Vg added C_COMP_DIABDATA_PPC
| 25-Aug-01 1.11 Ml added #pragma MESSAGE DISABLE C1106 for Hiware HC08 compiler
| 06-Sep-01 1.12 Ht/Vg added C_COMP_GNU_ST9
| 11-Sep-01 1.13 Fr added C_COMP_ANSI_TMS_470
| 21-Sep-01 1.14 Pl added C_COMP_MCP18_PIC_INT
| 25-Sep-01 1.15 Vg added C_COMP_MICROTEC_MC376 and C_COMP_TASKING_MC376
| 28-Sep-01 1.16 Hp added C_COMP_GHS_TX39 and C_COMP_TOSHIBA_TLC900
| 23-Oct-01 1.17 Js added C_COMP_DIABDATA_MCORE
| 23-Oct-01 1.18 dH changed ..._SH705X to ..._SH705X
| 05-Nov-01 1.19 dH added M32R
| 19-Nov-01 1.20 Ht added C_COMP_xxx_XC16X
| 22-Nov-01 1.21 dH added C_COMP_IAR_H8S
| 11-Nov-01 1.22 Fz added C_COMP_MITSUBISHI_M32C/C_COMP_NEC_V85X
| 19-Dec-01 1.23 dH changed Fujitsu FFMC16LX
| 28-Jan-02 1.24 Ml 00002160: added paging keywords for HC12
| 31-Jan-02 1.25 Pl added C_COMP_KEIL_T89C51C
| 07-Mar-02 1.26 Vg/Rn added C_COMP_METROWERKS_PPC
| 27-Mar-02 1.27 Fz added C_COMP_IAR_V85X
| 09-Apr-02 1.28 Ht addaption to LI 1.3
| 02-Apr-02 1.29 Ml added C_COMP_METROWERKS_MGT5100
| added C_COMP_METROWERKS_DSP56F80X
| 13-May-02 1.30 LS MEMORY_HUGE added for C_COMP_TASKING_C16X
| 21-May-02 1.31 Ml canbittype for HC12 is now unsigned short
| 10-Jul-02 1.32 Ml canbittype for HC12 changed to unsigned char
| 16-Jul-02 1.33a Fz canbittype for V850 changed to unsigend int
| _c_bits32 added
| 31-Jul-02 Ts added C_COMP_HEW_SH70XX_HCAN2
| 31-Jul-02 1.33 Ht _c_bits16 added for C_CPUTYPE_BITORDER_MSB2LSB
| 31-Jul-02 1.34 Si pc-lint comments for 78K0 changed
| 02-Aug-02 1.33 Sf 00003192: Memory qualifier for M16C changed
| 08-Aug-02 1.34 Zw ESCAN00003456 added STmicro ST7 (beCAN) / Hiware
| 18-Aug-02 Pet ESCAN00003530 delete keyword near for HC08
| 06-Sep-02 1.35 Zw 00003688: MEMORY_NEAR defined to nothing for ST7_beCAN
| 09-Sep-02 1.36 Bs controller OKI MSM9225B (C_COMP_GHS_ARM7TM) added (needed for FBL)
| 10-Sep-02 1.37 Ds added C_COMP_COSMIC_ST7_BECAN
| and C_COMP_HIWARE_ST7_BECAN
| 13-Sep-02 1.38 Ht rework the module
| 17-Sep-02 1.39 Stu add the C_COMP_NEC_78K0
| 17-Sep-02 1.40 Vg ESCAN00003614 added __declspec() to place const
| variables into ROM for Metrowerks
| 18-Sep-02 1.41 Stu added C_COMP_NEC_78K0
| 07-Oct-02 1.42 dH added C_COMP_GAIO_SH705X
| 11-Oct-02 1.43 dH added C_COMP_FUJITSU_16LX_HL
| 14-Oct-02 1.44 Ml changed vbittype for MGT5100 into unsigned short
| 14-Oct-02 1.45 Stu changed vbittype for 78k0 into unsigned char
| 18-Oct-02 1.46 Pl added C_COMP_TASKING_ST10_CCAN
| added C_COMP_ARM_ST30_CCAN
| 30-Oct-02 1.47 Ml added C_COMP_ARM_470 and C_COMP_TI_470
| 06-Nov-02 1.48 Wr added C_COMP_NATIONAL_CR16
| 07-Nov-02 1.49 RAP added C_COMP_DIABDATA_MPC823
| RAP added C_COMP_GHS_STARFISH
| 14-Nov-02 1.50 An corrected the banking defines for Cosmic and Hiware
| 27-Nov-02 1.50 Pl added C_COMP_FUJITSU_FR50
| 02-Dec-02 1.51 Si MEMORY_NEAR changed for C_COMP_NEC_78K0
| 11-Dec-02 Pet added C_COMP_IAR_CEVF
| 18-Dec-02 1.52 Si added C_COMP_NEC_78K0
| 04-Jan-03 Et added memory qualifier for C_COMP_IAR_CEVF
| 22-Jan-03 Ap added C_COMP_ARM_EASYCAN
| 28-Jan-03 1.53 Pl added C_COMP_KEIL_ST10_CCAN
| delete C_COMP_ARM_ARM7STM
| 03-Apr-04 1.54 To added C_COMP_METROWERKS_DSP5683X
| ZW canbittype for CEVG is now unsigned char
| Hp Add MEMORY_HUGE for XC16x
| Fz added C_COMP_IAR_CR16 and C_COMP_NATIONAL_CR16 changed
| Ml added C_COMP_TI_TMS320
| 2003-05-13 1.60 Ht support V_MEMROM0
| 2003-05-14 1.61 Tri added V_MEMROM0 definition for MGT5100
| 2003-05-15 1.62 Pl added C_COMP_FUJITSU_FR60_CCAN
| 2003-05-20 1.63 WM added near/far memory defines for C_COMP_HIWARE_12
| 2003-06-11 1.64 CB MEMORY_HUGE added for C_COMP_TASKING_ST10_CCAN
| 2003-06-18 1.65 Bir added C_COMP_MICROCHIP_DSPIC30
| 2003-07-08 1.66 Bir no local lint command
| 2003-08-15 1.67 Rr changed MEMORY_FAR for M32C
| 2003-08-18 1.68 BWR added support for MAC710X
| 2003-09-02 1.69 BWR added support for MC332 with external Intel 82527
| 2003-09-09 1.70 Bir added C_COMP_TASKING_TRICORE_MULTICAN & C_COMP_GNU_TRICORE_MULTICAN
| 2003-10-30 1.71 RAP added C_COMP_MICROCHIP_PIC18
| 2003-11-13 2.00 Ht memory qualifier changed to new definition
| 2004-01-08 2.01 BWR added support for MPC55XX
| 2004-01-16 2.02 Ml added cast macros
| 2004-01-22 2.03 dH added C_COMP_HEW_SH2_HCAN1 and C_COMP_HEW_H8S_HCAN1
| 2004-02-13 2.04 WM Added banking support for C_COMP_IAR_12
| 2004-02-18 2.05 RAP Update for C_COMP_MICROCHIP_PIC18
| 2004-03-12 2.06 Ml changed canbittype for TMS470
| 2004-03-13 2.07 dH added C_COMP_HEW_H8TINY
| 2004-04-20 2.08 dH added C_COMP_HEW_H8SX_HCAN1
| 2004-04-08 2.09 Rna Memoryclassifier V_MEMROM0 and MEMORY_ROM for Metrowerks PPC changed
| 2004-05-14 2.10 Ms added Release Version define
| added include for vstdlib.h
| 2004-05-18 2.11 Ml changed plattform check to work in any case (NO_ELSE)
| Ml added V_NULL
| 2004-06-17 2.12 Ms changed C_COMP_SUPPORTED_PLATTFORM -> V_COMP_SUPPORTED_PLATTFORM
| 2004-06-26 2.13 RAP added C_COMP_GHS_SJA2020
| 2004-06-30 2.14 Ml added C_COMP_COSMIC_MCS12X_MSCAN12
| 2004-08-17 2.15 Pl Memoryclassifier V_MEMROM0/1/2 for the C_COMP_TOSHIBA_TLC900 changed
| 2004-08-31 2.16 Ml changed bitfieldtype for MCS12X
| 2004-09-08 2.17 RAP changed vbittype for C_COMP_GHS_SJA2020
| 2004-09-12 2.18 BWR added C_COMP_GHS_PPC
| 2004-09-20 2.19 Ces added C_COMP_GHS_ST30_CCAN
| 2004-09-27 2.20 Ms -ESCAN00009636: Naming Conventions
| 2004-09-28 2.21 Bir changed bitfieldtype for TriCore MultiCAN
| 2004-09-30 2.22 Ht Review
| 2004-10-06 2.23 Ml Added C_COMP_MTRWRKS_MCS12X_MSCAN12
| 2004-10-27 2.24 Ml changed V_ENABLE_VSTDLIB -> VGEN_ENABLE_VSTDLIB
| 2004-10-29 2.25 Pl Added C_COMP_GHS_TX19
| 2004-11-05 2.26 Ml Added C_COMP_COSMIC_MCS12X_MSCAN12 and C_COMP_COSMIC_MCS12_MSCAN12
| 2004-11-08 2.27 Et support compiler option -fNP (C_COMP_MITSUBISHI_M32C)
| 2004-11-10 2.28 Ml Added compatibility for VStdLib
| 2004-11-15 2.29 dH new memoryclassifier for C_COMP_FUJITSU_16LX/C_COMP_FUJITSU_16LX_HL
| 2004-11-15 2.30 Ms ESCAN00010228: Support C_COMP specific V_NULL definition
| 2004-11-19 2.31 Ml bitfields for TMS470 are now int
| Ths ESCAN00010435: Due to compatibility V_DEF_VERSION added
| 2005-01-31 2.32 Ml Added C_COMP_IAR_TMS430_SCCHECC
| 2005-02-09 2.33 Ht support V_NULL for C_COMP_KEIL_C5X5C
| 2005-03-10 2.34 Ces Memory qualifier MEMORY_SADDR and MEMORY_NEAR for IAR 78K0 compiler
| 2005-03-22 2.35 Pl support V_NULL for C_COMP_TASKING_ST10_CCAN
| 2005-03-22 2.36 Ces support C_COMP_IAR_78K0_AFCAN
| support V_NULL for Tasking C16x/ST10, Mitsubishi M16C, IAR 78K0,
| Metrowerks DSP5683x and GreenHills ST30
| 2005-03-24 2.37 Krt Set cast macros for M32C controller, to avoid compiler warnings
| Bir support V_NULL for C_COMP_TASKING_C16X, C_COMP_TASKING_XC16X, C_COMP_GNU_TRICORE_MULTICAN
| Ces MEMORY_NEAR corrections for IAR 78K0 AFCAN
| 2005-06-17 2.38 Ht remove duplicated compiler switch
| dH added C_COMP_HEW_SH2_RCAN
| Pl added C_COMP_GNU_ST10_CCAN
| Ds Added support for ADI Blackfin (BF5xx)
| Ml Added QNX platforms
| Fz MEMORY_HUGE changed for V85X IAR compiler in case tiny memory model
| Ht default definition of NULL
| 2005-06-20 2.39 BWR Added support for MAC7100 IAR compiler
| dH changed bittype for C_COMP_HEW_SH2_RCAN to unsigned char
| 2005-08-24 2.40 Rna position for NULL definitions moved to prevent redefinitions for HC12 cosmic (string.h)
| 2005-10-05 2.41 Ces adaptions for IAR compiler M16C
| 2005-10-14 2.42 Fn added C_COMP_IAR_AVR_CANARY
| Ces corrections for C_COMP_IAR_M16C
| Ces added C_COMP_IAR_M32C
| Ces added V_MEMROM3 for C_COMP_MITSUBISHI_M16C
| 2005-10-25 2.43 Ces IAR M32C: MEMORY_ROM is always far const
| 2005-12-02 2.44 dH added C_COMP_HEW_H8S_RCAN
| Fn added C_COMP_MICROCHIP_PIC18 for V_NULL
| Ht V_COMP_SUPPORTED_PLATTFORM changed to V_DEF_SUPPORTED_PLATFORM
| Pl added C_COMP_MATSUSHITA_MN103S_CCAN
| Svh added C_COMP_TOSHIBA_TLCS870
| Ces changed compiler version check of IAR M16C and IAR M32C
| 2005-12-20 2.45 Ml Added C_COMP_METROWERKS_MGT5X00
| Ces changed MEMORY_NORMAL for IAR M16C and IAR M32C
| 2006-01-27 2.46 Ml ESCAN00014816: Added cast defines for MCS12x with comsic
| Ml 00015045: Added support for constants in global pages
| Ml Added C_COMP_MTRWRKS_MPC5X00
| Svh Added C_COMP_ARM_ADUC703X
| 2006-02-08 2.47 Pl Added C_COMP_IAR_ML67Q25XX_CCAN
| 2006-02-09 Ml Changed check for XGate compiler
| 2006-02-10 2.48 Ces Added #define V_NULL for MITSUBISHI M32C and MITSUBISHI M32R
| 2006-02-20 2.49 Ml Changes for dependency builder to accept XGate compiler specific preprocessor
| 2006-03-28 2.50 Ard Added C_COMP_ARM_OMAP
| Pl Added C_COMP_TOSHIBA_TLCS900
| Svh Added C_COMP_HPINFOTECH_AVR_CANARY
| 2006-04-27 2.51 dH added C_COMP_MATSUSHITA_MN101E_CCAN
| Ap added C_COMP_HITECH_PIC18
| Fn modifications for C_COMP_MICROCHIP_PIC18
| Ces Added C_COMP_GHS_TX49 and C_COMP_NEC_78K0_AFCAN
| 2006-05-02 2.52 Ces Change MEMORY_NEAR and MEMORY_SADDR for C_COMP_NEC_78K0_AFCAN
| Svh Added C_COMP_IAR_ADUC703X
| 2006-05-19 2.53 Ces Change MEMORY_NEAR for C_COMP_NEC_78K0_AFCAN
| Ces Change define V_NULL for C_COMP_MITSUBISHI_M32R
| 2006-08-03 2.54 Her Added type cast for C_COMP_: COSMIC_08/NEC_78K0_AFCAN/COSMIC_MCS12X_MSCAN12
| Fn Added C_COMP_MICROCHIP_DSPIC33
| Ap Added C_COMP_MTRWRKS_MCS08_MSCAN and C_COMP_COSMIC_MCS08_MSCAN
| BWR Added C_COMP_GAIO_MPC55XX
| Pl Added C_COMP_FUJITSU_16FX_CCAN
| 2006-08-04 2.55 Ces Added C_COMP_GHS_LPC2XXX
| 2006-08-09 2.56 Svh Added V_MEMRAM1_NEAR for C_COMP_NEC_78K0
| 2006-08-13 2.57 Ml Changed bitfield type for C_COMP_COSMIC_MCS08_MSCAN
| Pl Added C_COMP_ARM_AVCCORE1_CCAN
| 2006-08-30 2.58 Wr Added C_COMP_GNU_VR55XX_AFCAN
| 2.58 Ml Added C_COMP_DIABDATA_MPC5X00_MSCAN
| 2006-09-22 2.59 swk Added C_COMP_KEIL_ST10_CCAN
| Ml Changed bitfield type for C_COMP_COSMIC_MCS08_MSCAN back to vuint8
| 2006-10-23 2.60 BWR Added C_COMP_GNU_MICROBLAZE_LOGICORECAN
| Ard Added C_COMP_GHS_MAC710X
| 2006-10-23 2.61 Bir Added C_COMP_TASKING_XC2000_MULTICAN
| 2006-11-14 Ml Added function near/far qualifier for platform MCS12X
| 2006-11-20 BWR Added C_COMP_METROWERKS_MPC55XX_FLEXCAN
| Added C_COMP_DIABDATA_MCORE_FLEXCAN
| 2006-11-20 Bir changes for C_COMP_TASKING_XC2000_MULTICAN
| 2006-12-14 Pl Added C_COMP_TI_TMS470_DCAN
| 2007-01-10 Bir changes for C_COMP_TASKING_XC2000_MULTICAN
| 2007-01-11 Ces Added C_COMP_IAR_MCS12_MSCAN12
| 2007-02-01 2.62 Svh Added C_COMP_FUJITSU_8FX
| 2007-02-19 2.63 Ces Added C_COMP_GHS_SAF7780_PELICAN
| Ces Changed MEMORY_NORMAL for C_COMP_MITSUBISHI_M32C
| 2007-06-21 2.64 Ces Changed MEMORY_NORMAL for C_COMP_MITSUBISHI_M16C
| Fn Added C_COMP_IAR_R32C
| BWR Added C_COMP_DIABDATA_MCF_FLEXCAN
| Awh Added C_COMP_KEIL_XC16X
| Ou Changed vbittype for C_COMP_MTRWRKS_MCS12X_MSCAN12 to unsigned char, additionally disabled warning C1106 for this compiler (see #pragma MESSAGE DISABLE C1106)
| 2007-09-07 2.65 Ou Changed back vbittype for C_COMP_MTRWRKS_MCS12X_MSCAN12 to unsigned int
| Ard Added C_COMP_GHS_TMS470
| 2007-09-28 2.66 Fn Added C_COMP_COSMIC_ST79_BECAN3
| Ces Added V_MEMROMx_NEAR and V_MEMROMx_FAR for C_COMP_IAR_M16C
| Added V_MEMROMx_NEAR and V_MEMROMx_FAR for C_COMP_IAR_M32C
| Use predefined compiler macros __VX__ and _C166 for C_COMP_TASKING_XC2000_MULTICAN
| 2007-10-24 2.67 Fn Changed C_COMP_COSMIC_ST79_BECAN3 to C_COMP_COSMIC_STM8A_BECAN3
| Fn Added C_COMP_RENESAS_R32C
| 2007-11-09 2.68 Wr Added C_COMP_KEIL_SLC8051
| 2007-11-14 2.69 Svh Added C_COMP_KEIL_ADUC703X
| 2007-11-27 2.70 Fn Adapted rom qualifier for: C_COMP_RENESAS_R32C, C_COMP_IAR_R32C and C_COMP_MICROCHIP_DSPIC33
| Ml Added memory mapping defines for C_COMP_MTRWRKS_MCS12X_MSCAN12
| 2007-12-03 2.71 Ard Added C_COMP_MICROSOFT_TMS320ARM
| 2008-01-14 2.72 Ou Added memory mapping defines for C_COMP_MTRWRKS_MCS08_MSCAN and C_COMP_COSMIC_MCS08_MSCAN
| Ces Added C_COMP_GHS_MPC55XX and C_COMP_GHS_MPC55XX_FLEXCAN2
| Added C_COMP_GAIO_MPC55XX_FLEXCAN2
| Added C_COMP_DIABDATA_MPC55XX_FLEXCAN2
| Changed memory qualifier for IAR M16C and IAR M32C
| 2008-02-19 2.73 Ces Corrected V_NULL for DIABDATA_MPC55XX
| 2008-03-05 2.74 Pl Added C_COMP_GNU_NIOS_DCAN
| 2008-03-12 Fn Added V_MEMROM2_FAR and V_MEMROM2_NEAR for C_COMP_IAR_AVR_CANARY
| 2008-04-18 Ap Added C_COMP_GNU_AVR_CANARY
| 2008-05-05 2.75 Bir Possibility to change V_MEMROM2 for XC2000 (user config)
| 2008-05-05 2.76 Ou Change the behavior for V_MEMROM3 on MCS12X (relevant just for Cosmic compiler, global constants feature)
| 2008-05-06 2.77 Ces Changed V_MEMRAM2_FAR for IAR compiler M16C/R8C
| Added P_MEM_ROM for IAR compiler M16C
| Ap Added C_COMP_IAR_78K0R
| 2008-07-24 2.78 Ht Memory qualifier for C_COMP_COSMIC_STM8A_BECAN3 added
| 2008-08-27 2.79 Ces Adapt memory qualifier for C_COMP_MITSUBISHI_M16C and C_COMP_MITSUBISHI_M32C
| 2008-09-18 2.80 Ard Added C_COMP_QCC_TMS320ARM
| 2008-10-15 2.81 Bir Added C_COMP_GHS_TRICORE_MULTICAN
| BWR Adapt memory qualifier for C_COMP_GNU_MPC5X00_MSCAN
| 2008-11-14 2.82 Pl Added C_COMP_GNU_MB86R0X_CCAN
| Ou V_MEMROMx have the default behavior for C_COMP_MICROCHIP_DSPIC33
| 2008-11-21 2.83 Ces Added C_COMP_GNU_IMX_FLEXCAN2
| Added V_MEMROM2 for C_COMP_MITSUBISHI_M32C
| 2009-01-19 2.84 Ou Change the behavior of data pointer buffers in order to meet the global data expectations in case of C_COMP_COSMIC_MCS12X_MSCAN12
| Change the default behavior for V_MEMRAM1_FAR and V_MEMRAM3_FAR in case of C_COMP_COSMIC_MCS12X_MSCAN12
| Tvi Added C_COMP_IAR_M16C_RCAN2 and C_COMP_RENESAS_M16C_RCAN2
| 2009-01-23 2.85 Ou Adjust the behavior of V_MEMRAM1_FAR and V_MEMRAM3_FAR in case of C_COMP_COSMIC_MCS12X_MSCAN12 in order to have an unified behavior
| 2009-01-29 2.86 Pl For the TI_TMS470_DCAN changed vuint32 from unsigned long to unsigned int and vsint32 int from signed long to signed int
| Added C_COMP_GNU_ST30_CCAN
| 2009-02-18 Ou Added C_COMP_MTRWRKS_MPC5X00_MSCAN
| 2009-03-19 2.87 Kk Added C_COMP_GAIO_SH2_RCAN
| Pl Some V_MEMROM and V_MEMRAM defines for the C_COMP_FUJITSU_16FX_CCAN added ( only in the case VGEN_ENABLE_CANFBL is defined )
| 2009-03-25 2.88 Aj Added C_COMP_ARM_TCC800X_CCAN
| 2009-07-08 2.89 Bir Added Compiler abstraction like ASR
| Ou Added C_COMP_KEIL_PSOC3_CANMODULE3
| Ces Added C_COMP_METROWERKS_MPC55XX and C_COMP_METROWERKS_MPC55XX_FLEXCAN2
| Pl For the TI_TMS470_DCAN changed back vuint32 from unsigned int to unsigned long and vsint32 from signed int to signed long
| Reason is to be compatible with TI_TMS470 and with Platform_Types.h
| 2009-07-08 2.90 Bir change Compiler abstraction "V_DEF_P2SFR_CAN"
| Ou Rework the V_MEMROMx and V_MEMRAMx for C_COMP_KEIL_PSOC3_CANMODULE3
| Seg Added C_COMP_ARM_TMS470_DCAN
| Ou Added C_COMP_QCC_MPC5X00_MSCAN
| 2009-09-03 2.91 Bir Added C_COMP_IAR_AVR32_CANIF
| Kk Added C_COMP_RENESAS_SH4_RCAN
| 2009-09-04 2.92 Tvi Added C_COMP_GHS_V85X_FCN
| 2009-10-06 2.93 Tvi Added C_COMP_GHS_SH4_RCAN2
| 2009-10-16 2.94 Ou,Ht Fixed V_NULL for C_COMP_KEIL_PSOC3_CANMODULE3, C_COMP_KEIL_C5X5C and
| C_COMP_KEIL_SLC8051
| 2009-10-27 2.95 Ou Map the reentrant keyword to C_API_3 in case of C_COMP_KEIL_PSOC3_CANMODULE3
| 2009-10-30 2.96 Rna Support C_COMP_ARM_STM32_BXCAN
| 2009-11-10 2.97 Ht ESCAN00039030: Support V_MEMRAM2_FAR for XC2000 Tasking
| Seg Support C_COMP_GNU_TX49
| 2009-11-20 2.98 Tvi ESCAN00039020: Renesas: support "-fansi" option
| Ou Fixed the standard memory qualifier definitions (vuintx/ vsintx) in combination with CAN-Driver for ASR
| 2009-11-23 2.98.01 Ht correct COMMON_VDEF_RELEASE_VERSION
| 2010-02-03 2.99 Tvi ESCAN00039371: [M16C/R8C with RENESAS]: Warnings about incompatible pointer types for Compiler versions >= V5.45
| Ht Support C_COMP_KEIL_SJA2020
| 2010-02-03 3.00.00 Ht change version number
| 2010-03-02 3.01.00 Ou Rework the V_MEMROMx and V_MEMRAMx for C_COMP_IAR_78K0R
| vadaba Added V_MEMROM0 to place const variables into ROM for C_COMP_METROWERKS_MPC55XX_FLEXCAN2
| 2010-03-10 3.02.00 Tvi ESCAN00041468: [SH4Rcan2 w. GHS] "-Ospace" leads to a runtime exception due to incorrect bitfield access
| Kk Added C_COMP_QCC_SH4_RCAN
| Kk Added C_COMP_IAR_SH2_RCAN
| 2010-05-12 3.03.00 Pl Added C_COMP_QCC_MB86R0X_CCAN
| Ces Support C_COMP_GNU_MPC55XX and C_COMP_GNU_MPC55XX_FLEXCAN2
| 2010-06-09 3.04.00 Tvi Added C_COMP_NEC_78K0R
| 2010-07-01 3.05.00 Ht Added support of MEMORY_HUGE for C_COMP_KEIL_C16X
| 2010-07-12 3.06.00 Ces Support C_COMP_GHS_IMX_FLEXCAN2
| Tvi ESCAN00044064: [R32C with RENESAS]: Warnings about incompatible pointer types for Compiler versions >= V1.02 r00
| 2010-09-06 3.07.00 Ces ESCAN00044378: added check for V_NULL definiton if default is not used
| Tvi Misra warning due to wrong characters in history removed
| Kk Added C_COMP_ARM_TRITON_AFCAN
| Ap Added C_PROCESSOR_R8C_XX to distinguish different derivatives
| 2010-10-01 3.08.00 Tvi Added C_COMP_RENESAS_V85X_FCN
| 2010-10-17 3.09.00 Bir Added C_COMP_KEIL_XC800
| 2010-12-13 3.10.00 Tvi Added C_COMP_RENESAS_78K0R
| 2011-01-28 3.11.00 Ht M16C Compiler switch for Organi added
| Added C_COMP_GHS_SH2_RCAN
| Tvi Changed V_MEMROM1 for C_COMP_RENESAS_78K0R when memory model MEDIUM is used
| Rna Support TMS320(canbedded) with Geny
| 2011-02-25 3.12.00 Ces Added C_COMP_ARM_TX03_TXCAN
| Pl Added C_COMP_FUJITSU_FR81_CCAN
| Tkr Added C_COMP_GHS_SH2_RCAN2A
| 2011-04-08 3.13.00 Ou Added C_COMP_IAR_MCS12X_MSCAN12
| Tvi Support C_PROCESSOR_R8C again (removed in 3.07.00)
| Aj Added C_COMP_RENESAS_V85X_AFCAN
| 2011-05-20 3.14.00 Tvi Added C_COMP_IAR_V85X_FCN
| Was Added C_COMP_TI_TMS320C64X_HECCSCC
| 2011-05-31 3.15.00 Aj Added C_COMP_GNU_SH2_RCAN
| 2011-07-11 3.16.00 Ht replace V_NONE with V_STORAGE_NONE in case of V_CPU_TMS320ARM
| 2011-08-08 3.17.00 Pl Added C_COMP_GHS_FCR4_CCAN
| Eta Added C_COMP_IAR_ADUCM33X
| 2011-09-26 3.18.00 Aj Added C_COMP_HEW_SH2_RCAN2
| 2011-11-24 3.19.00 Aj Added C_COMP_ARM_AVNA_CCAN
| 2012-01-12 3.20.00 Rse Added C_COMP_QCC_IMX_FLEXCAN2, C_COMP_GNU_IMX_FLEXCAN3, C_COMP_QCC_IMX_FLEXCAN3, C_COMP_GHS_IMX_FLEXCAN3
| 2012-02-15 3.21.00 Aj Added C_COMP_KEIL_FM3_CCAN
| Ht Header changed
| remove C_COMP_MCP18_PIC_INT (old driver version)
| Tvi Added C_COMP_RENESAS_SH4_RCAN2
| 2012-02-24 3.22.00 Tvi Change VEMROM2_NEAR to __near for C_COMP_IAR_78K0R
| 2012-03-23 3.23.00 Ht Add C_COMP_IAR_RL78_AFCAN
| 2012-03-30 3.24.00 bir Add CAN_STATIC define for AutoSar4 compatible LL
| 2012-04-18 3.25.00 Seu Added C_COMP_TASKING_XC800_MULTICAN
| 2012-06-18 3.26.00 Aj Set vbittype=char for Sh4/Rcan2 in order to support littleendian
| 2012-08-01 3.27.00 Was Added C_COMP_KEIL_XC2000_MULTICAN
| 2012-08-22 3.28.00 Pl Added C_COMP_KEIL_SLC8051_CCAN, integration of C_COMP_KEIL_ switches
| QPs Added C_COMP_RENESAS_RL78_AFCAN
| 2012-09-20 3.29.00 Rse Added C_COMP_GNU_MPC5700_MCAN
| 2012-09-24 3.30.00 Tkr Added C_COMP_GHS_RH850_RSCAN, C_COMP_HEW_SH2_RSCAN and C_COMP_GHS_SH2_RSCAN
| 2012-10-08 3.30.01 Was ESCAN00061961: Compiler error: Using of V_MEMROM2_FAR and V_MEMROM2_NEAR leads to an compile error (Keil compiler/ XC2000)
| 2012-11-06 3.31.00 Ht ESCAN00062762: Remove function memory qualifier for 78K0R and RL78
| 2012-11-08 3.32.00 Pl Added C_COMP_TI_TMS320ARM_DCAN
| 2012-12-12 3.33.00 Pl Added C_COMP_QCC_TMS320ARM_DCAN
| 2012-12-18 3.34.00 Rna Added C_COMP_IAR_STM32_BXCAN
| Bmo Added C_COMP_KEIL_TLE986X
| 2013-03-06 3.35.00 Rse Added C_COMP_GHS_MPC5700_FLEXCAN3, C_COMP_DIABDATA_MPC5700_FLEXCAN3
| Rna VUINTx_CAST for STM8A with Cosmic added
| 2013-03-26 3.36.00 Tkr Added C_COMP_RENESAS_RL78_RSCAN
| Ht improve RL78 and 78K0R
| 2013-04-02 3.37.00 Was Added V_COMP_COSMIC_MCS12Z
| 2013-06-11 3.38.00 Ht Replace C_COMP_xxx_MPC5700_yyy with V_COMP_xxx_MPC5700
| Replace C_COMP_xxx_IMX_yyyy with V_COMP_xxx_IMX
| Replace C_COMP_GHS_RH850_RSCAN with V_COMP_GHS_RH850
| Replace canbittype by vbittype in this file -> no change of API
| Was Support IAR HCS12 Compiler Version 3.x
| 2013-06-21 3.38.01 Ht Remove comment
| 2013-07-02 3.39.00 Tkr Replace C_COMP_IAR_RL78_AFCAN with V_COMP_IAR_RL78
| Tkr merge and adapt RL78 and 78K0R memory qualifier definitions for IAR compiler
| Replace C_COMP_RENESAS_RL78_xxx with V_COMP_RENESAS_RL78
| 2013-08-20 3.40.00 Pl Added V_COMP_ARM_STA8088
| Tkr Added V_COMP_DIABDATA_RH850
| Rse Added V_COMP_GNU_VYBRID
| 2014-04-11 3.41.00 Rse Added V_COMP_GHS_VYBRID
| Was Added V_COMP_ARM_ZYNQ7000
| Rse Added V_COMP_MICROSOFT_IMX
| Rse Added V_COMP_GHS_IMX
| Rse Added V_COMP_ARM_VYBRID
| QPs Added C_COMP_GNU_STM32_BXCAN
| Rna Added V_COMP_DIAB_TRICORE
| 2014-04-29 3.42.00 Rse Added V_COMP_IAR_VYBRID
| Tkr Added V_COMP_IAR_RH850
| 2014-06-06 3.43.00 Zam Added V_COMP_GNU_TMS320ARM
| Was Added V_COMP_FREESCALE_MCS12Z
| 2014-07-25 3.44.00 Tkr Added V_COMP_RENESAS_RH850
| Uce Added V_COMP_RENESAS_RCARSH4
| 2014-09-03 3.45.00 Ap Added V_COMP_KEIL_ZSSC
| Ht adapt V_NULL definition for KEIL_FM3, KEIL_SJA2020, KEIL_ZSSC
| 2014-12-01 3.46.00 Pl Added V_COMP_GNU_ACCORDO2
| 2014-12-17 3.47.00 CEl Added V_COMP_ARM_RZ
| 2015-02-25 3.48.00 Her Added V_COMP_GHS_TRAVEO
| 2015-05-12 3.49.00 Eta Added V_COMP_KEIL_ADUCM33X
| 2015-06-11 3.50.00 Zam Added V_COMP_TI_TMS320
| 2015-09-30 3.51.00 Pl Added V_COMP_GHS_S32
| Tkr Added Renesas CC-RL compiler for RL78
| 2015-10-12 3.52.00 Eta Added V_COMP_GNU_SAM
| 2015-10-19 3.53.00 Bmo Added V_COMP_IAR_STM8A
| 2016-01-21 3.54.00 Aj Added V_COMP_KEIL_SAM
| Eta Added V_COMP_IAR_SAM
| 2016-03-21 3.55.00 Ht default definition of LOCAL_INLINE added
| Her Added V_COMP_GNU_SPC5800, V_COMP_GHS_SPC5800
| 2016-04-27 3.56.00 Was LOCAL_INLINE definition for MSCAN based platforms added
| 2016-04-27 3.57.00 Rse LOCAL_INLINE definition for MPC5700 with DIABDATA
| 2016-06-07 3.58.00 Hzo Added V_COMP_IAR_TMPR4XX
| 2016-07-01 3.59.00 Her Added V_COMP_DIABDATA_SPC5800
| Neb Added V_COMP_IAR_S32
| 2016-08-22 3.60.00 Neb Added V_COMP_GHS_SAM
| 2016-11-16 3.61.00 Tkr Added LOCAL_INLINE definition for RH850 and RL78
| 2016-12-21 3.62.00 Jan Added V_COMP_GNU_CSRATLAS7
| 2017-02-21 3.63.00 Rse Added V_COMP_GHS_TCC802X
| Ap Added V_COMP_KEIL_HVC4223
| 2017-05-08 3.64.00 Jgl Added V_COMP_QCC_INTEL64CPU and 64 Bit vuintx
| 2017-07-17 3.65.00 Ap Added V_COMP_GHS_SPC5800
| Bmo Added V_COMP_GNU_PSOC4, V_COMP_IAR_CC26X0
| 2017-08-08 3.65.01 Bmo Corrected version
| 2017-09-29 3.66.00 Aj Added V_COMP_ARM_TCC802X
| 2017-12-08 3.67.00 Ap Added C_COMP_IAR_TLE986X
| 2018-01-15 3.68.00 Rli Added V_COMP_GNU_S32
| Bmo Added V_COMP_IAR_RX
| 2018-02-28 3.69.00 Ap Added Microchip XC8 compiler support
| 2018-03-02 3.70.00 Rli LOCAL_INLINE definition for FlexCAN3 and FlexCAN2 based derivatives with GHS, GNU, IAR added
| 2018-08-17 3.71.00 Ht Added V_COMP_GNU_BCM8910X
| 2018-09-24 3.72.00 Hum Added V_COMP_IAR_TRAVEO2
| 2018-09-28 3.72.01 Hum Added ALM filter attribute for V_COMP_IAR_TRAVEO2
| 2019-03-04 3.73.00 Ap Added V_COMP_IAR_MKW35
| Hum Added LOCAL_INLINE definition for V_COMP_IAR_SAM
| 2019-03-04 3.74.00 Bns Added LOCAL_INLINE definition for TRICORE
| Jan Added V_COMP_GHS_RCARARM
| Jan Change LOCAL_INLINE definition for V_COMP_GHS_TRAVEO
| 2019-07-16 3.75.00 Ht Added V_COMP_GHS_TRAVEO2
| Hum Added V_COMP_TI_AWR1
| 2019-09-02 3.76.00 Bmo Added V_COMP_GHS_KEA
| 2019-11-27 3.77.00 Bmo Added V_COMP_ARM_TLE986X
| 2019-12-04 3.78.00 Pl Added V_COMP_GNU_TCC800X
| Ht replace C_COMP_ARM_TCC800X_CCAN with V_COMP_ARM_TCC800X
| 2019-12-20 3.79.00 Ht replace C_COMP_ARM_STM32_BXCAN with V_COMP_ARM_STM32
| replace C_COMP_IAR_STM32_BXCAN with V_COMP_IAR_STM32
| replace C_COMP_GNU_STM32_BXCAN with V_COMP_GNU_STM32
| 2020-01-22 3.80.00 Pl Added V_COMP_IAR_TRAVEO
| Ht Replace C_COMP_GNU_TRICORE_MULTICAN by V_COMP_GNU_TRICORE
| Replace C_COMP_TASKING_TRICORE_MULTICAN by V_COMP_TASKING_TRICORE
| Replace C_COMP_GHS_TRICORE_MULTICAN by V_COMP_GHS_TRICORE
| 2020-02-21 3.81.00 Ap Added V_COMP_GNU_AVR
| 2020-03-05 3.82.00 TMo Added V_COMP_CADENCE_GW5
| Ht Removed support for C_COMP_HIWARE_08, C_COMP_HIWARE_12, C_COMP_HIWARE_ST7, C_COMP_HIWARE_ST7_BECAN
| Ht Removed support for C_COMP_NEC_78K0_AFCAN, C_COMP_NEC_78K0, C_COMP_NEC_78K0R
| Ht Removed support for C_COMP_TOSHIBA_TLC900, C_COMP_TOSHIBA_TLCS900, C_COMP_TOSHIBA_TLCS870
| Ht Removed support for C_COMP_HITECH_PIC18
| 2020-03-11 3.83.00 Bmo Added V_COMP_IAR_PSOC4
| 2020-05-05 3.84.00 Ap Added V_COMP_NXP_DSP56800EX
| 2020-06-15 3.85.00 Pl Added V_COMP_GNU_TCC802X
| 2020-07-23 3.86.00 Ap Added V_COMP_MICROCHIP_SAM
| 2020-09-30 3.87.00 Naj Added V_COMP_TI_JACINTO7
| 2020-11-04 3.88.00 TMo Added V_COMP_ARM6_RCARARM
| TMo Added V_COMP_GNU_XMC4
| TMo Added V_COMP_GNU_TRAVEO2
| 2021-04-19 3.89.00 Ht Added V_COMP_TI_AWRGEN2
| Ap Added V_COMP_GNU_TLE986X
| Ap Added V_COMP_MICROCHIP_AVR
| Ap Added V_COMP_ARM6_TLE986X
| 2021-05-26 3.90.00 Ht Added V_COMP_IAR_IMX
| JDn Added V_COMP_LLVMDIAB_ZYNQ7000
| JDn Added V_COMP_GHS_ZYNQ7000
| JDn Added V_COMP_GNU_ZYNQ7000
| 2021-07-07 3.91.00 Ht Added V_COMP_IAR_TAYRONA
| Ht Added V_COMP_IAR_KW4
| Ht Added V_COMP_LLVMDIAB_AWRGEN2
| Ht Added V_COMP_GHS_JACINTO7
| Ht Replace C_COMP_TI_TMS320ARM_DCAN with V_COMP_TI_TMS320ARM
| 2021-10-06 3.92.00 Ht Added V_COMP_ARM6_BCM8910X
| Ht Added V_COMP_LLVMTI_JACINTO7
| 2022-03-11 3.93.00 Ht CANCORE-1117: Added V_COMP_LLVMTI_AWRGEN2
| Ht Added V_COMP_GNU_LINUXFORARM32
| Ht CANCORE-1125: Added V_COMP_ARM_ACCORDO2, V_COMP_ARM_ACCORDO2
| 2022-07-06 3.94.00 Ht CANCORE-1377: Added V_COMP_GNU_LPC54
| Ht CANCORE-1375: Added V_COMP_GHS_SAF85
| 2022-10-13 3.95.00 Ap CANCORE-1555: Added V_COMP_ARM6_S32
| 2022-11-17 3.96.00 Bmo Added V_COMP_IAR_MSPM0
| 2023-02-14 3.97.00 Ht CANCORE-1818: Added V_COMP_GHS_TCC70XX
| 2023-03-03 3.98.00 Ap Added V_COMP_LLVMTI_MSPM0
| 2023-03-31 4.00.00 Ht CANCORE-1848: Added V_COMP_IAR_ASX
| Ht Added V_COMP_TI_MSPM0
| Ht Improvements related to compiler for ARM platforms
| Ht Removed: C_COMP_IAR_78K0_AFCAN, C_COMP_IAR_78K0
| 2023-08-10 4.01.00 Ht Removed: C_COMP_COSMIC_08, C_COMP_COSMIC_ST7, C_COMP_COSMIC_ST7_BECAN
| Removed: C_COMP_GNU_ST9, C_COMP_FUJITSU_8FX, C_COMP_FUJITSU_8L
| Removed: C_COMP_MICROCHIP_DSPIC30, C_COMP_ARM_MAC710X, C_COMP_IAR_MAC710X, C_COMP_GHS_MAC710X
| Removed: C_COMP_IAR_CEVF, C_COMP_IAR_M32C, C_COMP_MITSUBISHI_M32C
| Removed: C_COMP_KEIL_C5X5C, C_COMP_KEIL_C16X, C_COMP_TASKING_C16X,
| Removed: C_COMP_MICROTEC_MC376, C_COMP_TASKING_MC376, C_COMP_GHS_ARM7TM
| Removed: C_COMP_MITSUBISHI_M32R, C_COMP_GAIO_M32R, C_COMP_OKI_CC665S
| Removed: C_COMP_GHS_CEVG, C_COMP_GHS_STARFISH, C_COMP_IAR_CR16, C_COMP_NATIONAL_CR16
| Removed: C_COMP_ARM_EASYCAN, C_COMP_MICROTEC_332_82527, C_COMP_DIABDATA_MPC823
| Removed: C_COMP_TI_OMAP, C_COMP_ARM_OMAP, C_COMP_HEW_H8TINY, C_COMP_FUJITSU_FR50
| Removed: C_COMP_ARM_ST30_CCAN, C_COMP_GHS_ST30_CCAN, C_COMP_GNU_ST30_CCAN
| Removed: C_COMP_FUJITSU_FR60_CCAN, C_COMP_HEW_SH70XX_HCAN2, C_COMP_QCC_SH70XX_HCAN2
| Removed: C_COMP_HEW_SH2_HCAN1, C_COMP_DIABDATA_MCF_FLEXCAN
| Removed: C_COMP_METROWERKS_MGT5100, C_COMP_METROWERKS_MGT5X00, C_COMP_HPINFOTECH_AVR_CANARY
| Removed: C_COMP_MTRWRKS_MPC5X00_MSCAN, C_COMP_MTRWRKS_MPC5X00, C_COMP_QCC_MGT5X00_MSCAN12
| Removed: C_COMP_GNU_VR55XX_AFCAN, C_COMP_KEIL_SJA2020, C_COMP_GHS_SJA2020
| Removed: C_COMP_METROWERKS_DSP56F80X, C_COMP_IAR_TMS430_SCCHECC, C_COMP_ARM_TRITON_AFCAN
| CANCORE-2110: Added V_COMP_ARM6_NCJ29D6
| Pwf Added V_COMP_ARM6_MSPM0
| 2023-09-15 4.02.00 Ht CANCORE-2179: Added V_COMP_LLVMTI_SITARA, V_COMP_LLVMDIAB_SITARA, V_COMP_TI_SITARA
| 2023-10-26 4.03.00 Ht CANCORE-2223: Added V_COMP_ARM6_RCARGEN4ARM
| 2023-11-30 4.04.00 Bmo LIN-988: Added V_COMP_ARM6_E53306
| 2024-01-10 4.05.00 Ht Added V_COMP_GNU_KW4
| CANCORE-2401: Added V_COMP_TI_TM4C
| 2024-03-12 4.06.00 Ht CANCORE-2520: Added V_COMP_QCC_QNXFORARM64
| 2024-05-22 4.07.00 Ht CANCORE-2616: Added V_COMP_GHS_QPF51
| CANCORE-2663: Added V_COMP_LLVMDIAB_S32
| 2024-06-25 4.07.01 Kja CANCORE-2765: Added V_MEMRAM2_NEAR as user definable for RL78+IAR compiler
| 2024-07-08 4.08.00 Ht CANCORE-2770: Added V_COMP_ARM6_VAYYAR720X
| Kja CANCORE-2800: Added V_MEMRAM1_NEAR as user definable for RL78+Renesas compiler
| 2024-12-04 4.09.00 Ht CANCORE-2959: Added V_COMP_IAR_PIC32C, V_COMP_MICROCHIP_PIC32C, V_COMP_GNU_PIC32C, V_COMP_GHS_PIC32C
| Ht CANCORE-2961: Added V_COMP_GHS_VISCONTI5
| Ht CANCORE-3019: Added V_COMP_LLVMHIGHTEC_STELLARSR6
| Ht CANCORE-3012: Added V_COMP_GHS_SAF90
| 2025-01-08 4.10.00 Ht CANCORE-3053: Added V_COMP_IAR_HC32A4
| CANCORE-3074: Added V_COMP_LLVMHIGHTEC_TRICORE
| 2025-03-04 4.11.00 Ht CANCORE-3217: Added V_COMP_IAR_XHSCXC2
| 2025-03-10 4.12.00 Ht CANCORE-3250: Added V_COMP_LLVMDIAB_SAF85
| 2025-08-08 4.13.00 Ht CANCORE-3320: Added V_COMP_LLVMTI_TMS320ARM
| CANCORE-3544: Added Generic ARM implementation (MSR4 FBL usecase)
| Pwf LIN-1436: Added V_COMP_GNU_MSPM0
| LIN-1438: Added V_COMP_ARM6_A89XXX, V_COMP_GNU_A89XXX, V_COMP_IAR_A89XXX
| 2025-10-22 4.14.00 Ht CANCORE-3649: Added V_COMP_GHS_RCARGEN5ARM, V_COMP_IAR_RCARGEN5ARM
| CANCORE-3260: Added V_COMP_LLVMTI_AWRGEN2LOW, V_COMP_LLVMDIAB_AWRGEN2LOW, V_COMP_TI_AWRGEN2LOW
|****************************************************************************/
#ifndef V_DEF_H
# define V_DEF_H
/***************************************************************************/
/* Version (abcd: Main version=ab, Sub Version=cd ) */
/***************************************************************************/
# define COMMON_VDEF_VERSION 0x0414
# define COMMON_VDEF_RELEASE_VERSION 0x00
/* compatibility for IL versions < 3.52 */
# define V_DEF_VERSION COMMON_VDEF_VERSION
/***************************************************************************/
/* Supported Systems */
/***************************************************************************/
/* compatibility define due to older implementations */
/* ARM32 with ARM6 compiler */
/* ARM32 with GHS compiler */
/* ARM32 with GNU compiler */
/* ARM32 with IAR compiler */
/* ARM32 with Microchip compiler */
/* ARM32 with LLVMDIAB compiler */
/* ARM32 with LLVMHighTec compiler */
/* ARM32 with LLVMTI compiler */
# if defined( V_COMP_LLVMTI_SITARA )
# define V_DEF_COMP_LLVMTI_ARM
# define V_DEF_SUPPORTED_PLATFORM
# endif
/* ARM32 with TI compiler */
/* all other supported plattform compiler combination */
# if !defined V_DEF_SUPPORTED_PLATFORM
# error "Plattform unknown or V_COMP_xxx_yyy not defined"
# endif
/***************************************************************************/
/***************************************************************************/
/**** General and platform dependent type definitions ********************/
/***************************************************************************/
/***************************************************************************/
/*--- standard memory qualifier definition --------------------------------*/
/* 8-Bit qualifier */
# if !defined( vuint8 ) /* ASR compatibility */
typedef unsigned char vuint8;
# endif
# define canuint8 vuint8
# if !defined( vsint8 ) /* ASR compatibility */
typedef signed char vsint8;
# endif
# define cansint8 vsint8
/* 16-Bit qualifier */
# if !defined( vuint16 ) /* ASR compatibility */
typedef unsigned short vuint16;
# endif
# define canuint16 vuint16
# if !defined( vsint16 ) /* ASR compatibility */
typedef signed short vsint16;
# endif
# define cansint16 vsint16
/* 32-Bit qualifier */
# if !defined( vuint32 ) /* ASR compatibility */
typedef unsigned long vuint32;
# endif
# define canuint32 vuint32
# if !defined( vsint32 ) /* ASR compatibility */
typedef signed long vsint32;
# endif
# define cansint32 vsint32
typedef unsigned char *TxDataPtr; /* ptr to transmission data buffer */
typedef unsigned char *RxDataPtr; /* ptr to receiving data buffer */
/***************************************************************************/
/* Defines */
/***************************************************************************/
/***************************************************************************/
/***************************************************************************/
/**** Hardware/Compiler dependent settings ******************************/
/***************************************************************************/
/***************************************************************************/
/* data type according to the CPU type */
# if defined( C_CPUTYPE_8BIT )
/* 8-Bit qualifier */
# ifndef vuintx
# define vuintx vuint8
# endif
# ifndef vsintx
# define vsintx vsint8
# endif
# else
# if defined( C_CPUTYPE_16BIT )
/* 16-Bit qualifier */
# ifndef vuintx
# define vuintx vuint16
# endif
# ifndef vsintx
# define vsintx vsint16
# endif
# else
# if defined( C_CPUTYPE_32BIT )
/* 32-Bit qualifier */
# ifndef vuintx
# define vuintx vuint32
# endif
# ifndef vsintx
# define vsintx vsint32
# endif
# else
# if defined( C_CPUTYPE_64BIT )
/* 64-Bit qualifier */
# ifndef vuintx
# define vuintx vuint32
# endif
# ifndef vsintx
# define vsintx vsint32
# endif
# endif
# endif
# endif
# endif
/* qualifier for bitfield definition */
typedef unsigned int vbittype;
# define canbittype vbittype
# if defined( C_SUPPORT_MIXED_CAN_LIN )
/* support combination of "old" CAN driver and "new" LIN driver */
# else
/* Structure for bit accessed memory. */
/* The bit-order is hardware/compiler dependent */
# if defined( C_CPUTYPE_BITORDER_LSB2MSB )
struct _c_bits8
{
vbittype b0:1; /* LSB-Bits (lower adr!) */
vbittype b1:1;
vbittype b2:1;
vbittype b3:1;
vbittype b4:1;
vbittype b5:1;
vbittype b6:1;
vbittype b7:1; /* MSB-Bits (higher address) unused */
};
struct _c_bits16
{
vbittype b0:1; /* lower adr */
vbittype b1:1;
vbittype b2:1;
vbittype b3:1;
vbittype b4:1;
vbittype b5:1;
vbittype b6:1;
vbittype b7:1;
vbittype b10:1; /* higher adr */
vbittype b11:1;
vbittype b12:1;
vbittype b13:1;
vbittype b14:1;
vbittype b15:1;
vbittype b16:1;
vbittype b17:1;
};
struct _c_bits32
{
vbittype b0:1; /* lower adr */
vbittype b1:1;
vbittype b2:1;
vbittype b3:1;
vbittype b4:1;
vbittype b5:1;
vbittype b6:1;
vbittype b7:1;
vbittype b10:1; /* mid low adr */
vbittype b11:1;
vbittype b12:1;
vbittype b13:1;
vbittype b14:1;
vbittype b15:1;
vbittype b16:1;
vbittype b17:1;
vbittype b20:1; /* mid high adr */
vbittype b21:1;
vbittype b22:1;
vbittype b23:1;
vbittype b24:1;
vbittype b25:1;
vbittype b26:1;
vbittype b27:1;
vbittype b30:1; /* higher adr */
vbittype b31:1;
vbittype b32:1;
vbittype b33:1;
vbittype b34:1;
vbittype b35:1;
vbittype b36:1;
vbittype b37:1;
};
# else /* MSB2LSB */
# if defined( C_CPUTYPE_BITORDER_MSB2LSB )
struct _c_bits8
{
vbittype b7:1; /* MSB-Bits (Higher addr!) */
vbittype b6:1;
vbittype b5:1;
vbittype b4:1;
vbittype b3:1;
vbittype b2:1;
vbittype b1:1;
vbittype b0:1; /* LSB-Bits (higher address) unused */
};
struct _c_bits16
{
vbittype b7:1; /* lower adr */
vbittype b6:1;
vbittype b5:1;
vbittype b4:1;
vbittype b3:1;
vbittype b2:1;
vbittype b1:1;
vbittype b0:1;
vbittype b17:1; /* higher adr */
vbittype b16:1;
vbittype b15:1;
vbittype b14:1;
vbittype b13:1;
vbittype b12:1;
vbittype b11:1;
vbittype b10:1;
};
struct _c_bits32
{
vbittype b7:1; /* lower adr */
vbittype b6:1;
vbittype b5:1;
vbittype b4:1;
vbittype b3:1;
vbittype b2:1;
vbittype b1:1;
vbittype b0:1;
vbittype b17:1; /* mid low adr */
vbittype b16:1;
vbittype b15:1;
vbittype b14:1;
vbittype b13:1;
vbittype b12:1;
vbittype b11:1;
vbittype b10:1;
vbittype b27:1; /* mid high adr */
vbittype b26:1;
vbittype b25:1;
vbittype b24:1;
vbittype b23:1;
vbittype b22:1;
vbittype b21:1;
vbittype b20:1;
vbittype b37:1; /* higher adr */
vbittype b36:1;
vbittype b35:1;
vbittype b34:1;
vbittype b33:1;
vbittype b32:1;
vbittype b31:1;
vbittype b30:1;
};
# else
# error "Bitorder unknown: C_CPUTYPE_BITORDER_MSB2LSB or C_CPUTYPE_BITORDER_LSB2MSB has to be defined"
# endif /* C_CPUTYPE_BITORDER_MSB2LSB */
# endif /* C_CPUTYPE_BITORDER_LSB2MSB */
# endif
/***************************************************************************/
/* Memory qualifier */
/***************************************************************************/
# if defined ( VGEN_ENABLE_CANFBL )
# endif
# ifndef MEMORY_HUGE
# define MEMORY_HUGE /* no entry */
# endif
/* *********************** default defines - used to store permanent data **************************************** */
# ifndef V_MEMROM0
# define V_MEMROM0 /* addition qualifier data access in ROM */
# endif
# ifndef V_MEMROM1_NEAR
# define V_MEMROM1_NEAR /* fast data access in ROM */
# endif
# ifndef V_MEMROM1
# define V_MEMROM1 /* fast data access in ROM */
# endif
# ifndef V_MEMROM1_FAR
# define V_MEMROM1_FAR /* slow addressing mode in ROM */
# endif
# ifndef MEMORY_ROM_NEAR
# ifndef V_MEMROM2_NEAR
# define V_MEMROM2_NEAR const /* fast data access in ROM */
# endif
/* compatibility for modules which use old definition of memory qualifer */
# define MEMORY_ROM_NEAR V_MEMROM2_NEAR
# else
# define V_MEMROM2_NEAR MEMORY_ROM_NEAR
# endif
# ifndef MEMORY_ROM
# ifndef V_MEMROM2
# define V_MEMROM2 const /* fast data access in ROM */
# endif
/* compatibility for modules which use old definition of memory qualifer */
# define MEMORY_ROM V_MEMROM2
# else
# define V_MEMROM2 MEMORY_ROM
# endif
# ifndef MEMORY_ROM_FAR
# ifndef V_MEMROM2_FAR
# define V_MEMROM2_FAR const /* slow addressing mode in ROM */
# endif
/* compatibility for modules which use old definition of memory qualifer */
# define MEMORY_ROM_FAR V_MEMROM2_FAR
# else
# define V_MEMROM2_FAR MEMORY_ROM_FAR
# endif
# ifndef V_MEMROM3
# define V_MEMROM3
# endif
/* *********************** default defines - used to store volatile data **************************************** */
# ifndef V_MEMRAM0
# define V_MEMRAM0 /* addition qualifier data access in RAM */
# endif
# ifndef V_MEMRAM1_NEAR
# define V_MEMRAM1_NEAR /* fast data access in RAM */
# endif
# ifndef V_MEMRAM1
# define V_MEMRAM1 /* fast data access in RAM */
# endif
# ifndef V_MEMRAM1_FAR
# define V_MEMRAM1_FAR /* slow addressing mode in RAM */
# endif
# ifndef MEMORY_NEAR
# ifndef V_MEMRAM2_NEAR
# define V_MEMRAM2_NEAR /* fast data access in RAM */
# endif
/* compatibility for modules which use old definition of memory qualifer */
# define MEMORY_NEAR V_MEMRAM2_NEAR
# else
# define V_MEMRAM2_NEAR MEMORY_NEAR
# endif
# ifndef MEMORY_NORMAL
# ifndef V_MEMRAM2
# define V_MEMRAM2 /* fast data access in RAM */
# endif
/* compatibility for modules which use old definition of memory qualifer */
# define MEMORY_NORMAL V_MEMRAM2
# else
# define V_MEMRAM2 MEMORY_NORMAL
# endif
# ifndef MEMORY_FAR
# ifndef V_MEMRAM2_FAR
# define V_MEMRAM2_FAR /* slow addressing mode in RAM */
# endif
/* compatibility for modules which use old definition of memory qualifer */
# define MEMORY_FAR V_MEMRAM2_FAR
# else
# define V_MEMRAM2_FAR MEMORY_FAR
# endif
# ifndef V_MEMRAM3_NEAR
# define V_MEMRAM3_NEAR /* fast data access in RAM */
# endif
# ifndef V_MEMRAM3
# define V_MEMRAM3 /* fast data access in RAM */
# endif
# ifndef V_MEMRAM3_FAR
# define V_MEMRAM3_FAR /* slow addressing mode in RAM */
# endif
/* *********************** default defines - to cast results **************************************************** */
# if !defined(VUINT8_CAST)
# define VUINT8_CAST
# endif
# if !defined(VSINT8_CAST)
# define VSINT8_CAST
# endif
# if !defined(VUINT16_CAST)
# define VUINT16_CAST
# endif
# if !defined(VSINT16_CAST)
# define VSINT16_CAST
# endif
# if !defined(CANBITTYPE_CAST)
# define CANBITTYPE_CAST
# endif
# if !defined(CANSINTCPUTYPE_CAST)
# define CANSINTCPUTYPE_CAST
# endif
# if !defined(CANUINTCPUTYPE_CAST)
# define CANUINTCPUTYPE_CAST
# endif
/***************************************************************************/
/* Local Inline */
/***************************************************************************/
# if defined( V_DEF_COMP_GHS_ARM ) || \
defined( V_DEF_COMP_IAR_ARM )
# if !defined(V_ENABLE_CAN_ASR_ABSTRACTION) && !defined(V_ENABLE_VSTDLIB_ASR_ABSTRACTION)
# if !defined(LOCAL_INLINE)
# define LOCAL_INLINE static inline
# endif
# endif
# endif
# if defined( V_DEF_COMP_GNU_ARM ) || \
defined( V_DEF_COMP_MICROCHIP_ARM ) || \
defined( V_DEF_COMP_LLVMDIAB_ARM ) || \
defined( V_DEF_COMP_LLVMHIGHTEC_ARM ) || \
defined( V_DEF_COMP_LLVMTI_ARM )
# if !defined(V_ENABLE_CAN_ASR_ABSTRACTION) && !defined(V_ENABLE_VSTDLIB_ASR_ABSTRACTION)
# if !defined(LOCAL_INLINE)
# define LOCAL_INLINE static __inline__
# endif
# endif
# endif
/* ARM32 with TI compiler */
# if defined( V_DEF_COMP_TI_ARM )
# if !defined(V_ENABLE_CAN_ASR_ABSTRACTION) && !defined(V_ENABLE_VSTDLIB_ASR_ABSTRACTION)
# if !defined(LOCAL_INLINE)
# define LOCAL_INLINE static __inline
# endif
# endif
# endif
/* ARM32 with ARM6 compiler */
# if defined( V_DEF_COMP_ARM6_ARM )
# if !defined(V_ENABLE_CAN_ASR_ABSTRACTION) && !defined(V_ENABLE_VSTDLIB_ASR_ABSTRACTION)
# if !defined(LOCAL_INLINE)
# define LOCAL_INLINE static __inline
# endif
# endif
# endif
/* ************************************************************************* */
/* Common_VStdLib */
/* ************************************************************************* */
# if defined (VGEN_ENABLE_VSTDLIB) || defined (V_ENABLE_VSTDLIB)
# include "vstdlib.h"
# endif
/* ************************************************************************* */
/* V_NULL Definition */
/* ************************************************************************* */
/* *********************** default definition of V_NULL **************************************** */
# if !defined(V_NULL)
# define V_NULL ((void*)0)
# endif
# ifndef NULL
# define NULL V_NULL
# endif
/* ************************************************************************* */
/* defines regarding CAN and VStdLib MSR abstraction */
/* ************************************************************************* */
# if !defined(V_ENABLE_CAN_ASR_ABSTRACTION) && !defined(V_ENABLE_VSTDLIB_ASR_ABSTRACTION)
# define V_ENABLE_CBD_ABSTRACTION
# define STATIC static /* MSR3 */
# define CAN_STATIC static /* MSR4 */
# define AUTOMATIC
# if !defined(NULL_PTR)
# define NULL_PTR V_NULL
# endif
# if !defined(LOCAL_INLINE)
# define LOCAL_INLINE
# endif
# define CAN_LOCAL_INLINE LOCAL_INLINE
# define V_NONE /* empty storage used instead of extern, static, volatile... */
# define V_STORAGE_NONE /* empty storage used instead of extern, static, volatile... */
# if !defined( C_CALLBACK_1 )
# define C_CALLBACK_1
# endif
# if !defined( C_CALLBACK_2 )
# define C_CALLBACK_2
# endif
# if !defined( C_API_1 )
# define C_API_1
# endif
# if !defined( C_API_2 )
# define C_API_2
# endif
# if !defined( C_API_3 )
# define C_API_3
# endif
# define V_DEF_VAR(storage, vartype, memclass) V_MEMRAM0 storage V_MEMRAM1 vartype V_MEMRAM2
# define V_DEF_VAR_NEAR(storage, vartype) V_MEMRAM0 storage V_MEMRAM1_NEAR vartype V_MEMRAM2_NEAR
# define V_DEF_VAR_FAR(storage, vartype) V_MEMRAM0 storage V_MEMRAM1_FAR vartype V_MEMRAM2_FAR
# define V_DEF_VAR_TYPE(storage, vartype) typedef storage V_MEMRAM1 vartype V_MEMRAM2
# define V_DEF_P2VAR(storage, ptrtype, memclass, ptrclass) V_MEMRAM0 storage V_MEMRAM1 ptrtype V_MEMRAM2 *
# define V_DEF_P2VAR_PARA(storage, ptrtype, memclass, ptrclass) storage V_MEMRAM1 ptrtype V_MEMRAM2 *
# define V_DEF_P2VAR_TYPE(storage, ptrtype, ptrclass) typedef storage V_MEMRAM1 ptrtype V_MEMRAM2 *
/* platform specific order may be needed for MEMORY_CAN (position RAM1 or RAM2) */
# define V_DEF_P2SFR_CAN(storage, ptrtype, memclass) V_MEMRAM0 storage V_MEMRAM1 ptrtype MEMORY_CAN *
# define V_DEF_P2SFR_CAN_TYPE(storage, ptrtype) typedef storage V_MEMRAM1 ptrtype MEMORY_CAN *
/* --- */
# define V_DEF_CONSTP2VAR(storage, ptrtype, memclass, ptrclass) V_MEMROM0 storage V_MEMRAM1 ptrtype V_MEMRAM2 V_MEMRAM3 * V_MEMROM1 V_MEMROM2
# define V_DEF_CONST(storage, type, memclass) V_MEMROM0 storage V_MEMROM1 type V_MEMROM2
# define V_DEF_CONST_NEAR(storage, type) V_MEMROM0 storage V_MEMROM1_NEAR type V_MEMROM2_NEAR
# define V_DEF_CONST_FAR(storage, type) V_MEMROM0 storage V_MEMROM1_FAR type V_MEMROM2_FAR
# define V_DEF_CONST_TYPE(storage, type, memclass) typedef storage V_MEMROM1 type V_MEMROM2
# define V_DEF_P2CONST(storage, ptrtype, memclass, ptrclass) V_MEMRAM0 storage V_MEMROM1 ptrtype V_MEMROM2 V_MEMROM3 * V_MEMRAM1 V_MEMRAM2
# define V_DEF_P2CONST_PARA(storage, ptrtype, memclass, ptrclass) storage V_MEMROM1 ptrtype V_MEMROM2 V_MEMROM3 * V_MEMRAM1 V_MEMRAM2
# define V_DEF_P2CONST_TYPE(storage, ptrtype, ptrclass) typedef storage V_MEMROM1 ptrtype V_MEMROM2 V_MEMROM3 *
# define V_DEF_CONSTP2CONST(storage, ptrtype, memclass, ptrclass) V_MEMROM0 storage V_MEMROM1 ptrtype V_MEMROM2 V_MEMROM3 * V_MEMROM1 V_MEMROM2
# define V_DEF_FUNC(storage, rettype, memclass) storage rettype
# define V_DEF_FUNC_API(storage, rettype, memclass) storage C_API_1 rettype C_API_2
# define V_DEF_FUNC_CBK(storage, rettype, memclass) storage C_CALLBACK_1 rettype C_CALLBACK_2
# define V_DEF_P2FUNC(storage, rettype, ptrclass, fctname) storage C_CALLBACK_1 rettype (C_CALLBACK_2 *fctname)
# endif /* !defined(V_ENABLE_CAN_ASR_ABSTRACTION) && !defined(V_ENABLE_VSTDLIB_ASR_ABSTRACTION) */
/*-----------------------------------------------------------------------------------------------*/
#endif /* V_DEF_H */
/* STOPSINGLE_OF_MULTIPLE */