/****************************************************************************************************
|
* @file FM33A0XXEV.h
|
*
|
* @brief CMSIS CORTEX-M0 Peripheral Access Layer Header File for
|
* FM33A0XXEV from Keil.
|
*
|
* @version V0.0.1
|
* @date 7 May 2020
|
*
|
* @note Generated with SVDConv V2.87e
|
* from CMSIS SVD File 'FM33A0XXEV.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 FM33A0XXEV
|
* @{
|
*/
|
|
#ifndef FM33A0XXEV_H
|
#define FM33A0XXEV_H
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus;
|
typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunState;
|
typedef enum {FAIL = 0, PASS = !FAIL} ErrorStatus;
|
|
#define __RCHF_INITIAL_CLOCK (8000000) /* Value of the Internal RC HIGH oscillator in Hz */
|
#define __RCMF_CLOCK (2000000) /* Value of the Internal RC 4M oscillator in Hz */
|
#define __RCLP_CLOCK (32000) /* Value of the Internal RC LOW oscillator in Hz */
|
#define __XTLF_CLOCK (32768) /* Value of the EXTERNAL oscillator in Hz */
|
|
|
/* ------------------------- Interrupt Number Definition ------------------------ */
|
|
typedef enum {
|
|
/* ------------------ FM33A0XXEV Processor Exceptions Numbers ------------------*/
|
Reset_IRQn = -15, /*!< 1 复位向量 */
|
NMI_IRQn = -14, /*!< 2 WKUPx中断低功耗模式错误中断 */
|
HardFault_IRQn = -13, /*!< 3 HardFault中断向量 */
|
SVC_IRQn = -5, /*!< 11 SVCall系统服务请求 */
|
PendSV_IRQn = -2, /*!< 14 可挂起系统服务请求 */
|
SysTick_IRQn = -1, /*!< 15 内部定时器中断向量 */
|
|
/* -------------------- Cortex-M0 Specific Interrupt Numbers --------------------*/
|
WWDT_IRQn = 0, /*!< 0 窗口看门狗中断 */
|
SVD_IRQn = 1, /*!< 1 电源监测报警中断 */
|
RTC_IRQn = 2, /*!< 2 RTC中断 */
|
FLASH_IRQn = 3, /*!< 3 NVMIF中断 */
|
CMU_IRQn = 4, /*!< 4 XTLF停振检测中断XTHF停振检测中断系统时钟切换错误中断 */
|
ADC_IRQn = 5, /*!< 5 ADC或CIC中断 */
|
SPI0_IRQn = 6, /*!< 6 SPI中断 */
|
SPI1_IRQn = 7, /*!< 7 SPI中断 */
|
SPI2_IRQn = 8, /*!< 8 SPI中断 */
|
UART0_IRQn = 9, /*!< 9 UART中断 */
|
UART1_IRQn = 10, /*!< 10 UART中断 */
|
UART2_IRQn = 11, /*!< 11 UART中断 */
|
UART3_IRQn = 12, /*!< 12 UART中断 */
|
UART4_IRQn = 13, /*!< 13 UART中断 */
|
UART5_IRQn = 14, /*!< 14 UART中断 */
|
U7816_IRQn = 15, /*!< 15 U7816中断 */
|
LPUART0_IRQn = 16, /*!< 16 低功耗UART中断 */
|
I2Cx_IRQn = 17, /*!< 17 I2C0&1中断 */
|
RSV_IRQn = 18, /*!< 18 NULL */
|
CRYPTO_IRQn = 19, /*!< 19 加密算法或TRNG中断整合AES/PAE/HASH */
|
LPTIM_IRQn = 20, /*!< 20 低功耗定时器中断 */
|
DMA_IRQn = 21, /*!< 21 DMA中断 */
|
WKUPx_IRQn = 22, /*!< 22 WKUP引脚中断 */
|
COMP_IRQn = 23, /*!< 23 模拟比较器中断 */
|
BTx_IRQn = 24, /*!< 24 Basic Timer x中断 */
|
QSPI_IRQn = 25, /*!< 25 QuadSPI中断 */
|
ETx_IRQn = 26, /*!< 26 Extended Timer x中断 */
|
BSTIM_IRQn = 27, /*!< 27 基本定时器中断 */
|
SPI3_IRQn = 28, /*!< 28 SPI中断 */
|
SPI4_IRQn = 29, /*!< 29 SPI中断 */
|
GPIO_IRQn = 30, /*!< 30 外部引脚中断 */
|
LPUART1_IRQn = 31, /*!< 31 低功耗UART中断 */
|
|
} IRQn_Type;
|
|
|
/** @addtogroup Configuration_of_CMSIS
|
* @{
|
*/
|
|
/* ================================================================================ */
|
/* ================ Processor and Core Peripheral Section ================ */
|
/* ================================================================================ */
|
|
/* ----------------Configuration of the CORTEX-M0 Processor and Core Peripherals---------------- */
|
#define __CM0_REV 0x0100 /*!< CORTEX-M0 Core Revision */
|
#define __MPU_PRESENT 1 /*!< MPU present or not */
|
#define __VTOR_PRESENT 1 /*!< VTOR present or not */
|
#define __NVIC_PRIO_BITS 2 /*!< Number of Bits used for Priority Levels */
|
#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
|
/** @} */ /* End of group Configuration_of_CMSIS */
|
|
#include "core_cm0plus.h" /*!< Cortex-M0 processor and core peripherals*/
|
#include "system_FM33A0XXEV.h" /*!< FM33A0XXEV System*/
|
|
/* ================================================================================ */
|
/* ================ Device Specific Peripheral Section ================ */
|
/* ================================================================================ */
|
|
/** @addtogroup Device_Peripheral_Registers
|
* @{
|
*/
|
|
/* ------------------- Start of section using anonymous unions ------------------ */
|
#if defined(__CC_ARM)
|
#pragma push
|
#pragma anon_unions
|
#elif defined(__ICCARM__)
|
#pragma language=extended
|
#elif defined(__GNUC__)
|
/* anonymous unions are enabled by default */
|
#elif defined(__TMS470__)
|
/* anonymous unions are enabled by default */
|
#elif defined(__TASKING__)
|
#pragma warning 586
|
#else
|
#warning Not supported compiler type
|
#endif
|
|
|
/* ================================================================================ */
|
/* ================ PMU ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< Power Management Control Register, Address offset: 0x00 */
|
__IO uint32_t WKTR; /*!< Wakeup Time Register, Address offset: 0x04 */
|
__IO uint32_t WKFR; /*!< Wakeup Source Flags Register, Address offset: 0x08 */
|
__IO uint32_t IER; /*!< PMU Interrupt Enable Register, Address offset: 0x0C */
|
__IO uint32_t ISR; /*!< PMU Interrupt and Status Register, Address offset: 0x10 */
|
}PMU_Type;
|
|
|
/* ================================================================================ */
|
/* ================ DBG ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t RSV1; /*!< RESERVED REGISTER, Address offset: 0x00 */
|
__IO uint32_t CR; /*!< Debug Configuration Register, Address offset: 0x04 */
|
__IO uint32_t HDFR; /*!< HardFault Flag Register, Address offset: 0x08 */
|
}DBG_Type;
|
|
|
/* ================================================================================ */
|
/* ================ FLS ================ */
|
/* ================================================================================ */
|
|
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 RSV1[2]; /*!< RESERVED REGISTER, Address offset: 0x0C */
|
__IO uint32_t EPCR; /*!< Flash Erase/Program Control Register, Address offset: 0x14 */
|
__O 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 */
|
__IO uint32_t RSV2[9]; /*!< RESERVED REGISTER, Address offset: 0x24 */
|
__IO uint32_t ACLOCK1; /*!< Flash Application Code Lock Register1, Address offset: 0x48 */
|
__IO uint32_t ACLOCK2; /*!< Flash Application Code Lock Register2, Address offset: 0x4C */
|
__IO uint32_t ACLOCK3; /*!< Flash Application Code Lock Register1, Address offset: 0x50 */
|
__IO uint32_t ACLOCK4; /*!< Flash Application Code Lock Register2, Address offset: 0x54 */
|
}FLS_Type;
|
|
|
/* ================================================================================ */
|
/* ================ RMU ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t PDRCR; /*!< PDR Control Register, Address offset: 0x00 */
|
__IO uint32_t BORCR; /*!< BOR Control Register, Address offset: 0x04 */
|
__IO uint32_t RSTCFGR; /*!< Reset Config Register, Address offset: 0x08 */
|
__O uint32_t SOFTRST; /*!< Soft Reset Register, Address offset: 0x0C */
|
__IO uint32_t RSR; /*!< Reset Status Register, Address offset: 0x10 */
|
__O uint32_t PRSTEN; /*!< Peripheral Reset Enable Register, Address offset: 0x14 */
|
__IO uint32_t AHBRST; /*!< AHB Peripheral Reset Register, Address offset: 0x18 */
|
__IO uint32_t APBRST1; /*!< APB Peripheral Reset Register1, Address offset: 0x1C */
|
__IO uint32_t APBRST2; /*!< APB Peripheral Reset Register2, Address offset: 0x20 */
|
}RMU_Type;
|
|
|
/* ================================================================================ */
|
/* ================ IWDT ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__O uint32_t SERV; /*!< IWDT Serve Register, Address offset: 0x00 */
|
__IO uint32_t CFGR; /*!< IWDT Config Register, Address offset: 0x04 */
|
__I uint32_t CNTR; /*!< Counter Register, Address offset: 0x08 */
|
}IWDT_Type;
|
|
|
/* ================================================================================ */
|
/* ================ WWDT ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__O uint32_t CR; /*!< WWDT Control Register, Address offset: 0x00 */
|
__IO uint32_t CFGR; /*!< WWDT Config Register, Address offset: 0x04 */
|
__I uint32_t CNTR; /*!< 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 */
|
__I uint32_t PSCR; /*!< WWDT Prescaler Register, Address offset: 0x14 */
|
}WWDT_Type;
|
|
|
/* ================================================================================ */
|
/* ================ CMU ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t SYSCLKCR; /*!< System Clock Control Register, Address offset: 0x00 */
|
__IO uint32_t RCHFCR; /*!< RCHF Control Register, Address offset: 0x04 */
|
__IO uint32_t RCHFTR; /*!< RCHF Trim Register, Address offset: 0x08 */
|
__IO uint32_t PLLLCR; /*!< PLL_L Control Register, Address offset: 0x0C */
|
__IO uint32_t PLLHCR; /*!< PLL_H Control Register, Address offset: 0x10 */
|
__IO uint32_t XTHFCR; /*!< XTHF Control Register, Address offset: 0x14 */
|
__IO uint32_t IER; /*!< Interrupt Enable Register, Address offset: 0x18 */
|
__IO uint32_t ISR; /*!< Interrupt Status Register, Address offset: 0x1C */
|
__IO uint32_t PCLKCR1; /*!< Peripheral bus Clock Control Register1, Address offset: 0x20 */
|
__IO uint32_t PCLKCR2; /*!< Peripheral bus Clock Control Register2, Address offset: 0x24 */
|
__IO uint32_t PCLKCR3; /*!< Peripheral bus Clock Control Register3, Address offset: 0x28 */
|
__IO uint32_t PCLKCR4; /*!< Peripheral bus Clock Control Register4, Address offset: 0x2C */
|
__IO uint32_t OPCCR1; /*!< Peripheral Operation Clock Control Register1, Address offset: 0x30 */
|
__IO uint32_t OPCCR2; /*!< Peripheral Operation Clock Control Register2, Address offset: 0x34 */
|
}CMU_Type;
|
|
/* ================================================================================ */
|
/* ================ CDIF ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< CDIF Control Register, Address offset: 0x00 */
|
__IO uint32_t PSCR; /*!< CDIF Prescaler Register, Address offset: 0x04 */
|
}CDIF_Type;
|
|
|
/* ================================================================================ */
|
/* ================ VRTC ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t PDRCR; /*!< RESERVED REGISTER, Address offset: 0x00 */
|
__IO uint32_t RSV1[4]; /*!< RESERVED REGISTER, Address offset: 0x04 */
|
__IO uint32_t RCMFCR; /*!< RCMF Control Register, Address offset: 0x14 */
|
__IO uint32_t RCLPCR; /*!< RCLP Control Register, Address offset: 0x18 */
|
__IO uint32_t RCLPTR; /*!< RCLP Control Register, Address offset: 0x1C */
|
__IO uint32_t XTLFCR; /*!< XTLF Control Register, Address offset: 0x20 */
|
__IO uint32_t ADCCR; /*!< ADC Clock Control Register, Address offset: 0x24 */
|
__IO uint32_t LFDIER; /*!< LFDET Interrupt Enable Register, Address offset: 0x28 */
|
__IO uint32_t LFDISR; /*!< LFDET Interrupt Status Register, Address offset: 0x2C */
|
}VRTC_Type;
|
|
|
/* ================================================================================ */
|
/* ================ SVD ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CFGR; /*!< SVD Config Register, Address offset: 0x00 */
|
__IO uint32_t CR; /*!< SVD Control Register, Address offset: 0x04 */
|
__IO uint32_t IER; /*!< SVD Interrupt Enable Register, Address offset: 0x08 */
|
__IO uint32_t ISR; /*!< SVD Interrupt Status Register, Address offset: 0x0C */
|
__IO uint32_t VSR; /*!< SVD reference Voltage Select Register, Address offset: 0x10 */
|
}SVD_Type;
|
|
|
/* ================================================================================ */
|
/* ================ AES ================ */
|
/* ================================================================================ */
|
|
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; /*!< Interrupt Status Register, Address offset: 0x08 */
|
__IO uint32_t DIR; /*!< AES Data Input Register, Address offset: 0x0C */
|
__I uint32_t DOR; /*!< AES Data Output Register, Address offset: 0x10 */
|
__O uint32_t KEY0; /*!< AES Key Register 0, Address offset: 0x14 */
|
__O uint32_t KEY1; /*!< AES Key Register 1, Address offset: 0x18 */
|
__O uint32_t KEY2; /*!< AES Key Register 2, Address offset: 0x1C */
|
__O uint32_t KEY3; /*!< AES Key Register 3, Address offset: 0x20 */
|
__O uint32_t KEY4; /*!< AES Key Register 4, Address offset: 0x24 */
|
__O uint32_t KEY5; /*!< AES Key Register 5, Address offset: 0x28 */
|
__O uint32_t KEY6; /*!< AES Key Register 6, Address offset: 0x2C */
|
__O 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 */
|
__IO uint32_t H0; /*!< AES MultH parameter Register 0, Address offset: 0x44 */
|
__IO uint32_t H1; /*!< AES MultH parameter Register 1, Address offset: 0x48 */
|
__IO uint32_t H2; /*!< AES MultH parameter Register 2, Address offset: 0x4C */
|
__IO uint32_t H3; /*!< AES MultH parameter Register 3, Address offset: 0x50 */
|
}AES_Type;
|
|
|
/* ================================================================================ */
|
/* ================ PAE ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CSR; /*!< , Address offset: 0x00 */
|
__IO uint32_t MLR; /*!< , Address offset: 0x04 */
|
__O uint32_t MPR; /*!< , Address offset: 0x08 */
|
__IO uint32_t M0CFG; /*!< , Address offset: 0x0C */
|
__IO uint32_t M1CFG; /*!< , Address offset: 0x10 */
|
__IO uint32_t M2CFG; /*!< , Address offset: 0x14 */
|
__IO uint32_t M3CFG; /*!< , Address offset: 0x18 */
|
__O uint32_t WORD; /*!< , Address offset: 0x1C */
|
}PAE_Type;
|
|
|
/* ================================================================================ */
|
/* ================ HASH ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CSR; /*!< Hash Control and Status Register, Address offset: 0x00 */
|
__IO uint32_t DTR; /*!< Hash Data Type Register, Address offset: 0x04 */
|
}HASH_Type;
|
|
|
/* ================================================================================ */
|
/* ================ RNG ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< Random Number Generator Control Register, Address offset: 0x00 */
|
__I uint32_t DOR; /*!< Random Number Generator Data Output Register, Address offset: 0x04 */
|
__IO uint32_t RSV1[2]; /*!< RESERVED REGISTER, Address offset: 0x08 */
|
__IO uint32_t SR; /*!< Random Number Generator Status Register, Address offset: 0x10 */
|
__IO uint32_t CRC_CR; /*!< CRC Control Register, Address offset: 0x14 */
|
__IO uint32_t CRC_DIR; /*!< CRC Data input Register, Address offset: 0x18 */
|
__IO uint32_t CRC_SR; /*!< CRC Status Register, Address offset: 0x1C */
|
}RNG_Type;
|
|
|
/* ================================================================================ */
|
/* ================ COMP ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR1; /*!< , Address offset: 0x00 */
|
__IO uint32_t CR2; /*!< , Address offset: 0x04 */
|
__IO uint32_t ICR; /*!< , Address offset: 0x08 */
|
__IO uint32_t ISR; /*!< , Address offset: 0x0C */
|
__IO uint32_t PCR; /*!< , Address offset: 0x010 */
|
}COMP_Type;
|
|
|
/* ================================================================================ */
|
/* ================ I2C ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CFGR; /*!< I2C Master Config Register, Address offset: 0x00 */
|
__IO uint32_t CR; /*!< I2C Master Control Register, Address offset: 0x04 */
|
__IO uint32_t IER; /*!< I2C Master Interrupt Enable Register, Address offset: 0x08 */
|
__IO uint32_t ISR; /*!< I2C Master Interrupt Status Register, Address offset: 0x0C */
|
__IO uint32_t SR; /*!< I2C Master Status Register, Address offset: 0x10 */
|
__IO uint32_t BRG; /*!< I2C Master Baud Rate Generation Register, Address offset: 0x14 */
|
__IO uint32_t BUF; /*!< I2C Master Buffer Register, Address offset: 0x18 */
|
__IO uint32_t TIMING; /*!< I2C Master Timing Register, Address offset: 0x1C */
|
__IO uint32_t TO; /*!< I2C Master Time-Out Register, Address offset: 0x20 */
|
}I2C_Type;
|
|
|
/* ================================================================================ */
|
/* ================ UARTIR ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< Infrared modulation Control Register, Address offset: 0x00 */
|
}UARTIR_Type;
|
|
|
/* ================================================================================ */
|
/* ================ UART ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CSR; /*!< UARTx Control Status Register, Address offset: 0x00 */
|
__IO uint32_t IER; /*!< UARTx Interrupt Enable Register, Address offset: 0x04 */
|
__IO uint32_t ISR; /*!< UARTx Interrupt Status Register, Address offset: 0x08 */
|
__IO uint32_t TODR; /*!< UARTx Time-Out and Delay Register, Address offset: 0x0C */
|
__I uint32_t RXBUF; /*!< UARTx Receive Buffer, Address offset: 0x10 */
|
__IO uint32_t TXBUF; /*!< UARTx Transmit Buffer, Address offset: 0x14 */
|
__IO uint32_t BGR; /*!< UARTx Baud rate Generator Register, Address offset: 0x18 */
|
}UART_Type;
|
|
|
/* ================================================================================ */
|
/* ================ LPUART ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CSR; /*!< Control Status Register, Address offset: 0x00 */
|
__IO uint32_t IER; /*!< Interrupt Enable Register, Address offset: 0x04 */
|
__IO uint32_t ISR; /*!< Interrupt Status Register, Address offset: 0x08 */
|
__IO uint32_t BMR; /*!< Baud rate Modulation Register, Address offset: 0x0C */
|
__IO uint32_t RXBUF; /*!< Receive Buffer Register, Address offset: 0x10 */
|
__IO uint32_t TXBUF; /*!< Transmit Buffer Register, Address offset: 0x14 */
|
__IO uint32_t DMR; /*!< data Matching Register, Address offset: 0x18 */
|
}LPUART_Type;
|
|
|
/* ================================================================================ */
|
/* ================ SPI ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR1; /*!< SPIx Control Register1, Address offset: 0x00 */
|
__IO uint32_t CR2; /*!< SPIx Control Register2, Address offset: 0x04 */
|
__O uint32_t CR3; /*!< SPIx Control Register3, Address offset: 0x08 */
|
__IO uint32_t IER; /*!< SPIx Interrupt Enable Register, Address offset: 0x0C */
|
__IO uint32_t ISR; /*!< SPIx Status Register, Address offset: 0x10 */
|
__O uint32_t TXBUF; /*!< SPIx Transmit Buffer, Address offset: 0x14 */
|
__I uint32_t RXBUF; /*!< SPIx Receive Buffer, Address offset: 0x18 */
|
}SPI_Type;
|
|
|
/* ================================================================================ */
|
/* ================ U7816 ================ */
|
/* ================================================================================ */
|
|
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 */
|
__I uint32_t RXBUF; /*!< U7816 Receive Buffer, Address offset: 0x14 */
|
__O 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;
|
|
|
/* ================================================================================ */
|
/* ================ QSPI ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< QSPI Control Register, Address offset: 0x00 */
|
__IO uint32_t CFG; /*!< Config Register, Address offset: 0x04 */
|
__IO uint32_t SR; /*!< QSPI Status Register, Address offset: 0x08 */
|
__IO uint32_t DATALEN; /*!< QSPI Data Length Register, Address offset: 0x0C */
|
__IO uint32_t CCR; /*!< QSPI Communication Config Register, Address offset: 0x10 */
|
__IO uint32_t ADDR; /*!< QSPI Address Register, Address offset: 0x14 */
|
__IO uint32_t ABR; /*!< QSPI Alternate Bytes Register, Address offset: 0x18 */
|
__IO uint32_t DR; /*!< QSPI Data Register, Address offset: 0x1C */
|
__IO uint32_t SMSK; /*!< QSPI Status Mask Register, Address offset: 0x20 */
|
__IO uint32_t SMAT; /*!< QSPI Status Match Register, Address offset: 0x24 */
|
__IO uint32_t PITV; /*!< QSPI Polling Interval Register, Address offset: 0x28 */
|
__IO uint32_t TO; /*!< QSPI Time Out Register, Address offset: 0x2C */
|
}QSPI_Type;
|
|
|
/* ================================================================================ */
|
/* ================ DMA ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t GCR; /*!< Global Control Register, Address offset: 0x00 */
|
__IO uint32_t CH0CR; /*!< Channel 0 Control Register, Address offset: 0x04 */
|
__IO uint32_t CH0MAR; /*!< Channel 0 Memory Address Register, Address offset: 0x08 */
|
__IO uint32_t CH1CR; /*!< Channel 1 Control Register, Address offset: 0x0C */
|
__IO uint32_t CH1MAR; /*!< Channel 1 Memory Address Register, Address offset: 0x10 */
|
__IO uint32_t CH2CR; /*!< Channel 2 Control Register, Address offset: 0x14 */
|
__IO uint32_t CH2MAR; /*!< Channel 2 Memory Address Register, Address offset: 0x18 */
|
__IO uint32_t CH3CR; /*!< Channel 3 Control Register, Address offset: 0x1C */
|
__IO uint32_t CH3MAR; /*!< Channel 3 Memory Address Register, Address offset: 0x20 */
|
__IO uint32_t CH4CR; /*!< Channel 4 Control Register, Address offset: 0x24 */
|
__IO uint32_t CH4MAR; /*!< Channel 4 Memory Address Register, Address offset: 0x28 */
|
__IO uint32_t CH5CR; /*!< Channel 5 Control Register, Address offset: 0x2C */
|
__IO uint32_t CH5MAR; /*!< Channel 5 Memory Address Register, Address offset: 0x30 */
|
__IO uint32_t CH6CR; /*!< Channel 6 Control Register, Address offset: 0x34 */
|
__IO uint32_t CH6MAR; /*!< Channel 6 Memory Address Register, Address offset: 0x38 */
|
__IO uint32_t CH7CR; /*!< Channel 7 Control Register, Address offset: 0x3C */
|
__IO uint32_t CH7MAR; /*!< Channel 7 Memory Address Register, Address offset: 0x40 */
|
__IO uint32_t CH8CR; /*!< Channel 8 Control Register, Address offset: 0x44 */
|
__IO uint32_t CH8MAR; /*!< Channel 8 Memory Address Register, Address offset: 0x48 */
|
__IO uint32_t CH9CR; /*!< Channel 9 Control Register, Address offset: 0x4C */
|
__IO uint32_t CH9MAR; /*!< Channel 9 Memory Address Register, Address offset: 0x50 */
|
__IO uint32_t CH10CR; /*!< Channel 10 Control Register, Address offset: 0x54 */
|
__IO uint32_t CH10MAR; /*!< Channel 10 Memory Address Register, Address offset: 0x58 */
|
__IO uint32_t CH11CR; /*!< Channel 11 Control Register, Address offset: 0x5C */
|
__IO uint32_t CH11FAR; /*!< Channel 11 Flash Address Register, Address offset: 0x60 */
|
__IO uint32_t CH11RAR; /*!< Channel 11 RAM Address Register, Address offset: 0x64 */
|
__IO uint32_t ISR; /*!< DMA Interrupt Status Register, Address offset: 0x68 */
|
__IO uint32_t RSV1[37]; /*!< RESERVED REGISTER, Address offset: 0x6C */
|
__IO uint32_t CH0CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x100 */
|
__IO uint32_t CH0MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x104 */
|
__IO uint32_t CH1CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x108 */
|
__IO uint32_t CH1MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x10C */
|
__IO uint32_t CH2CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x110 */
|
__IO uint32_t CH2MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x114 */
|
__IO uint32_t CH3CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x118 */
|
__IO uint32_t CH3MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x11C */
|
__IO uint32_t CH4CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x120 */
|
__IO uint32_t CH4MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x124 */
|
__IO uint32_t CH5CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x128 */
|
__IO uint32_t CH5MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x12C */
|
__IO uint32_t CH6CSR; /*!< Channel 0 Control Shadow Register, Address offset: 0x130 */
|
__IO uint32_t CH6MASR; /*!< Channel 0 Memory Address Shadow Register, Address offset: 0x134 */
|
}DMA_Type;
|
|
|
/* ================================================================================ */
|
/* ================ CRC ================ */
|
/* ================================================================================ */
|
|
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; /*!< Address offset: 0x08 */
|
__IO uint32_t XOR; /*!< Address offset: 0x0C */
|
__IO uint32_t RSV1[3];
|
__IO uint32_t POLY; /*!< CRC Polynominal Register, Address offset: 0x1C */
|
}CRC_Type;
|
|
|
/* ================================================================================ */
|
/* ================ BT ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR1; /*!< Basic Timer 1 Control Register 1, Address offset: 0x00 */
|
__IO uint32_t CR2; /*!< Basic Timer 1 Control Register 2, Address offset: 0x04 */
|
__IO uint32_t CFGR1; /*!< Basic Timer 1 Config Register 1, Address offset: 0x08 */
|
__IO uint32_t CFGR2; /*!< Basic Timer 1 Config Register 2, Address offset: 0x0C */
|
__IO uint32_t PRES; /*!< Basic Timer 1 Prescaler Register, Address offset: 0x10 */
|
__IO uint32_t LOADCR; /*!< Basic Timer 1 Load Control Register, Address offset: 0x14 */
|
__I uint32_t CNTL; /*!< Basic Timer 1 Counter Low, Address offset: 0x18 */
|
__I uint32_t CNTH; /*!< Basic Timer 1 Counter High, Address offset: 0x1C */
|
__IO uint32_t PRESET; /*!< Basic Timer 1 Preset Register, Address offset: 0x20 */
|
__IO uint32_t LOADL; /*!< Basic Timer 1 Load Register Low, Address offset: 0x24 */
|
__IO uint32_t LOADH; /*!< Basic Timer 1 Load Register High, Address offset: 0x28 */
|
__IO uint32_t CMPL ; /*!< Basic Timer 1 Compare Register Low, Address offset: 0x2C */
|
__IO uint32_t CMPH ; /*!< Basic Timer 1 Compare Register High, Address offset: 0x30 */
|
__IO uint32_t OUTCNT; /*!< Basic Timer 1 Output Counter, Address offset: 0x34 */
|
__IO uint32_t OCR; /*!< Basic Timer 1 Output Control Register, Address offset: 0x38 */
|
__IO uint32_t IER; /*!< Basic Timer 1 Interrupt Enable Register, Address offset: 0x3C */
|
__IO uint32_t ISR; /*!< Basic Timer 1 Interrupt Status Register, Address offset: 0x40 */
|
}BT_Type;
|
|
|
/* ================================================================================ */
|
/* ================ ET ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< ETx Control Register, Address offset: 0x00 */
|
__IO uint32_t INSR; /*!< ETx Input Select Register, Address offset: 0x04 */
|
__IO uint32_t PSCR1; /*!< ETx Prescaler Register1, Address offset: 0x08 */
|
__IO uint32_t PSCR2; /*!< ETx Prescaler Register2, Address offset: 0x0C */
|
__IO uint32_t IVR; /*!< ETx Initial Value Register, Address offset: 0x10 */
|
__IO uint32_t CMPR; /*!< ETx Compare Register, Address offset: 0x14 */
|
__IO uint32_t IER; /*!< ETx Interrupt Enable Register, Address offset: 0x18 */
|
__IO uint32_t ISR; /*!< ETx Interrupt Status Register, Address offset: 0x1C */
|
}ET_Type;
|
|
/* ================================================================================ */
|
/* ================ ETIM EXTEND ================ */
|
/* ================================================================================ */
|
typedef struct
|
{
|
__IO uint32_t CNT1; /*!< ETIMER COUNTER, Address offset: 0x00 */
|
__IO uint32_t CNT2; /*!< ETIMER COUNTER, Address offset: 0x04 */
|
__IO uint32_t CNT3; /*!< ETIMER COUNTER, Address offset: 0x08 */
|
__IO uint32_t CNT4; /*!< ETIMER COUNTER, Address offset: 0x0C */
|
}ETCNT_Type;
|
|
/* ================================================================================ */
|
/* ================ BSTIM ================ */
|
/* ================================================================================ */
|
|
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 RSV1; /*!< RESERVED REGISTER, 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 */
|
__O uint32_t EGR; /*!< BSTIM Event Generation Register, Address offset: 0x14 */
|
__IO uint32_t RSV2[3]; /*!< RESERVED REGISTER, Address offset: 0x18 */
|
__IO uint32_t CNTR; /*!< BSTIM Counter Register, Address offset: 0x24 */
|
__IO uint32_t PSCR; /*!< BSTIM Prescaler Register, Address offset: 0x28 */
|
__IO uint32_t ARR; /*!< BSTIM Auto-Reload Register, Address offset: 0x2C */
|
}BSTIM_Type;
|
|
|
/* ================================================================================ */
|
/* ================ LPTIM ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CFGR; /*!< LPTIM Config Register, Address offset: 0x00 */
|
__I uint32_t CNTR; /*!< 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 RSV1; /*!< LPTIM 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 */
|
__IO uint32_t CCR3; /*!< LPTIM Capture/Compare Register3, Address offset: 0x28 */
|
__IO uint32_t CCR4; /*!< LPTIM Capture/Compare Register4, Address offset: 0x2C */
|
} LPTIM_Type;
|
|
|
/* ================================================================================ */
|
/* ================ RTC ================ */
|
/* ================================================================================ */
|
|
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 BCD time register, Address offset: 0x0C */
|
__IO uint32_t BCDMIN; /*!< RTC BCD time register, Address offset: 0x10 */
|
__IO uint32_t BCDHOUR; /*!< RTC BCD time register, Address offset: 0x14 */
|
__IO uint32_t BCDDATE; /*!< RTC BCD time register, Address offset: 0x18 */
|
__IO uint32_t BCDWEEK; /*!< RTC BCD time register, Address offset: 0x1C */
|
__IO uint32_t BCDMONTH; /*!< RTC BCD time register, Address offset: 0x20 */
|
__IO uint32_t BCDYEAR; /*!< RTC BCD time 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 VCAL; /*!< RTC Virtual Calibration Register, Address offset: 0x38 */
|
__IO uint32_t MSCNT; /*!< RTC Milli-Second Register, Address offset: 0x3C */
|
__IO uint32_t CALSTEP; /*!< RTC Calibration Step Register, Address offset: 0x40 */
|
__I uint32_t ADCNT; /*!< RTC Adjust Counter Register, Address offset: 0x44 */
|
__I uint32_t SSR; /*!< RTC Sub-Second Register, Address offset: 0x48 */
|
__IO uint32_t SSA; /*!< RTC Sub-Second Alarm Register, Address offset: 0x4C */
|
__IO uint32_t DTR; /*!< RTC Time Mark Duty Cycle Register, Address offset: 0x50 */
|
__IO uint32_t RSV1[10]; /*!< RESERVED REGISTER, Address offset: 0x54 */
|
__IO uint32_t CR; /*!< RTC Control Register, Address offset: 0x7C */
|
}RTC_Type;
|
|
/* ================================================================================ */
|
/* ================ LCD ================ */
|
/* ================================================================================ */
|
|
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 RSV1; /*!< RESERVED REGISTER, 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 RSV2[2]; /*!< RESERVED REGISTER, Address offset: 0x1C */
|
__IO uint32_t DATA0; /*!< data buffer registers 0, Address offset: 0x24 */
|
__IO uint32_t DATA1; /*!< data buffer registers 1, Address offset: 0x28 */
|
__IO uint32_t DATA2; /*!< data buffer registers 2, Address offset: 0x2C */
|
__IO uint32_t DATA3; /*!< data buffer registers 3, Address offset: 0x30 */
|
__IO uint32_t DATA4; /*!< data buffer registers 4, Address offset: 0x34 */
|
__IO uint32_t DATA5; /*!< data buffer registers 5, Address offset: 0x38 */
|
__IO uint32_t DATA6; /*!< data buffer registers 6, Address offset: 0x3C */
|
__IO uint32_t DATA7; /*!< data buffer registers 7, Address offset: 0x40 */
|
__IO uint32_t DATA8; /*!< data buffer registers 8, Address offset: 0x44 */
|
__IO uint32_t DATA9; /*!< data buffer registers 9, Address offset: 0x48 */
|
__IO uint32_t RSV3[1]; /*!< RESERVED REGISTER, 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 */
|
__IO uint32_t SEGEN1; /*!< LCD SEG Enable Register1, Address offset: 0x58 */
|
__IO uint32_t BSTCR; /*!< LCD Boost Control Register, Address offset: 0x5C */
|
}LCD_Type;
|
|
|
/* ================================================================================ */
|
/* ================ ADC ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t CR; /*!< ADC Control Register, Address offset: 0x00 */
|
__IO uint32_t TRIM; /*!< ADC Trim Register, Address offset: 0x04 */
|
__I uint32_t DR; /*!< ADC Data Register, Address offset: 0x08 */
|
__IO uint32_t ISR; /*!< ADC Interrupt Status Regsiter, Address offset: 0x0C */
|
__IO uint32_t CFGR; /*!< ADC Config Register, Address offset: 0x10 */
|
}ADC_Type;
|
|
|
/* ================================================================================ */
|
/* ================ CIC ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__I uint32_t DR; /*!< CIC Output Data Register, Address offset: 0x00 */
|
__IO uint32_t OS; /*!< CIC Output Offset Register, Address offset: 0x04 */
|
__I uint32_t USDR; /*!< CIC Unsigned Data Register, Address offset: 0x08 */
|
__IO uint32_t CR; /*!< CIC Control Register, Address offset: 0x0C */
|
__IO uint32_t ISR; /*!< CIC Interrupt Status Register, Address offset: 0x10 */
|
}CIC_Type;
|
|
|
/* ================================================================================ */
|
/* ================ GPIO ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t INEN; /*!< GPIOx Input Enable Register, Address offset: 0x00 */
|
__IO uint32_t PUEN; /*!< GPIOx Pull-Up Enable Register, Address offset: 0x04 */
|
__IO uint32_t ODEN; /*!< Open-Drain Enable Register, Address offset: 0x08 */
|
__IO uint32_t FCR; /*!< Function Control Register, Address offset: 0x0C */
|
__IO uint32_t DO; /*!< Data Output Register, Address offset: 0x10 */
|
__O uint32_t DSET; /*!< Data Set Register, Address offset: 0x14 */
|
__O uint32_t DRST; /*!< Data Reset Register, Address offset: 0x18 */
|
__I uint32_t DIN; /*!< Data Input Register, Address offset: 0x1C */
|
__IO uint32_t DFS; /*!< Digital Function Select, Address offset: 0x20 */
|
__IO uint32_t RSV; /*!< RESERVED REGISTER, Address offset: 0x24 */
|
__IO uint32_t ANEN; /*!< Analog channel Enable Register, Address offset: 0x28 */
|
}GPIO_Type;
|
|
/* ================================================================================ */
|
/* ================ GPIOH ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t INEN; /*!< GPIOx Input Enable Register, Address offset: 0x00 */
|
__IO uint32_t PUEN; /*!< GPIOx Pull-Up Enable Register, Address offset: 0x04 */
|
__IO uint32_t FCR; /*!< Function Control Register, Address offset: 0x08 */
|
__IO uint32_t DO; /*!< Data Output Register, Address offset: 0x0C */
|
__IO uint32_t DIN; /*!< Data Input Register, Address offset: 0x10 */
|
}GPIOH_Type;
|
|
/* ================================================================================ */
|
/* ================ GPIO ================ */
|
/* ================================================================================ */
|
|
typedef struct
|
{
|
__IO uint32_t EXTISEL0; /*!< External Interrupt input Select Register1, Address offset: 0x00 */
|
__IO uint32_t EXTISEL1; /*!< External Interrupt input Select Register0, Address offset: 0x04 */
|
__IO uint32_t EXTIEDS0; /*!< External Interrupt Edge Select and Enable Register1, Address offset: 0x08 */
|
__IO uint32_t EXTIEDS1; /*!< External Interrupt Edge Select and Enable Register0, Address offset: 0x0C */
|
__IO uint32_t EXTIDF; /*!< External Interrupt Digital Filter Register, Address offset: 0x10 */
|
__IO uint32_t EXTIISR; /*!< External Interrupt and Status Register, Address offset: 0x14 */
|
__I uint32_t EXTIDI; /*!< External Interrupt Data Input Register, Address offset: 0x18 */
|
__IO uint32_t RSV1[9]; /*!< RESERVED REGISTER, Address offset: 0x1C */
|
__IO uint32_t FOUTSEL; /*!< Frequency Output Select Register, Address offset: 0x40 */
|
__IO uint32_t IOMCR; /*!< IO MUX Control Register, Address offset: 0x44 */
|
__IO uint32_t RSV2[62]; /*!< RESERVED REGISTER, Address offset: 0x48 */
|
__IO uint32_t PINWKEN; /*!< Wakeup Enable Register, Address offset: 0x140 */
|
}GPIO_COMMON_Type;
|
|
/* -------------------- End of section using anonymous unions ------------------- */
|
#if defined(__CC_ARM)
|
#pragma pop
|
#elif defined(__ICCARM__)
|
/* leave anonymous unions enabled */
|
#elif defined(__GNUC__)
|
/* anonymous unions are enabled by default */
|
#elif defined(__TMS470__)
|
/* anonymous unions are enabled by default */
|
#elif defined(__TASKING__)
|
#pragma warning restore
|
#else
|
#warning Not supported compiler type
|
#endif
|
|
|
/* ================================================================================ */
|
/* ================ CPU memory map ================ */
|
/* ================================================================================ */
|
|
|
/* Peripheral and SRAM base address */
|
|
#define FLASH_BASE (( uint32_t)0x00000000)
|
#define SRAM_BASE (( uint32_t)0x20000000)
|
#define PERIPH_BASE (( uint32_t)0x40000000)
|
|
|
/* ================================================================================ */
|
/* ================ Peripheral memory map ================ */
|
/* ================================================================================ */
|
|
/* Peripheral memory map */
|
|
#define PMU_BASE (PERIPH_BASE +0x00002000)
|
#define DBG_BASE (PERIPH_BASE +0x00000000)
|
#define FLS_BASE (PERIPH_BASE +0x00001000)
|
#define RMU_BASE (PERIPH_BASE +0x00002800)
|
#define IWDT_BASE (PERIPH_BASE +0x00011400)
|
#define WWDT_BASE (PERIPH_BASE +0x00011800)
|
#define CMU_BASE (PERIPH_BASE +0x00002400)
|
#define CDIF_BASE (PERIPH_BASE +0x0001E000)
|
#define VRTC_BASE (PERIPH_BASE +0x0001F800)
|
#define SVD_BASE (PERIPH_BASE +0x00012800)
|
#define AES_BASE (PERIPH_BASE +0x00013800)
|
#define PAE_BASE (PERIPH_BASE +0x00001400)
|
#define HASH_BASE (PERIPH_BASE +0x00001800)
|
#define RNG_BASE (PERIPH_BASE +0x00013C00)
|
#define COMP_BASE (PERIPH_BASE +0x00015400)
|
#define I2C0_BASE (PERIPH_BASE +0x00012400)
|
#define I2C1_BASE (PERIPH_BASE +0x00015000)
|
#define UARTIR_BASE (PERIPH_BASE +0x00017C00)
|
#define UART0_BASE (PERIPH_BASE +0x00012000)
|
#define UART1_BASE (PERIPH_BASE +0x00016800)
|
#define UART2_BASE (PERIPH_BASE +0x00016C00)
|
#define UART3_BASE (PERIPH_BASE +0x00017000)
|
#define UART4_BASE (PERIPH_BASE +0x00017400)
|
#define UART5_BASE (PERIPH_BASE +0x00017800)
|
#define LPUART0_BASE (PERIPH_BASE +0x00014000)
|
#define LPUART1_BASE (PERIPH_BASE +0x00014400)
|
#define SPI0_BASE (PERIPH_BASE +0x00010400)
|
#define SPI1_BASE (PERIPH_BASE +0x00010800)
|
#define SPI2_BASE (PERIPH_BASE +0x00014800)
|
#define SPI3_BASE (PERIPH_BASE +0x00014C00)
|
#define SPI4_BASE (PERIPH_BASE +0x00016400)
|
#define U7816_BASE (PERIPH_BASE +0x00011C00)
|
#define QSPI_BASE (PERIPH_BASE +0x00000800)
|
#define DMA_BASE (PERIPH_BASE +0x00000400)
|
#define CRC_BASE (PERIPH_BASE +0x00010000)
|
#define BT1_BASE (PERIPH_BASE +0x00013000)
|
#define BT2_BASE (PERIPH_BASE +0x00013044)
|
#define ET1_BASE (PERIPH_BASE +0x00013090)
|
#define ET2_BASE (PERIPH_BASE +0x000130B0)
|
#define ET3_BASE (PERIPH_BASE +0x000130D0)
|
#define ET4_BASE (PERIPH_BASE +0x000130F0)
|
#define ETCNT_BASE (PERIPH_BASE +0x00013110)
|
#define BSTIM_BASE (PERIPH_BASE +0x00016000)
|
#define LPTIM_BASE (PERIPH_BASE +0x00013400)
|
#define RTC_BASE (PERIPH_BASE +0x00011000)
|
#define LCD_BASE (PERIPH_BASE +0x00010C00)
|
#define ADC_BASE (PERIPH_BASE +0x0001FA00)
|
#define CIC_BASE (PERIPH_BASE +0x00015C00)
|
#define GPIOA_BASE (PERIPH_BASE +0x00000C00)
|
#define GPIOB_BASE (PERIPH_BASE +0x00000C40)
|
#define GPIOC_BASE (PERIPH_BASE +0x00000C80)
|
#define GPIOD_BASE (PERIPH_BASE +0x00000CC0)
|
#define GPIOE_BASE (PERIPH_BASE +0x00000D00)
|
#define GPIOF_BASE (PERIPH_BASE +0x00000D40)
|
#define GPIOG_BASE (PERIPH_BASE +0x00000D80)
|
#define GPIOH_BASE (PERIPH_BASE +0x0001FC00)
|
#define GPIO_BASE (PERIPH_BASE +0x00000DC0)
|
|
/* ================================================================================ */
|
/* ================ Peripheral declaration ================ */
|
/* ================================================================================ */
|
|
#define PMU ((PMU_Type *) PMU_BASE )
|
#define DBG ((DBG_Type *) DBG_BASE )
|
#define FLS ((FLS_Type *) FLS_BASE )
|
#define RMU ((RMU_Type *) RMU_BASE )
|
#define IWDT ((IWDT_Type *) IWDT_BASE )
|
#define WWDT ((WWDT_Type *) WWDT_BASE )
|
#define CMU ((CMU_Type *) CMU_BASE )
|
#define CDIF ((CDIF_Type *) CDIF_BASE )
|
#define VRTC ((VRTC_Type *) VRTC_BASE )
|
#define SVD ((SVD_Type *) SVD_BASE )
|
#define AES ((AES_Type *) AES_BASE )
|
#define PAE ((PAE_Type *) PAE_BASE )
|
#define HASH ((HASH_Type *) HASH_BASE )
|
#define RNG ((RNG_Type *) RNG_BASE )
|
#define COMP ((COMP_Type *) COMP_BASE )
|
#define I2C0 ((I2C_Type *) I2C0_BASE )
|
#define I2C1 ((I2C_Type *) I2C1_BASE )
|
#define UARTIR ((UARTIR_Type *) UARTIR_BASE )
|
#define UART0 ((UART_Type *) UART0_BASE )
|
#define UART1 ((UART_Type *) UART1_BASE )
|
#define UART2 ((UART_Type *) UART2_BASE )
|
#define UART3 ((UART_Type *) UART3_BASE )
|
#define UART4 ((UART_Type *) UART4_BASE )
|
#define UART5 ((UART_Type *) UART5_BASE )
|
#define LPUART0 ((LPUART_Type *) LPUART0_BASE )
|
#define LPUART1 ((LPUART_Type *) LPUART1_BASE )
|
#define SPI0 ((SPI_Type *) SPI0_BASE )
|
#define SPI1 ((SPI_Type *) SPI1_BASE )
|
#define SPI2 ((SPI_Type *) SPI2_BASE )
|
#define SPI3 ((SPI_Type *) SPI3_BASE )
|
#define SPI4 ((SPI_Type *) SPI4_BASE )
|
#define U7816 ((U7816_Type *) U7816_BASE )
|
#define QSPI ((QSPI_Type *) QSPI_BASE )
|
#define DMA ((DMA_Type *) DMA_BASE )
|
#define CRC ((CRC_Type *) CRC_BASE )
|
#define BT1 ((BT_Type *) BT1_BASE )
|
#define BT2 ((BT_Type *) BT2_BASE )
|
#define ET1 ((ET_Type *) ET1_BASE )
|
#define ET2 ((ET_Type *) ET2_BASE )
|
#define ET3 ((ET_Type *) ET3_BASE )
|
#define ET4 ((ET_Type *) ET4_BASE )
|
#define ETCNT ((ETCNT_Type *) ETCNT_BASE )
|
#define BSTIM ((BSTIM_Type *) BSTIM_BASE )
|
#define LPTIM ((LPTIM_Type *) LPTIM_BASE )
|
#define RTC ((RTC_Type *) RTC_BASE )
|
#define LCD ((LCD_Type *) LCD_BASE )
|
#define ADC ((ADC_Type *) ADC_BASE )
|
#define CIC ((CIC_Type *) CIC_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 GPIOE ((GPIO_Type *) GPIOE_BASE )
|
#define GPIOF ((GPIO_Type *) GPIOF_BASE )
|
#define GPIOG ((GPIO_Type *) GPIOG_BASE )
|
#define GPIOH ((GPIOH_Type *) GPIOH_BASE )
|
#define GPIO ((GPIO_COMMON_Type *) GPIO_BASE )
|
|
/* ================================================================================ */
|
/* ================ Peripheral include ================ */
|
/* ================================================================================ */
|
|
/** @} */ /* End of group Device_Peripheral_Registers */
|
/** @} */ /* End of group FM33A0XXEV */
|
/** @} */ /* End of group Keil */
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* FM33A0XXEV_H */
|