#ifndef _FC7240_FMC_NU_Tztufn25_REGS_H_ #define _FC7240_FMC_NU_Tztufn25_REGS_H_ #ifdef __cplusplus extern "C" { #endif /* ---------------------------------------------------------------------------- -- FMC Peripheral Access Layer ---------------------------------------------------------------------------- */ /*! * @addtogroup FMC_Peripheral_Access_Layer FMC Peripheral Access Layer * @{ */ /** FMC - Size of Registers Arrays */ /** FMC - Register Layout Typedef */ #define FMC_FB_FPELCK_COUNT 5 #define FMC_FB_CPELCK_COUNT 4 #define FMC_OTA_CTRL_COUNT 2 #define FMC_OTA_VER_LOC_COUNT 2 #define FMC_OTA_ACT_VER_COUNT 2 typedef struct { __IO uint32_t FAPC0 ; /* Flash Access Port Control Register 0, offset: 0x0 */ __IO uint32_t FAPC1 ; /* Flash Access Port Control Register 1, offset: 0x4 */ __IO uint32_t FAPC2 ; /* Flash Access Port Control Register 2, offset: 0x8 */ uint8_t RESERVED_0[4]; __IO uint32_t FEEC ; /* Flash ECC Error Control Register, offset: 0x10 */ uint8_t RESERVED_1[4]; __IO uint32_t FEIPC ; /* Flash ECC Inject Position Control Register, offset: 0x18 */ uint8_t RESERVED_2[740]; __IO uint32_t FPESA_L ; /* Flash Program Erase Start Address Logical Register, offset: 0x300 */ __I uint32_t FPESA_P ; /* Flash Program Erase Start Address Physical Register, offset: 0x304 */ uint8_t RESERVED_3[56]; __IO uint32_t FB_FPELCK[FMC_FB_FPELCK_COUNT]; /* Flash Block n Fine Program Erase Lock Register, offset: 0x340 */ uint8_t RESERVED_4[4]; __IO uint32_t FN_FPELCK ; /* Flash NVR Fine Program Erase Lock Register, offset: 0x358 */ __IO uint32_t FB_CPELCK[FMC_FB_CPELCK_COUNT]; /* Flash Block n Coarse Program Erase Lock Register, offset: 0x35c */ uint8_t RESERVED_5[404]; __IO uint32_t OTA_CTRL[FMC_OTA_CTRL_COUNT] ; /* FLASH OTA Control Register, offset: 0x500 */ __I uint32_t OTA_VER_LOC[FMC_OTA_VER_LOC_COUNT]; /* FLASH OTA Version Location Register, offset: 0x508 */ __I uint32_t OTA_ACT_VER[FMC_OTA_ACT_VER_COUNT]; /* FLASH OTA Active Version Register, offset: 0x510 */ } FMC_Type, *FMC_MemMapPtr; /** Number of instances of the FMC module. */ #define FMC_INSTANCE_COUNT (2u) /* FMC - Peripheral instance base addresses */ /** Peripheral FMC1 base address */ #define FMC1_BASE (0x4001e000u) /** Peripheral FMC1 base pointer */ #define FMC1 ((FMC_Type *)FMC1_BASE) /** Peripheral FMC0 base address */ #define FMC0_BASE (0x4001f000u) /** Peripheral FMC0 base pointer */ #define FMC0 ((FMC_Type *)FMC0_BASE) /** Array initializer of FMC peripheral base addresses */ #define FMC_BASE_ADDRS {FMC0_BASE, FMC1_BASE} /** Array initializer of FMC peripheral base pointers */ #define FMC_BASE_PTRS {FMC0, FMC1} // need fill by yourself ///** Number of interrupt vector arrays for the FMC module. */ //#define FMC_IRQS_ARR_COUNT (1u) ///** Number of interrupt channels for the FMC module. */ //#define FMC_IRQS_CH_COUNT (1u) ///** Interrupt vectors for the FMC peripheral type */ //#define FMC_IRQS {FMC0_IRQn, FMC1_IRQn} /* ---------------------------------------------------------------------------- -- FMC Register Masks ---------------------------------------------------------------------------- */ /*! * @addtogroup FMC_Register_Masks FMC Register Masks * @{ */ /* FAPC0 Bit Fields */ #define FMC_FAPC0_DBPEN_MASK 0x20u #define FMC_FAPC0_DBPEN_SHIFT 5u #define FMC_FAPC0_DBPEN_WIDTH 1u #define FMC_FAPC0_DBPEN(x) (((uint32_t)(((uint32_t)(x))<