rt-thread/bsp/fm33lc026/libraries/FM/FM33xx/Include/fm33lc0xx.h

796 lines
58 KiB
C

/****************************************************************************************************//**
* @file FM33LC0XX.h
*
* @brief CMSIS Cortex-M0 Peripheral Access Layer Header File for
* FM33LC0XX from Keil.
*
* @version V0.0.1
* @date 13. august 2019
*
* @note Generated with SVDConv V2.87e
* from CMSIS SVD File 'FM33LC0XX.SVD' Version 1.0,
*
* @par ARM Limited (ARM) is supplying this software for use with Cortex-M
* processor based microcontroller, but can be equally used for other
* suitable processor architectures. This file can be freely distributed.
* Modifications to this file shall be clearly marked.
*
* THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
*
*******************************************************************************************************/
/** @addtogroup Keil
* @{
*/
/** @addtogroup FM33LC0XX
* @{
*/
#ifndef __FM33LC0XX_H
#define __FM33LC0XX_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* @brief Configuration of the Cortex-M0 Processor and Core Peripherals
*/
#define __CM0_REV 0x0100U /*!< Cortex-M0 Core Revision */
#define __MPU_PRESENT 0U /*!< MPU present or not */
#define __VTOR_PRESENT 1U /*!< VTOR present or not */
#define __NVIC_PRIO_BITS 2U /*!< Number of Bits used for Priority Levels */
#define __Vendor_SysTickConfig 0U /*!< Set to 1 if different SysTick Config is used */
/**
* @brief FM33LC0XX Interrupt Number Definition, according to the selected device
* in @ref Library_configuration_section
*/
typedef enum {
/****** Cortex-M0 Processor Exceptions Numbers ****************************************************************/
Reset_IRQn = -15, /*!< 1 Reset Vector, invoked on Power up and warm reset */
NMI_IRQn = -14, /*!< 2 Non maskable Interrupt, cannot be stopped or preempted */
HardFault_IRQn = -13, /*!< 3 Hard Fault, all classes of Fault */
SVCall_IRQn = -5, /*!< 11 System Service Call via SVC instruction */
PendSV_IRQn = -2, /*!< 14 Pendable request for system service */
SysTick_IRQn = -1, /*!< 15 System Tick Timer */
/****** FM33LC0XX specific Interrupt Numbers ******************************************************************/
WWDT_IRQn = 0, /*!< 0 Window WatchDog Interrupt */
SVD_IRQn = 1, /*!< 1 SVD Interrupt */
RTC_IRQn = 2, /*!< 2 RTC Interrupt */
FLASH_IRQn = 3, /*!< 3 FLASH global Interrupt */
LFDET_IRQn = 4, /*!< 4 LFDET Interrupt */
ADC_IRQn = 5, /*!< 5 ADC Interrupt */
IWDT_IRQn = 6, /*!< 6 IWDT Interrupt */
SPI1_IRQn = 7, /*!< 7 SPI1 Interrupt */
SPI2_IRQn = 8, /*!< 8 SPI2 Interrupt */
LCD_IRQn = 9, /*!< 9 LCD Interrupt */
UART0_IRQn = 10, /*!< 10 UART0 global Interrupt */
UART1_IRQn = 11, /*!< 11 UART1 global Interrupt */
UART4_IRQn = 12, /*!< 12 UART4 global Interrupt */
UART5_IRQn = 13, /*!< 13 UART5 global Interrupt */
HFDET_IRQn = 14, /*!< 14 HFDET Interrupt */
U7816_IRQn = 15, /*!< 15 U7816 Interrupt */
LPUART1_IRQn = 16, /*!< 16 LPUART1 Interrupt */
I2C_IRQn = 17, /*!< 17 I2C global Interrupt */
USB_IRQn = 18, /*!< 18 USB Interrupt */
AES_IRQn = 19, /*!< 19 AES Interrupt */
LPTIM_IRQn = 20, /*!< 20 LPTIM Interrupt */
DMA_IRQn = 21, /*!< 21 DMA Interrupt */
WKUP_IRQn = 22, /*!< 22 WKUP Interrupt */
OPAx_IRQn = 23, /*!< 23 OPAx Interrupt */
BSTIM_IRQn = 24, /*!< 24 BSTIM Interrupt */
COMPx_IRQn = 25, /*!< 25 COMPx Interrupt */
GPTIM0_IRQn = 26, /*!< 26 GTIM0 global Interrupt */
GPTIM1_IRQn = 27, /*!< 27 GTIM1 global Interrupt */
ATIM_IRQn = 28, /*!< 28 ATIM global Interrupt */
VREF_IRQn = 29, /*!< 29 VREF Interrupt */
GPIO_IRQn = 30, /*!< 30 GPIO Interrupt */
LPUART0_IRQn = 31 /*!< 31 LPUART0 Interrupt */
} IRQn_Type;
/** @addtogroup Configuration_of_CMSIS
* @{
*/
/* ================================================================================ */
/* ================ Processor and Core Peripheral Section ================ */
/* ================================================================================ */
#include "core_cm0plus.h" /*!< Cortex-M0 processor and core peripherals */
#include "system_fm33lc0xx.h" /*!< FM33LC0XX System */
#include <stdint.h>
/** @addtogroup Peripheral_registers_structures
* @{
*/
/**
* @brief Analog to Digital Converter
*/
typedef struct
{
__IO uint32_t ISR; /*!< ADC Interrupt and Status Register, Address offset: 0x00 */
__IO uint32_t IER; /*!< ADC Interrupt Enable Register, Address offset: 0x04 */
__IO uint32_t CR; /*!< ADC Control Register, Address offset: 0x08 */
__IO uint32_t CFGR; /*!< ADC Config Register, Address offset: 0x0C */
__IO uint32_t SMTR; /*!< ADC Sampling Time Register, Address offset: 0x10 */
__IO uint32_t CHER; /*!< ADC Channel Enable Register, Address offset: 0x14 */
__IO uint32_t DR; /*!< ADC Data Register, Address offset: 0x18 */
__IO uint32_t SAMPT; /*!< ADC Calibration Register, Address offset: 0x1C */
__IO uint32_t HLTR; /*!< ADC analog watchdog Threshold Register, Address offset: 0x20 */
} ADC_Type;
typedef struct
{
__IO uint32_t CR; /*!< AES Control Register, Address offset: 0x00 */
__IO uint32_t IER; /*!< AES Interrupt Enable Register, Address offset: 0x04 */
__IO uint32_t ISR; /*!< AES Interrupt Status Register, Address offset: 0x08 */
__IO uint32_t DIR; /*!< AES Data Input Register, Address offset: 0x0C */
__IO uint32_t DOR; /*!< AES Data Output Register, Address offset: 0x10 */
__IO uint32_t KEY0; /*!< AES Key Register 0, Address offset: 0x14 */
__IO uint32_t KEY1; /*!< AES Key Register 1, Address offset: 0x18 */
__IO uint32_t KEY2; /*!< AES Key Register 2, Address offset: 0x1C */
__IO uint32_t KEY3; /*!< AES Key Register 3, Address offset: 0x20 */
__IO uint32_t KEY4; /*!< AES Key Register 4, Address offset: 0x24 */
__IO uint32_t KEY5; /*!< AES Key Register 5, Address offset: 0x28 */
__IO uint32_t KEY6; /*!< AES Key Register 6, Address offset: 0x2C */
__IO uint32_t KEY7; /*!< AES Key Register 7, Address offset: 0x30 */
__IO uint32_t IVR0; /*!< AES Initial Vector Register 0, Address offset: 0x34 */
__IO uint32_t IVR1; /*!< AES Initial Vector Register 1, Address offset: 0x38 */
__IO uint32_t IVR2; /*!< AES Initial Vector Register 2, Address offset: 0x3C */
__IO uint32_t IVR3; /*!< AES Initial Vector Register 3, Address offset: 0x40 */
} AES_Type;
typedef struct
{
__IO uint32_t CR1; /*!< ATIM Control Register1, Address offset: 0x00 */
__IO uint32_t CR2; /*!< ATIM Control Register2, Address offset: 0x04 */
__IO uint32_t SMCR; /*!< ATIM Slave Mode Control Register, Address offset: 0x08 */
__IO uint32_t DIER; /*!< ATIM DMA and Interrupt Enable Register, Address offset: 0x0C */
__IO uint32_t ISR; /*!< ATIM Interrupt Status Register, Address offset: 0x10 */
__IO uint32_t EGR; /*!< ATIM Event Generation Register, Address offset: 0x14 */
__IO uint32_t CCMR1; /*!< ATIM Capture/Compare Mode Register1, Address offset: 0x18 */
__IO uint32_t CCMR2; /*!< ATIM Capture/Compare Mode Register2, Address offset: 0x1C */
__IO uint32_t CCER; /*!< ATIM Capture/Compare Enable Register, Address offset: 0x20 */
__IO uint32_t CNT; /*!< ATIM Counter Register, Address offset: 0x24 */
__IO uint32_t PSC; /*!< ATIM Prescaler Register, Address offset: 0x28 */
__IO uint32_t ARR; /*!< ATIM Auto-Reload Register, Address offset: 0x2C */
__IO uint32_t RCR; /*!< ATIM Repetition Counter Register, Address offset: 0x30 */
__IO uint32_t CCR1; /*!< ATIM Capture/Compare Register1, Address offset: 0x34 */
__IO uint32_t CCR2; /*!< ATIM Capture/Compare Register2, Address offset: 0x38 */
__IO uint32_t CCR3; /*!< ATIM Capture/Compare Register3, Address offset: 0x3C */
__IO uint32_t CCR4; /*!< ATIM Capture/Compare Register4, Address offset: 0x40 */
__IO uint32_t BDTR; /*!< ATIM Break and Deadtime Register, Address offset: 0x44 */
__IO uint32_t DCR; /*!< ATIM DMA Control Register, Address offset: 0x48 */
__IO uint32_t DMAR; /*!< ATIM DMA Access Register, Address offset: 0x4C */
__IO uint32_t RSV0; /*!< RESERVED REGISTER0, Address offset: 0x50 */
__IO uint32_t RSV1; /*!< RESERVED REGISTER1, Address offset: 0x54 */
__IO uint32_t RSV2; /*!< RESERVED REGISTER2, Address offset: 0x58 */
__IO uint32_t RSV3; /*!< RESERVED REGISTER3, Address offset: 0x5C */
__IO uint32_t BKCR; /*!< ATIM Break Control Register, Address offset: 0x60 */
} ATIM_Type;
typedef struct
{
__IO uint32_t CR1; /*!< BSTIM Control Register1, Address offset: 0x00 */
__IO uint32_t CR2; /*!< BSTIM Control Register2, Address offset: 0x04 */
__IO uint32_t RSV0; /*!< RESERVED REGISTER0, Address offset: 0x08 */
__IO uint32_t IER; /*!< BSTIM Interrupt Enable Register, Address offset: 0x0C */
__IO uint32_t ISR; /*!< BSTIM Interrupt Status Register, Address offset: 0x10 */
__IO uint32_t EGR; /*!< BSTIM Event Generation Register, Address offset: 0x14 */
__IO uint32_t RSV1; /*!< RESERVED REGISTER1, Address offset: 0x18 */
__IO uint32_t RSV2; /*!< RESERVED REGISTER2, Address offset: 0x1C */
__IO uint32_t RSV3; /*!< RESERVED REGISTER3, Address offset: 0x20 */
__IO uint32_t CNT; /*!< BSTIM Counter Register, Address offset: 0x24 */
__IO uint32_t PSC; /*!< BSTIM Prescaler Register, Address offset: 0x28 */
__IO uint32_t ARR; /*!< BSTIM Auto-Reload Register, Address offset: 0x2C */
} BSTIM32_Type;
typedef struct
{
__IO uint32_t CR; /*!< ComparatorControl Register 1, Address offset: 0x00 */
} COMP_Type;
typedef struct
{
__IO uint32_t ICR; /*!< Comparator Interrupt Config Register, Address offset: 0x08 */
__IO uint32_t ISR; /*!< Comparator Interrupt Status Register, Address offset: 0x0C */
} COMP_COMMON_Type;
typedef struct
{
__IO uint32_t DR; /*!< CRC Data Register, Address offset: 0x00 */
__IO uint32_t CR; /*!< CRC Control Register, Address offset: 0x04 */
__IO uint32_t LFSR; /*!< CRC Linear Feedback Shift Register, Address offset: 0x08 */
__IO uint32_t XOR; /*!< CRC output XOR Register, Address offset: 0x0C */
__IO uint32_t RSV0; /*!< RESERVED REGISTER0, Address offset: 0x10 */
__IO uint32_t RSV1; /*!< RESERVED REGISTER1, Address offset: 0x14 */
__IO uint32_t RSV2; /*!< RESERVED REGISTER2, Address offset: 0x18 */
__IO uint32_t POLY; /*!< CRC Polynominal Register, Address offset: 0x1C */
} CRC_Type;
typedef struct
{
__IO uint32_t RSV;
__IO uint32_t CR; /*!< Debug Configuration Register */
__IO uint32_t HDFR; /*!< HardFault Flag Register*/
} DBG_Type;
typedef struct
{
__IO uint32_t GCR; /*!< DMA Global Control Register , Address offset: 0x00 */
__IO uint32_t CH0CR; /*!< Channel 0 Control Register , Address offset: 0x04 */
__IO uint32_t CH0MAD; /*!< Channel 0 Memory Address Register , Address offset: 0x08 */
__IO uint32_t CH1CR; /*!< Channel 1 Control Register , Address offset: 0x0C */
__IO uint32_t CH1MAD; /*!< Channel 1 Memory Address Register , Address offset: 0x10 */
__IO uint32_t CH2CR; /*!< Channel 2 Control Register , Address offset: 0x14 */
__IO uint32_t CH2MAD; /*!< Channel 2 Memory Address Register , Address offset: 0x18 */
__IO uint32_t CH3CR; /*!< Channel 3 Control Register , Address offset: 0x1C */
__IO uint32_t CH3MAD; /*!< Channel 3 Memory Address Register , Address offset: 0x20 */
__IO uint32_t CH4CR; /*!< Channel 4 Control Register , Address offset: 0x24 */
__IO uint32_t CH4MAD; /*!< Channel 4 Memory Address Register , Address offset: 0x28 */
__IO uint32_t CH5CR; /*!< Channel 5 Control Register , Address offset: 0x2C */
__IO uint32_t CH5MAD; /*!< Channel 5 Memory Address Register , Address offset: 0x30 */
__IO uint32_t CH6CR; /*!< Channel 6 Control Register , Address offset: 0x34 */
__IO uint32_t CH6MAD; /*!< Channel 6 Memory Address Register , Address offset: 0x38 */
__IO uint32_t CH7CR; /*!< Channel 7 Control Register , Address offset: 0x3C */
__IO uint32_t CH7FLSAD; /*!< Channel 7 Flash Address Register , Address offset: 0x40 */
__IO uint32_t CH7RAMAD; /*!< Channel 7 RAM Address Register , Address offset: 0x44 */
__IO uint32_t ISR; /*!< DMA Interrupt Status Register , Address offset: 0x48 */
} DMA_Type;
typedef struct
{
__IO uint32_t IER; /*!< XTLF Oscillation Fail Detection Interrupt Enable Register, Address offset: 0x00 */
__IO uint32_t ISR; /*!< XTLF Oscillation Fail Detection Interrupt Status Register, Address offset: 0x04 */
}FDET_Type;
typedef struct
{
__IO uint32_t RDCR; /*!< Flash Read Control Register, Address offset: 0x00 */
__IO uint32_t PFCR; /*!< Flash Prefetch Control Register, Address offset: 0x04 */
__I uint32_t OPTBR; /*!< Flash Option Bytes Register, Address offset: 0x08 */
__IO uint32_t ACLOCK1; /*!< Flash Application Code Lock Register 1, Address offset: 0x0C */
__IO uint32_t ACLOCK2; /*!< Flash Application Code Lock Register 2, Address offset: 0x10 */
__IO uint32_t EPCR; /*!< Flash Erase/Program Control Register, Address offset: 0x14 */
__IO uint32_t KEY; /*!< Flash Key Register, Address offset: 0x18 */
__IO uint32_t IER; /*!< Flash Interrupt Enable Register, Address offset: 0x1C */
__IO uint32_t ISR; /*!< Flash Interrupt Status Register, Address offset: 0x20 */
} FLASH_Type;
typedef struct
{
__IO uint32_t INEN; /*!< Input Enable Register */
__IO uint32_t PUEN; /*!< Pull-Up Enable Register */
__IO uint32_t ODEN; /*!< Open-Drain Enable Register */
__IO uint32_t FCR; /*!< Function Control Register */
__IO uint32_t DO; /*!< Data Output Register */
__O uint32_t DSET; /*!< Data Set Register */
__O uint32_t DRST; /*!< Data Reset Register */
__I uint32_t DIN; /*!< Data Input RegisterR */
__IO uint32_t DFS; /*!< Digital Function Select */
__IO uint32_t RSV; /*!< RESERVED REGISTER */
__IO uint32_t ANEN; /*!< Analog channel Enable Register */
} GPIO_Type;
typedef struct
{
__IO uint32_t EXTISEL; /*!< External Interrupt input Select Register */
__IO uint32_t EXTIEDS; /*!< External Interrupt Edge Select and Enable Register */
__IO uint32_t EXTIDF; /*!< External Interrupt Digital Filter Register */
__IO uint32_t EXTIISR; /*!< External Interrupt and Status Register */
__IO uint32_t EXTIDI; /*!< External Interrupt Data Input Register */
__IO uint32_t RSV0[59]; /*!< RESERVED REGISTER */
__IO uint32_t FOUTSEL; /*!< Frequency Output Select Register */
__IO uint32_t RSV1[63]; /*!< RESERVED REGISTER */
__IO uint32_t PINWKEN; /*!< Wakeup Enable Register */
} GPIO_COMMON_Type;
typedef struct
{
__IO uint32_t CR1; /*!< GPTIM Control Register1, Address offset: 0x00 */
__IO uint32_t CR2; /*!< GPTIM Control Register2, Address offset: 0x04 */
__IO uint32_t SMCR; /*!< GPTIM Slave Mode Control Register, Address offset: 0x08 */
__IO uint32_t DIER; /*!< GPTIM DMA and Interrupt Enable Register, Address offset: 0x0C */
__IO uint32_t ISR; /*!< GPTIM Interrupt Status Register, Address offset: 0x10 */
__IO uint32_t EGR; /*!< GPTIM EVENT GENERATE REGISTER, Address offset: 0x14 */
__IO uint32_t CCMR1; /*!< GPTIM Capture/Compare Mode Register1, Address offset: 0x18 */
__IO uint32_t CCMR2; /*!< GPTIM Capture/Compare Mode Register2, Address offset: 0x1C */
__IO uint32_t CCER; /*!< GPTIM Capture/Compare Enable Register, Address offset: 0x20 */
__IO uint32_t CNT; /*!< GPTIM Counter Register, Address offset: 0x24 */
__IO uint32_t PSC; /*!< GPTIM Prescaler Register, Address offset: 0x28 */
__IO uint32_t ARR; /*!< GPTIM Auto-Reload Register, Address offset: 0x2C */
__IO uint32_t RSV0; /*!< RESERVED REGISTER0, Address offset: 0x30 */
__IO uint32_t CCR1; /*!< GPTIM Capture/Compare Register1, Address offset: 0x34 */
__IO uint32_t CCR2; /*!< GPTIM Capture/Compare Register2, Address offset: 0x38 */
__IO uint32_t CCR3; /*!< GPTIM Capture/Compare Register3, Address offset: 0x3C */
__IO uint32_t CCR4; /*!< GPTIM Capture/Compare Register4, Address offset: 0x40 */
__IO uint32_t RSV1; /*!< RESERVED REGISTER1, Address offset: 0x44 */
__IO uint32_t DCR; /*!< GPTIM DMA CONTROL REGISTER, Address offset: 0x48 */
__IO uint32_t DMAR; /*!< GPTIM DMA access Register, Address offset: 0x4C */
__IO uint32_t RSV2; /*!< RESERVED REGISTER2, Address offset: 0x50 */
__IO uint32_t RSV3; /*!< RESERVED REGISTER3, Address offset: 0x54 */
__IO uint32_t RSV4; /*!< RESERVED REGISTER4, Address offset: 0x58 */
__IO uint32_t RSV5; /*!< RESERVED REGISTER5, Address offset: 0x5C */
__IO uint32_t ITRSEL; /*!< GPTIM Internal Trigger Select Register, Address offset: 0x60 */
} GPTIM_Type;
typedef struct
{
__IO uint32_t END; /*!< Dividend Register, Address offset: 0x00 */
__IO uint32_t SOR; /*!< Divisor Regsiter, Address offset: 0x04 */
__IO uint32_t QUOT; /*!< Quotient Register, Address offset: 0x08 */
__IO uint32_t REMD; /*!< Reminder Register, Address offset: 0x0C */
__IO uint32_t SR; /*!< Status Register, Address offset: 0x10 */
} DIV_Type;
typedef struct
{
__IO uint32_t MSPCFGR; /*!< I2C Master Config Register, Address offset: 0x00 */
__IO uint32_t MSPCR; /*!< I2C Master Control Register, Address offset: 0x04 */
__IO uint32_t MSPIER; /*!< I2C Master Intterupt Enable Register, Address offset: 0x08 */
__IO uint32_t MSPISR; /*!< I2C Master Interrupt Status Register, Address offset: 0x0C */
__IO uint32_t MSPSR; /*!< I2C Master Status Register, Address offset: 0x10 */
__IO uint32_t MSPBGR; /*!< I2C Master Baud rate Generator Register, Address offset: 0x14 */
__IO uint32_t MSPBUF; /*!< I2C Master transfer Buffer, Address offset: 0x18 */
__IO uint32_t MSPTCR; /*!< I2C Master Timing Control Register, Address offset: 0x1C */
__IO uint32_t MSPTOR; /*!< I2C Master Time-Out Register, Address offset: 0x20 */
__IO uint32_t SSPCR; /*!< I2C Slave Control Register, Address offset: 0x24 */
__IO uint32_t SSPIER; /*!< I2C Slave Interrupt Enable Register, Address offset: 0x28 */
__IO uint32_t SSPISR; /*!< I2C Slave Interrupt Status Register, Address offset: 0x2C */
__IO uint32_t SSPSR; /*!< I2C Slave Status Register, Address offset: 0x30 */
__IO uint32_t SSPBUF; /*!< I2C Slave transfer Buffer, Address offset: 0x34 */
__IO uint32_t SSPADR; /*!< I2C Slave Address Register, Address offset: 0x38 */
} I2C_Type;
typedef struct
{
__IO uint32_t SERV; /*!< IWDT Service Register, Address offset: 0x00 */
__IO uint32_t CR; /*!< IWDT Config Register, Address offset: 0x04 */
__I uint32_t CNT; /*!< IWDT Counter Register, Address offset: 0x08 */
__IO uint32_t WIN; /*!< IWDT Window Register, Address offset: 0x0C */
__IO uint32_t IER; /*!< IWDT Status Register, Address offset: 0x10 */
__IO uint32_t ISR; /*!< IWDT Status Register, Address offset: 0x10 */
} IWDT_Type;
typedef struct
{
__IO uint32_t CR; /*!< LCD Control Register, Address offset: 0x00 */
__IO uint32_t TEST; /*!< LCD test Register, Address offset: 0x04 */
__IO uint32_t FCR; /*!< LCD Frequency Control Register, Address offset: 0x08 */
__IO uint32_t FLKT; /*!< LCD Flick Time Register, Address offset: 0x0C */
__IO uint32_t RSV0; /*!< NULL, Address offset: 0x10 */
__IO uint32_t IER; /*!< LCD Interrupt Enable Register, Address offset: 0x14 */
__IO uint32_t ISR; /*!< LCD Interrupt Status Register, Address offset: 0x18 */
__IO uint32_t RSV1; /*!< NULL, Address offset: 0x1C */
__IO uint32_t RSV2; /*!< NULL, Address offset: 0x20 */
__IO uint32_t DATA0; /*!< LCD data buffer registers 0, Address offset: 0x24 */
__IO uint32_t DATA1; /*!< LCD data buffer registers 1, Address offset: 0x28 */
__IO uint32_t DATA2; /*!< LCD data buffer registers 2, Address offset: 0x2C */
__IO uint32_t DATA3; /*!< LCD data buffer registers 3, Address offset: 0x30 */
__IO uint32_t DATA4; /*!< LCD data buffer registers 4, Address offset: 0x34 */
__IO uint32_t DATA5; /*!< LCD data buffer registers 5, Address offset: 0x38 */
__IO uint32_t DATA6; /*!< LCD data buffer registers 6, Address offset: 0x3C */
__IO uint32_t DATA7; /*!< LCD data buffer registers 7, Address offset: 0x40 */
__IO uint32_t RSV3; /*!< NULL, Address offset: 0x44 */
__IO uint32_t RSV4; /*!< NULL, Address offset: 0x48 */
__IO uint32_t RSV5; /*!< NULL, Address offset: 0x4C */
__IO uint32_t COMEN; /*!< LCD COM Enable Register, Address offset: 0x50 */
__IO uint32_t SEGEN0; /*!< LCD SEG Enable Register0, Address offset: 0x54 */
} LCD_Type;
typedef struct
{
__IO uint32_t CFGR; /*!< LPTIM Config Register, Address offset: 0x00 */
__IO uint32_t CNT; /*!< LPTIM Counter Register, Address offset: 0x04 */
__IO uint32_t CCSR; /*!< LPTIM Capture/Compare Control and Status Register, Address offset: 0x08 */
__IO uint32_t ARR; /*!< LPTIM Auto-Reload Register, Address offset: 0x0C */
__IO uint32_t IER; /*!< LPTIM Interrupt Enable Register, Address offset: 0x10 */
__IO uint32_t ISR; /*!< LPTIM Interrupt Status Register, Address offset: 0x14 */
__IO uint32_t CR; /*!< LPTIM Control Register, Address offset: 0x18 */
__IO uint32_t RSV; /*!< RESERVED REGISTER, Address offset: 0x1C */
__IO uint32_t CCR1; /*!< LPTIM Capture/Compare Register1, Address offset: 0x20 */
__IO uint32_t CCR2; /*!< LPTIM Capture/Compare Register2, Address offset: 0x24 */
} LPTIM32_Type;
typedef struct
{
__IO uint32_t CSR; /*!< LPUART Control Status Register, Address offset: 0x00 */
__IO uint32_t IER; /*!< LPUART Interrupt Enable Register, Address offset: 0x04 */
__IO uint32_t ISR; /*!< LPUART Interrupt Status Register, Address offset: 0x08 */
__IO uint32_t BMR; /*!< LPUART Baud rate Modulation Register, Address offset: 0x0C */
__IO uint32_t RXBUF; /*!< LPUART Receive Buffer Register, Address offset: 0x10 */
__IO uint32_t TXBUF; /*!< LPUART Transmit Buffer Register, Address offset: 0x14 */
__IO uint32_t DMR; /*!< LPUART data Matching Register, Address offset: 0x18 */
} LPUART_Type;
typedef struct
{
__IO uint32_t CR; /*!< OPA Control Register */
__IO uint32_t CALR; /*!< OPA Calibration Register */
__IO uint32_t IER; /*!< OPA Interrupt Enable Register */
__IO uint32_t ISR; /*!< OPA Interrupt Status Register */
} OPA_Type;
typedef struct
{
__IO uint32_t CR; /*!< Power Management Control Register */
__IO uint32_t WKTR; /*!< Wakeup Time Register */
__IO uint32_t WKFR; /*!< Wakeup Source Flags Register */
__IO uint32_t IER; /*!< PMU Interrupt Enable Register */
__IO uint32_t ISR; /*!< PMU Interrupt and Status Register */
} PMU_Type;
typedef struct
{
__IO uint32_t LKPCR; /*!< Lockup reset Control Register , Address offset: 0x00 */
__IO uint32_t SOFTRST; /*!< Software Reset Register , Address offset: 0x04 */
__IO uint32_t RSTFR; /*!< Reset Flag Register , Address offset: 0x08 */
__IO uint32_t SYSCLKCR; /*!< System Clock Control Register , Address offset: 0x0C */
__IO uint32_t RCHFCR; /*!< RCHF Control Register , Address offset: 0x10 */
__IO uint32_t RCHFTR; /*!< RCHF Trim Register , Address offset: 0x14 */
__IO uint32_t PLLCR; /*!< PLL Control Register , Address offset: 0x18 */
__IO uint32_t LPOSCCR; /*!< LPOSC Control Register , Address offset: 0x1C */
__IO uint32_t LPOSCTR; /*!< LPOSC Trim Register , Address offset: 0x20 */
__IO uint32_t XTLFCR; /*!< XTLF CONFIG REGISTER , Address offset: 0x24 */
__IO uint32_t PCLKCR1; /*!< Peripheral bus Clock Control Register1 , Address offset: 0x28 */
__IO uint32_t PCLKCR2; /*!< Peripheral bus Clock Control Register2 , Address offset: 0x2C */
__IO uint32_t PCLKCR3; /*!< Peripheral bus Clock Control Register3 , Address offset: 0x30 */
__IO uint32_t PCLKCR4; /*!< Peripheral bus Clock Control Register4 , Address offset: 0x34 */
__IO uint32_t LSCLKSEL; /*!< LSCLK Select Register , Address offset: 0x38 */
__IO uint32_t RSV0; /*!< RESERVED REGISTER 1 , Address offset: 0x3C */
__IO uint32_t RSV1; /*!< RESERVED REGISTER 2 , Address offset: 0x40 */
__IO uint32_t AHBMCR; /*!< AHB Master Control Register , Address offset: 0x44 */
__IO uint32_t RSV2; /*!< RESERVED REGISTER 3 , Address offset: 0x48 */
__IO uint32_t RSV3; /*!< RESERVED REGISTER 4 , Address offset: 0x4C */
__IO uint32_t PRSTEN; /*!< Peripheral Reset Enable Register , Address offset: 0x50 */
__IO uint32_t AHBRSTCR; /*!< AHB Peripherals Reset Control Register , Address offset: 0x54 */
__IO uint32_t APBRSTCR1; /*!< APB Peripherals Reset Control Register1 , Address offset: 0x58 */
__IO uint32_t APBRSTCR2; /*!< APB Peripherals Reset Control Register2 , Address offset: 0x5C */
__IO uint32_t XTHFCR; /*!< XTHF Control Register , Address offset: 0x60 */
__IO uint32_t RCMFCR; /*!< RCMF Control Register , Address offset: 0x64 */
__IO uint32_t RCMFTR; /*!< RCHF Trim Register , Address offset: 0x68 */
__IO uint32_t OPCCR1; /*!< Peripheral Operation Clock Control Register1, Address offset: 0x6C */
__IO uint32_t OPCCR2; /*!< Peripheral Operation Clock Control Register2, Address offset: 0x70 */
__IO uint32_t PHYCR; /*!< PHY Control Register , Address offset: 0x74 */
__IO uint32_t PHYBCKCR; /*!< PHY BCK Control Register , Address offset: 0x78 */
} RCC_Type;
typedef struct
{
__IO uint32_t PDRCR; /*!< PDR Control Register */
__IO uint32_t BORCR; /*!< BOR Control Register */
} RMU_Type;
typedef struct
{
__IO uint32_t CR; /*!< RNG CONTROL REGISTER, */
} RNGCTL_Type;
typedef struct
{
__IO uint32_t RSV0; /*!< RESERVED REGISTER, Address offset: 0x00 */
__IO uint32_t DOR; /*!< RNG OUTPUT REGISTER, Address offset: 0x04 */
__IO uint32_t RSV1; /*!< RESERVED REGISTER, Address offset: 0x08 */
__IO uint32_t RSV2; /*!< RESERVED REGISTER, Address offset: 0x0C */
__IO uint32_t SR; /*!< RNG FLAG REGISTER, Address offset: 0x10 */
__IO uint32_t CRCCR; /*!< RNG CRC CONTROL REGISTER, Address offset: 0x14 */
__IO uint32_t CRCDIR; /*!< RNG CRC INPUT REGISTER, Address offset: 0x18 */
__IO uint32_t CRCSR; /*!< RNG CRC FLAG REGISTER, Address offset: 0x1C */
} RNG_Type;
typedef struct
{
__IO uint32_t WER; /*!< RTC Write Enable Register, Address offset: 0x00 */
__IO uint32_t IER; /*!< RTC Interrupt Enable Register, Address offset: 0x04 */
__IO uint32_t ISR; /*!< RTC Interrupt Status Register, Address offset: 0x08 */
__IO uint32_t BCDSEC; /*!< RTC SECOND IN BCD REGISTER, Address offset: 0x0C */
__IO uint32_t BCDMIN; /*!< RTC MINITE IN BCD REGISTER, Address offset: 0x10 */
__IO uint32_t BCDHOUR; /*!< RTC HOUR IN BCD REGISTER, Address offset: 0x14 */
__IO uint32_t BCDDAY; /*!< RTC DAY IN BCD REGISTER, Address offset: 0x18 */
__IO uint32_t BCDWEEK; /*!< RTC WEEK IN BCD REGISTER, Address offset: 0x1C */
__IO uint32_t BCDMONTH; /*!< RTC MONTH IN BCD REGISTER, Address offset: 0x20 */
__IO uint32_t BCDYEAR; /*!< RTC YEAR IN BCD REGISTER, Address offset: 0x24 */
__IO uint32_t ALARM; /*!< RTC Alarm Register, Address offset: 0x28 */
__IO uint32_t TMSEL; /*!< RTC Time Mark Select, Address offset: 0x2C */
__IO uint32_t ADJUST; /*!< RTC time Adjust Register, Address offset: 0x30 */
__IO uint32_t ADSIGN; /*!< RTC time Adjust Sign Register, Address offset: 0x34 */
__IO uint32_t RSV0; /*!< NULL, Address offset: 0x38 */
__IO uint32_t SBSCNT; /*!< RTC Sub-Second Counter, Address offset: 0x3C */
__IO uint32_t RSV1[12]; /*!< NULL, Address offset: 0x40 */
__IO uint32_t BKR0; /*!< RTC BACKUP REGISTER0, Address offset: 0x70 */
__IO uint32_t BKR1; /*!< RTC BACKUP REGISTER1, Address offset: 0x74 */
__IO uint32_t BKR2; /*!< RTC BACKUP REGISTER2, Address offset: 0x78 */
__IO uint32_t BKR3; /*!< RTC BACKUP REGISTER3, Address offset: 0x7C */
__IO uint32_t BKR4; /*!< RTC BACKUP REGISTER4, Address offset: 0x80 */
__IO uint32_t BKR5; /*!< RTC BACKUP REGISTER5, Address offset: 0x84 */
__IO uint32_t BKR6; /*!< RTC BACKUP REGISTER6, Address offset: 0x88 */
__IO uint32_t BKR7; /*!< RTC BACKUP REGISTER7, Address offset: 0x8C */
} RTC_Type;
typedef struct
{
__IO uint32_t CR1; /*!< SPI1 Control Register1 */
__IO uint32_t CR2; /*!< SPI1 Control Register2 */
__IO uint32_t CR3; /*!< SPI1 Control Register3 */
__IO uint32_t IER; /*!< SPI1 Interrupt Enable Register */
__IO uint32_t ISR; /*!< SPI1 Status Register */
__IO uint32_t TXBUF; /*!< SPI1 Transmit Buffer */
__IO uint32_t RXBUF; /*!< SPI1 Receive Buffer */
} SPI_Type;
typedef struct
{
__IO uint32_t CFGR; /*!< SVD Config Register, Address offset: 0x24 */
__IO uint32_t CR; /*!< SVD Control Register, Address offset: 0x28 */
__IO uint32_t IER; /*!< SVD Interrupt Enable Register, Address offset: 0x2C */
__IO uint32_t ISR; /*!< SVD Interrupt Status Register, Address offset: 0x30 */
__IO uint32_t VSR; /*!< SVD reference Voltage Select Register, Address offset: 0x34 */
} SVD_Type;
typedef struct
{
__IO uint32_t CR; /*!< U7816 Control Register, Address offset: 0x00 */
__IO uint32_t FFR; /*!< U7816 Frame Format Register, Address offset: 0x04 */
__IO uint32_t EGTR; /*!< U7816 Extra Guard Time Register, Address offset: 0x08 */
__IO uint32_t PSC; /*!< U7816 Prescaler Register, Address offset: 0x0C */
__IO uint32_t BGR; /*!< U7816 Baud rate Generator Register, Address offset: 0x10 */
__IO uint32_t RXBUF; /*!< U7816 Receive Buffer, Address offset: 0x14 */
__IO uint32_t TXBUF; /*!< U7816 Transmit Buffer, Address offset: 0x18 */
__IO uint32_t IER; /*!< U7816 Interrupt Enable Register, Address offset: 0x1C */
__IO uint32_t ISR; /*!< U7816 Interrupt Status Register, Address offset: 0x20 */
} U7816_Type;
typedef struct
{
__IO uint32_t RSV0; /*!< RESERVED REGISTER0, Address offset: 0x00 */
__IO uint32_t RSV1; /*!< RESERVED REGISTER1, Address offset: 0x04 */
__IO uint32_t GAHBCFG; /*!< USB AHB Global Config Register, Address offset: 0x08 */
__IO uint32_t GUSBCFG; /*!< USB Global Config Register, Address offset: 0x0C */
__IO uint32_t GRSTCTL; /*!< USB Global Reset Control Register, Address offset: 0x10 */
__IO uint32_t GINTSTS; /*!< USB Global Interrupt Status Register, Address offset: 0x14 */
__IO uint32_t GINTMSK; /*!< USB Global Interrupt Mask Register, Address offset: 0x18 */
__IO uint32_t GRXSTSR; /*!< USB Receive Status Debug Read Register, Address offset: 0x1C */
__IO uint32_t GRXSTSP; /*!< USB Receive Status and Pop Register, Address offset: 0x20 */
__IO uint32_t GRXFSIZ; /*!< USB Receive FIFO size Register, Address offset: 0x24 */
__IO uint32_t GNPTXFSIZ; /*!< USB Non-Periodic Transmit FIFO size Register, Address offset: 0x28 */
__IO uint32_t RSV2[10]; /*!< Reserved */
__IO uint32_t GLPMCFG; /*!< USB Low-Power-Mode config Register, Address offset: 0x54 */
__IO uint32_t RSV3[490]; /*!< Reserved */
__IO uint32_t DCFG; /*!< USB Device Config Register, Address offset: 0x800*/
__IO uint32_t DCTL; /*!< USB Device Control Register, Address offset: 0x804*/
__IO uint32_t DSTS; /*!< USB Device Status Register, Address offset: 0x808*/
__IO uint32_t DIEPMSK; /*!< USB Device In Endpoint Interrupt Mask Register, Address offset: 0x810*/
__IO uint32_t DOEPMSK; /*!< USB Device OUT Endpoint Interrupt Mask Registe, Address offset: 0x814*/
__IO uint32_t DAINT; /*!< USB Device All Endpoint Interrupt Register, Address offset: 0x818*/
__IO uint32_t DAINTMSK; /*!< USB Device All Endpoint Interrupt Mask Register, Address offset: 0x81C*/
__IO uint32_t RSV4[5]; /*!< Reserved */
__IO uint32_t DIEPEMPMSK; /*!< USB Device IN endpoint FIFO empty interrupt Mask Register,Address offset: 0x834 */
__IO uint32_t RSV5[50]; /*!< Reserved */
__IO uint32_t DIEPCTL0; /*!< USB Device In Endpoint 0 Control Register, Address offset: 0x900*/
__IO uint32_t RSV6; /*!< Reserved */
__IO uint32_t DIEPINT0; /*!< USB Device In Endpoint 0 Interrupt Register, Address offset: 0x908*/
__IO uint32_t RSV7; /*!< Reserved */
__IO uint32_t DIEPTSIZ0; /*!< USB Device IN Endpoint 0 Transfer Size Register, Address offset: 0x910*/
__IO uint32_t RSV8; /*!< Reserved */
__IO uint32_t DTXFSTS0; /*!< USB Device In Endpoint 0 Tranmit FIFO Status Register,Address offset: 0x918 */
__IO uint32_t RSV9; /*!< Reserved */
__IO uint32_t DIEPCTL1; /*!< USB Device In Endpoint 1 Control Register, Address offset: 0x920*/
__IO uint32_t RSV10; /*!< Reserved */
__IO uint32_t DIEPINT1; /*!< USB Device In Endpoint 1 Interrupt Register, Address offset: 0x928*/
__IO uint32_t RSV11; /*!< Reserved */
__IO uint32_t DIEPTSIZ1; /*!< USB Device IN Endpoint 1 Transfer Size Register, Address offset: 0x930*/
__IO uint32_t RSV12; /*!< Reserved */
__IO uint32_t DTXFSTS1; /*!< USB Device In Endpoint 1 Tranmit FIFO Status Register,Address offset: 0x938 */
__IO uint32_t RSV13; /*!< Reserved */
__IO uint32_t DIEPCTL2; /*!< USB Device In Endpoint 2 Control Register, Address offset: 0x940*/
__IO uint32_t RSV14; /*!< Reserved */
__IO uint32_t DIEPINT2; /*!< USB Device In Endpoint 2 Interrupt Register, Address offset: 0x948*/
__IO uint32_t RSV15; /*!< Reserved */
__IO uint32_t DIEPTSIZ2; /*!< USB Device In Endpoint 2 Tranmit FIFO Status Register,Address offset: 0x950 */
__IO uint32_t RSV16; /*!< Reserved */
__IO uint32_t DTXFSTS2; /*!< USB Device In Endpoint 2 Tranmit FIFO Status Register,Address offset: 0x958 */
__IO uint32_t RSV17[105]; /*!< Reserved */
__IO uint32_t DOEPCTL0; /*!< USB Device Out Endpoint 0 Control Register, Address offset: 0xB00*/
__IO uint32_t RSV18; /*!< Reserved */
__IO uint32_t DOEPINT0; /*!< USB Device Out Endpoint 0 Interrupt Register, Address offset: 0xB08*/
__IO uint32_t RSV19; /*!< Reserved */
__IO uint32_t DOEPTSIZ0; /*!< USB Device Out Endpoint 0 Transfer Size Register, Address offset: 0xB10*/
__IO uint32_t RSV20; /*!< Reserved */
__IO uint32_t RSV21; /*!< Reserved */
__IO uint32_t RSV22; /*!< Reserved */
__IO uint32_t DOEPCTL1; /*!< USB Device Out Endpoint 1 Control Register, Address offset: 0xB20*/
__IO uint32_t RSV23; /*!< Reserved */
__IO uint32_t DOEPINT1; /*!< USB Device Out Endpoint 1 Interrupt Register, Address offset: 0xB28*/
__IO uint32_t RSV24; /*!< Reserved */
__IO uint32_t DOEPTSIZ1; /*!< USB Device Out Endpoint 1 Transfer Size Register, Address offset: 0xB30*/
__IO uint32_t RSV25; /*!< Reserved */
__IO uint32_t RSV26; /*!< Reserved */
__IO uint32_t RSV27; /*!< Reserved */
__IO uint32_t DOEPCTL2; /*!< USB Device Out Endpoint 2 Control Register, Address offset: 0xB40*/
__IO uint32_t RSV28; /*!< Reserved */
__IO uint32_t DOEPINT2; /*!< USB Device Out Endpoint 2 Interrupt Register, Address offset: 0xB48*/
__IO uint32_t RSV29; /*!< Reserved */
__IO uint32_t DOEPTSIZ2; /*!< USB Device Out Endpoint 2 Transfer Size Register, Address offset: 0xB50*/
__IO uint32_t RSV30[171]; /*!< Reserved */
__IO uint32_t PCGCCTL; /*!< USB Power Control Global Control Register, Address offset: 0xE00*/
} USB_Type;
typedef struct
{
__IO uint32_t IRCR; /*!< Infrared modulation Control Register */
} UART_COMMON_Type;
typedef struct
{
__IO uint32_t CSR; /*!< UART Control Status Register */
__IO uint32_t IER; /*!< UART Interrupt Enable Register */
__IO uint32_t ISR; /*!< UART Interrupt Status Register */
__IO uint32_t TODR; /*!< UART Time-Out and Delay Register */
__IO uint32_t RXBUF; /*!< UART Receive Buffer */
__IO uint32_t TXBUF; /*!< UART Transmit Buffer */
__IO uint32_t BGR; /*!< UART Baud rate Generator Register */
} UART_Type;
typedef struct
{
__IO uint32_t CR; /*!< VREF Control Register */
__IO uint32_t SR; /*!< VREF Status Register */
__IO uint32_t IER; /*!< VREF Interrupt Enable Register */
__IO uint32_t BUFCR; /*!< VREF Interrupt Enable Register */
} VREF_Type;
typedef struct
{
__IO uint32_t CR; /*!< WWDT Control Register, Address offset: 0x00 */
__IO uint32_t CFGR; /*!< WWDT Config Register, Address offset: 0x04 */
__IO uint32_t CNT; /*!< WWDT Counter Register, Address offset: 0x08 */
__IO uint32_t IER; /*!< WWDT Interrupt Enable Register, Address offset: 0x0C */
__IO uint32_t ISR; /*!< WWDT Interrupt Status Register, Address offset: 0x10 */
__IO uint32_t PSC; /*!< WWDT Prescaler Register, Address offset: 0x14 */
} WWDT_Type;
/** @addtogroup Peripheral_memory_map
* @{
*/
#define FLASH_BASE 0x00000000UL /*!< FLASH(up to 1 MB) base address in the alias region */
#define SRAM_BASE 0x20000000UL
#define PERIPH_BASE 0x40000000UL
/* ================================================================================ */
/* ================ Peripheral memory map ================ */
/* ================================================================================ */
/*!< Peripheral memory map */
#define DBG_BASE (PERIPH_BASE + 0x00000000UL)
#define PMU_BASE (PERIPH_BASE + 0x00000100UL)
#define RCC_BASE (PERIPH_BASE + 0x00000200UL)
#define DMA_BASE (PERIPH_BASE + 0x00000400UL)
#define GPIOA_BASE (PERIPH_BASE + 0x00000C00UL)
#define GPIOB_BASE (PERIPH_BASE + 0x00000C40UL)
#define GPIOC_BASE (PERIPH_BASE + 0x00000C80UL)
#define GPIOD_BASE (PERIPH_BASE + 0x00000CC0UL)
#define GPIO_COMMON_BASE (PERIPH_BASE + 0x00000D00UL)
#define FLASH_R_BASE (PERIPH_BASE + 0x00001000UL)
#define U7816_BASE (PERIPH_BASE + 0x00010000UL)
#define LPUART0_BASE (PERIPH_BASE + 0x00010400UL)
#define SPI2_BASE (PERIPH_BASE + 0x00010800UL)
#define LCD_BASE (PERIPH_BASE + 0x00010C00UL)
#define RTC_BASE (PERIPH_BASE + 0x00011000UL)
#define IWDT_BASE (PERIPH_BASE + 0x00011400UL)
#define WWDT_BASE (PERIPH_BASE + 0x00011800UL)
#define UART0_BASE (PERIPH_BASE + 0x00011C00UL)
#define UART1_BASE (PERIPH_BASE + 0x00012000UL)
#define I2C_BASE (PERIPH_BASE + 0x00012400UL)
#define LPTIM32_BASE (PERIPH_BASE + 0x00013400UL)
#define GPTIM0_BASE (PERIPH_BASE + 0x00013800UL)
#define GPTIM1_BASE (PERIPH_BASE + 0x00013C00UL)
#define CRC_BASE (PERIPH_BASE + 0x00018000UL)
#define LPUART1_BASE (PERIPH_BASE + 0x00018400UL)
#define SPI1_BASE (PERIPH_BASE + 0x00018C00UL)
#define DIVAS_BASE (PERIPH_BASE + 0x00019000UL)
#define UART_COMMON_BASE (PERIPH_BASE + 0x00019C00UL)
#define UART4_BASE (PERIPH_BASE + 0x0001A000UL)
#define UART5_BASE (PERIPH_BASE + 0x0001A400UL)
#define RMU_BASE (PERIPH_BASE + 0x0001A800UL)
#define VREF_BASE (PERIPH_BASE + 0x0001A80CUL)
#define SVD_BASE (PERIPH_BASE + 0x0001A824UL)
#define FDET_BASE (PERIPH_BASE + 0x0001A838UL)
#define OPA1_BASE (PERIPH_BASE + 0x0001A844UL)
#define OPA2_BASE (PERIPH_BASE + 0x0001A854UL)
#define RNGCTL_BASE (PERIPH_BASE + 0x0001A868UL)
#define COMP1_BASE (PERIPH_BASE + 0x0001A870UL)
#define COMP2_BASE (PERIPH_BASE + 0x0001A874UL)
#define COMP_COMMON_BASE (PERIPH_BASE + 0x0001A878UL)
#define ADC_BASE (PERIPH_BASE + 0x0001AC00UL)
#define AES_BASE (PERIPH_BASE + 0x0001B800UL)
#define RNG_BASE (PERIPH_BASE + 0x0001BC00UL)
#define ATIM_BASE (PERIPH_BASE + 0x0001B000UL)
#define BSTIM32_BASE (PERIPH_BASE + 0x0001B400UL)
#define USB_BASE (PERIPH_BASE + 0x10000000UL)
/* ================================================================================ */
/* ================ Peripheral declaration ================ */
/* ================================================================================ */
#define DBG ((DBG_Type *) DBG_BASE)
#define PMU ((PMU_Type *) PMU_BASE)
#define VREF ((VREF_Type *) VREF_BASE)
#define RCC ((RCC_Type *) RCC_BASE)
#define RMU ((RMU_Type *) RMU_BASE)
#define DMA ((DMA_Type *) DMA_BASE)
#define GPIOA ((GPIO_Type *) GPIOA_BASE)
#define GPIOB ((GPIO_Type *) GPIOB_BASE)
#define GPIOC ((GPIO_Type *) GPIOC_BASE)
#define GPIOD ((GPIO_Type *) GPIOD_BASE)
#define GPIO ((GPIO_COMMON_Type *) GPIO_COMMON_BASE)
#define FLASH ((FLASH_Type *) FLASH_R_BASE)
#define CRC ((CRC_Type *) CRC_BASE)
#define LPUART0 ((LPUART_Type *) LPUART0_BASE)
#define LPUART1 ((LPUART_Type *) LPUART1_BASE)
#define SPI1 ((SPI_Type *) SPI1_BASE)
#define SPI2 ((SPI_Type *) SPI2_BASE)
#define LCD ((LCD_Type *) LCD_BASE)
#define RTC ((RTC_Type *) RTC_BASE)
#define IWDT ((IWDT_Type *) IWDT_BASE)
#define WWDT ((WWDT_Type *) WWDT_BASE)
#define U7816 ((U7816_Type *) U7816_BASE)
#define UART ((UART_COMMON_Type *) UART_COMMON_BASE)
#define UART0 ((UART_Type *) UART0_BASE)
#define UART1 ((UART_Type *) UART1_BASE)
#define UART4 ((UART_Type *) UART4_BASE)
#define UART5 ((UART_Type *) UART5_BASE)
#define I2C ((I2C_Type *) I2C_BASE)
#define FDET ((FDET_Type *) FDET_BASE)
#define SVD ((SVD_Type *) SVD_BASE)
#define OPA1 ((OPA_Type *) OPA1_BASE)
#define OPA2 ((OPA_Type *) OPA2_BASE)
#define LPTIM32 ((LPTIM32_Type *) LPTIM32_BASE)
#define AES ((AES_Type *) AES_BASE)
#define RNG ((RNG_Type *) RNG_BASE)
#define RNGCTL ((RNGCTL_Type *) RNGCTL_BASE)
#define ATIM ((ATIM_Type *) ATIM_BASE)
#define GPTIM0 ((GPTIM_Type *) GPTIM0_BASE)
#define GPTIM1 ((GPTIM_Type *) GPTIM1_BASE)
#define BSTIM32 ((BSTIM32_Type *) BSTIM32_BASE)
#define ADC ((ADC_Type *) ADC_BASE)
#define COMP1 ((COMP_Type *) COMP1_BASE)
#define COMP2 ((COMP_Type *) COMP2_BASE)
#define COMP ((COMP_COMMON_Type*)COMP_COMMON_BASE)
#define DIV ((DIV_Type *) DIVAS_BASE)
#define USB ((USB_Type *) USB_BASE)
/* ================================================================================ */
/* ================ Peripheral include ================ */
/* ================================================================================ */
/** @} */ /* End of group Device_Peripheral_Registers */
/** @} */ /* End of group FM33LC0XX */
/** @} */ /* End of group Keil */
#ifdef __cplusplus
}
#endif
#endif /* FM33LC0XX_H */