#include typedef struct { uint32_t day : 8; // 0 Timestamp Day uint32_t mon : 8; // 8 Timestamp Month uint32_t year : 4; // 16 Timestamp Year uint32_t substep : 4; // 20 Sub-step of Core release uint32_t step : 4; // 24 Step of Core release uint32_t rel : 4; // 28 Core release } reg_fdcan1_ram_fdcan_crel_t; typedef struct { uint32_t etv : 32; // 0 Endiannes Test Value } reg_fdcan1_ram_fdcan_endn_t; typedef struct { uint32_t dsjw : 4; // 0 Synchronization Jump Width uint32_t dtseg2 : 4; // 4 Data time segment after sample point uint32_t dtseg1 : 5; // 8 Data time segment after sample point uint32_t reserve0 : 3; // 13 Reserve uint32_t dbrp : 5; // 16 Data BIt Rate Prescaler uint32_t reserve1 : 2; // 21 Reserve uint32_t tdc : 1; // 23 Transceiver Delay Compensation uint32_t reserve2 : 8; // 24 Reserve } reg_fdcan1_ram_fdcan_dbtp_t; typedef struct { uint32_t reserve0 : 4; // 0 Reserve uint32_t lbck : 1; // 4 Loop Back mode uint32_t tx : 2; // 5 Loop Back mode uint32_t rx : 1; // 7 Control of Transmit Pin uint32_t reserve1 : 24; // 8 Reserve } reg_fdcan1_ram_fdcan_test_t; typedef struct { uint32_t wdc : 8; // 0 Watchdog configuration uint32_t wdv : 8; // 8 Watchdog value uint32_t reserve0 : 16; // 16 Reserve } reg_fdcan1_ram_fdcan_rwd_t; typedef struct { uint32_t init : 1; // 0 Initialization uint32_t cce : 1; // 1 Configuration Change Enable uint32_t asm : 1; // 2 ASM Restricted Operation Mode uint32_t csa : 1; // 3 Clock Stop Acknowledge uint32_t csr : 1; // 4 Clock Stop Request uint32_t mon : 1; // 5 Bus Monitoring Mode uint32_t dar : 1; // 6 Disable Automatic Retransmission uint32_t test : 1; // 7 Test Mode Enable uint32_t fdoe : 1; // 8 FD Operation Enable uint32_t brse : 1; // 9 FDCAN Bit Rate Switching uint32_t reserve0 : 2; // 10 Reserve uint32_t pxhd : 1; // 12 Protocol Exception Handling Disable uint32_t efbi : 1; // 13 Edge Filtering during Bus Integration uint32_t txp : 1; // 14 TXP uint32_t niso : 1; // 15 Non ISO Operation uint32_t reserve1 : 16; // 16 Reserve } reg_fdcan1_ram_fdcan_cccr_t; typedef struct { uint32_t ntseg2 : 7; // 0 Nominal Time segment after sample point uint32_t reserve0 : 1; // 7 Reserve uint32_t ntseg1 : 8; // 8 Nominal Time segment before sample point uint32_t nbrp : 9; // 16 Bit Rate Prescaler uint32_t nsjw : 7; // 25 Nominal (Re)Synchronization Jump Width } reg_fdcan1_ram_fdcan_nbtp_t; typedef struct { uint32_t tss : 2; // 0 Timestamp Select uint32_t reserve0 : 14; // 2 Reserve uint32_t tcp : 4; // 16 Timestamp Counter Prescaler uint32_t reserve1 : 12; // 20 Reserve } reg_fdcan1_ram_fdcan_tscc_t; typedef struct { uint32_t tsc : 16; // 0 Timestamp Counter uint32_t reserve0 : 16; // 16 Reserve } reg_fdcan1_ram_fdcan_tscv_t; typedef struct { uint32_t etoc : 1; // 0 Enable Timeout Counter uint32_t tos : 2; // 1 Timeout Select uint32_t reserve0 : 13; // 3 Reserve uint32_t top : 16; // 16 Timeout Period } reg_fdcan1_ram_fdcan_tocc_t; typedef struct { uint32_t toc : 16; // 0 Timeout Counter uint32_t reserve0 : 16; // 16 Reserve } reg_fdcan1_ram_fdcan_tocv_t; typedef struct { uint32_t tec : 8; // 0 Transmit Error Counter uint32_t rec : 7; // 8 Receive Error Counter uint32_t rp : 1; // 15 Receive Error Passive uint32_t cel : 8; // 16 AN Error Logging uint32_t reserve0 : 8; // 24 Reserve } reg_fdcan1_ram_fdcan_ecr_t; typedef struct { uint32_t lec : 3; // 0 Last Error Code uint32_t act : 2; // 3 Activity uint32_t ep : 1; // 5 Error Passive uint32_t ew : 1; // 6 Warning Status uint32_t bo : 1; // 7 Bus_Off Status uint32_t dlec : 3; // 8 Data Last Error Code uint32_t resi : 1; // 11 ESI flag of last received FDCAN Message uint32_t rbrs : 1; // 12 BRS flag of last received FDCAN Message uint32_t redl : 1; // 13 Received FDCAN Message uint32_t pxe : 1; // 14 Protocol Exception Event uint32_t reserve0 : 1; // 15 Reserve uint32_t tdcv : 7; // 16 Transmitter Delay Compensation Value uint32_t reserve1 : 9; // 23 Reserve } reg_fdcan1_ram_fdcan_psr_t; typedef struct { uint32_t tdcf : 7; // 0 Transmitter Delay Compensation Filter Window Length uint32_t reserve0 : 1; // 7 Reserve uint32_t tdco : 7; // 8 Transmitter Delay Compensation Offset uint32_t reserve1 : 17; // 15 Reserve } reg_fdcan1_ram_fdcan_tdcr_t; typedef struct { uint32_t rf0n : 1; // 0 RF0N uint32_t rf0f : 1; // 1 RF0F uint32_t rf0l : 1; // 2 RF0L uint32_t rf1n : 1; // 3 RF1N uint32_t rf1f : 1; // 4 RF1F uint32_t rf1l : 1; // 5 RF1L uint32_t hpm : 1; // 6 HPM uint32_t tc : 1; // 7 TC uint32_t tcf : 1; // 8 TCF uint32_t tfe : 1; // 9 TFE uint32_t tefn : 1; // 10 TEFN uint32_t teff : 1; // 11 TEFF uint32_t tefl : 1; // 12 TEFL uint32_t tsw : 1; // 13 TSW uint32_t mraf : 1; // 14 MRAF uint32_t too : 1; // 15 TOO uint32_t elo : 1; // 16 ELO uint32_t ep : 1; // 17 EP uint32_t ew : 1; // 18 EW uint32_t bo : 1; // 19 BO uint32_t wdi : 1; // 20 WDI uint32_t pea : 1; // 21 PEA uint32_t ped : 1; // 22 PED uint32_t ara : 1; // 23 ARA uint32_t reserve0 : 8; // 24 Reserve } reg_fdcan1_ram_fdcan_ir_t; typedef struct { uint32_t rf0ne : 1; // 0 Rx FIFO 0 New Message Enable uint32_t rf0fe : 1; // 1 Rx FIFO 0 Full Enable uint32_t rf0le : 1; // 2 Rx FIFO 0 Message Lost Enable uint32_t rf1ne : 1; // 3 Rx FIFO 1 New Message Enable uint32_t rf1fe : 1; // 4 Rx FIFO 1 Watermark Reached Enable uint32_t rf1le : 1; // 5 Rx FIFO 1 Message Lost Enable uint32_t hpme : 1; // 6 High Priority Message Enable uint32_t tce : 1; // 7 Transmission Completed Enable uint32_t tcfe : 1; // 8 Transmission Cancellation Finished Enable uint32_t tefe : 1; // 9 Tx FIFO Empty Enable uint32_t tefne : 1; // 10 Tx Event FIFO New Entry Enable uint32_t teffe : 1; // 11 Tx Event FIFO Full Enable uint32_t tefle : 1; // 12 Tx Event FIFO Element Lost Enable uint32_t tswe : 1; // 13 TSWE uint32_t mrafe : 1; // 14 Message RAM Access Failure Enable uint32_t tooe : 1; // 15 Timeout Occurred Enable uint32_t eloe : 1; // 16 Error Logging Overflow Enable uint32_t epe : 1; // 17 Error Passive Enable uint32_t ewe : 1; // 18 Warning Status Enable uint32_t boe : 1; // 19 Bus_Off Status Enable uint32_t wdie : 1; // 20 Watchdog Interrupt Enable uint32_t peae : 1; // 21 Protocol Error in Arbitration Phase Enable uint32_t pede : 1; // 22 Protocol Error in Data Phase Enable uint32_t arae : 1; // 23 Access to Reserved Address Enable uint32_t reserve0 : 8; // 24 Reserve } reg_fdcan1_ram_fdcan_ie_t; typedef struct { uint32_t rxfifo0 : 1; // 0 RxFIFO0 uint32_t rxfifo1 : 1; // 1 RxFIFO1 uint32_t smsg : 1; // 2 SMSG uint32_t tferr : 1; // 3 TFERR uint32_t misc : 1; // 4 MISC uint32_t berr : 1; // 5 BERR uint32_t perr : 1; // 6 PERR uint32_t reserve0 : 25; // 7 Reserve } reg_fdcan1_ram_fdcan_ils_t; typedef struct { uint32_t eint0 : 1; // 0 Enable Interrupt Line 0 uint32_t eint1 : 1; // 1 Enable Interrupt Line 1 uint32_t reserve0 : 30; // 2 Reserve } reg_fdcan1_ram_fdcan_ile_t; typedef struct { uint32_t rrfe : 1; // 0 Reject Remote Frames Extended uint32_t rrfs : 1; // 1 Reject Remote Frames Standard uint32_t anfe : 2; // 2 Accept Non-matching Frames Extended uint32_t anfs : 2; // 4 Accept Non-matching Frames Standard uint32_t reserve0 : 2; // 6 Reserve uint32_t f1om : 1; // 8 F1OM uint32_t f0om : 1; // 9 F0OM uint32_t reserve1 : 6; // 10 Reserve uint32_t lss : 5; // 16 LSS uint32_t reserve2 : 3; // 21 Reserve uint32_t lse : 4; // 24 LSE uint32_t reserve3 : 4; // 28 Reserve } reg_fdcan1_ram_fdcan_rxgfc_t; typedef struct { uint32_t eidm : 29; // 0 Extended ID Mask uint32_t reserve0 : 3; // 29 Reserve } reg_fdcan1_ram_fdcan_xidam_t; typedef struct { uint32_t bidx : 3; // 0 Buffer Index uint32_t reserve0 : 3; // 3 Reserve uint32_t msi : 2; // 6 Message Storage Indicator uint32_t fidx : 5; // 8 Filter Index uint32_t reserve1 : 2; // 13 Reserve uint32_t flst : 1; // 15 Filter List uint32_t reserve2 : 16; // 16 Reserve } reg_fdcan1_ram_fdcan_hpms_t; typedef struct { uint32_t f0fl : 4; // 0 Rx FIFO 0 Fill Level uint32_t reserve0 : 4; // 4 Reserve uint32_t f0gi : 2; // 8 Rx FIFO 0 Get Index uint32_t reserve1 : 6; // 10 Reserve uint32_t f0pi : 2; // 16 Rx FIFO 0 Put Index uint32_t reserve2 : 6; // 18 Reserve uint32_t f0f : 1; // 24 Rx FIFO 0 Full uint32_t rf0l : 1; // 25 Rx FIFO 0 Message Lost uint32_t reserve3 : 6; // 26 Reserve } reg_fdcan1_ram_fdcan_rxf0s_t; typedef struct { uint32_t f0ai : 3; // 0 Rx FIFO 0 Acknowledge Index uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_rxf0a_t; typedef struct { uint32_t f1fl : 4; // 0 Rx FIFO 1 Fill Level uint32_t reserve0 : 4; // 4 Reserve uint32_t f1gi : 2; // 8 Rx FIFO 1 Get Index uint32_t reserve1 : 6; // 10 Reserve uint32_t f1pi : 2; // 16 Rx FIFO 1 Put Index uint32_t reserve2 : 6; // 18 Reserve uint32_t f1f : 1; // 24 Rx FIFO 1 Full uint32_t rf1l : 1; // 25 Rx FIFO 1 Message Lost uint32_t reserve3 : 6; // 26 Reserve } reg_fdcan1_ram_fdcan_rxf1s_t; typedef struct { uint32_t f1ai : 3; // 0 Rx FIFO 1 Acknowledge Index uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_rxf1a_t; typedef struct { uint32_t reserve0 : 24; // 0 Reserve uint32_t tfqm : 1; // 24 Tx FIFO/Queue Mode uint32_t reserve1 : 7; // 25 Reserve } reg_fdcan1_ram_fdcan_txbc_t; typedef struct { uint32_t tffl : 3; // 0 Tx FIFO Free Level uint32_t reserve0 : 5; // 3 Reserve uint32_t tfgi : 2; // 8 TFGI uint32_t reserve1 : 6; // 10 Reserve uint32_t tfqpi : 2; // 16 Tx FIFO/Queue Put Index uint32_t reserve2 : 3; // 18 Reserve uint32_t tfqf : 1; // 21 Tx FIFO/Queue Full uint32_t reserve3 : 10; // 22 Reserve } reg_fdcan1_ram_fdcan_txfqs_t; typedef struct { uint32_t trp : 3; // 0 Transmission Request Pending uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbrp_t; typedef struct { uint32_t ar : 3; // 0 Add Request uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbar_t; typedef struct { uint32_t cr : 3; // 0 Cancellation Request uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbcr_t; typedef struct { uint32_t to : 3; // 0 Transmission Occurred. uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbto_t; typedef struct { uint32_t cf : 3; // 0 Cancellation Finished uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbcf_t; typedef struct { uint32_t tie : 3; // 0 Transmission Interrupt Enable uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbtie_t; typedef struct { uint32_t cfie : 3; // 0 Cancellation Finished Interrupt Enable uint32_t reserve0 : 29; // 3 Reserve } reg_fdcan1_ram_fdcan_txbcie_t; typedef struct { uint32_t effl : 3; // 0 Event FIFO Fill Level uint32_t reserve0 : 5; // 3 Reserve uint32_t efgi : 2; // 8 Event FIFO Get Index. uint32_t reserve1 : 6; // 10 Reserve uint32_t efpi : 2; // 16 Event FIFO Put Index uint32_t reserve2 : 6; // 18 Reserve uint32_t eff : 1; // 24 Event FIFO Full. uint32_t tefl : 1; // 25 Tx Event FIFO Element Lost. uint32_t reserve3 : 6; // 26 Reserve } reg_fdcan1_ram_fdcan_txefs_t; typedef struct { uint32_t efai : 2; // 0 Event FIFO Acknowledge Index uint32_t reserve0 : 30; // 2 Reserve } reg_fdcan1_ram_fdcan_txefa_t; typedef struct { uint32_t pdiv : 4; // 0 PDIV uint32_t reserve0 : 28; // 4 Reserve } reg_fdcan1_ram_fdcan_ckdiv_t; typedef struct { volatile reg_fdcan1_ram_fdcan_crel_t fdcan_crel; volatile reg_fdcan1_ram_fdcan_endn_t fdcan_endn; volatile uint32_t reserve0[1]; volatile reg_fdcan1_ram_fdcan_dbtp_t fdcan_dbtp; volatile reg_fdcan1_ram_fdcan_test_t fdcan_test; volatile reg_fdcan1_ram_fdcan_rwd_t fdcan_rwd; volatile reg_fdcan1_ram_fdcan_cccr_t fdcan_cccr; volatile reg_fdcan1_ram_fdcan_nbtp_t fdcan_nbtp; volatile reg_fdcan1_ram_fdcan_tscc_t fdcan_tscc; volatile reg_fdcan1_ram_fdcan_tscv_t fdcan_tscv; volatile reg_fdcan1_ram_fdcan_tocc_t fdcan_tocc; volatile reg_fdcan1_ram_fdcan_tocv_t fdcan_tocv; volatile uint32_t reserve1[4]; volatile reg_fdcan1_ram_fdcan_ecr_t fdcan_ecr; volatile reg_fdcan1_ram_fdcan_psr_t fdcan_psr; volatile reg_fdcan1_ram_fdcan_tdcr_t fdcan_tdcr; volatile uint32_t reserve2[1]; volatile reg_fdcan1_ram_fdcan_ir_t fdcan_ir; volatile reg_fdcan1_ram_fdcan_ie_t fdcan_ie; volatile reg_fdcan1_ram_fdcan_ils_t fdcan_ils; volatile reg_fdcan1_ram_fdcan_ile_t fdcan_ile; volatile uint32_t reserve3[8]; volatile reg_fdcan1_ram_fdcan_rxgfc_t fdcan_rxgfc; volatile reg_fdcan1_ram_fdcan_xidam_t fdcan_xidam; volatile reg_fdcan1_ram_fdcan_hpms_t fdcan_hpms; volatile uint32_t reserve4[1]; volatile reg_fdcan1_ram_fdcan_rxf0s_t fdcan_rxf0s; volatile reg_fdcan1_ram_fdcan_rxf0a_t fdcan_rxf0a; volatile reg_fdcan1_ram_fdcan_rxf1s_t fdcan_rxf1s; volatile reg_fdcan1_ram_fdcan_rxf1a_t fdcan_rxf1a; volatile uint32_t reserve5[8]; volatile reg_fdcan1_ram_fdcan_txbc_t fdcan_txbc; volatile reg_fdcan1_ram_fdcan_txfqs_t fdcan_txfqs; volatile reg_fdcan1_ram_fdcan_txbrp_t fdcan_txbrp; volatile reg_fdcan1_ram_fdcan_txbar_t fdcan_txbar; volatile reg_fdcan1_ram_fdcan_txbcr_t fdcan_txbcr; volatile reg_fdcan1_ram_fdcan_txbto_t fdcan_txbto; volatile reg_fdcan1_ram_fdcan_txbcf_t fdcan_txbcf; volatile reg_fdcan1_ram_fdcan_txbtie_t fdcan_txbtie; volatile reg_fdcan1_ram_fdcan_txbcie_t fdcan_txbcie; volatile reg_fdcan1_ram_fdcan_txefs_t fdcan_txefs; volatile reg_fdcan1_ram_fdcan_txefa_t fdcan_txefa; volatile uint32_t reserve6[5]; volatile reg_fdcan1_ram_fdcan_ckdiv_t fdcan_ckdiv; } reg_fdcan1_ram_t;