/* * Copyright (c) 2009-2016 ARM Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ /* * This file is derivative of CMSIS V5.00 ARMCM3.h */ #ifndef CMSDK_BEETLE_H #define CMSDK_BEETLE_H #ifdef __cplusplus extern "C" { #endif /* ------------------------- Interrupt Number Definition ------------------------ */ typedef enum IRQn { /* ------------------- Cortex-M3 Processor Exceptions Numbers ------------------- */ NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */ HardFault_IRQn = -13, /* 3 HardFault Interrupt */ MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */ BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */ UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */ SVCall_IRQn = -5, /* 11 SV Call Interrupt */ DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */ PendSV_IRQn = -2, /* 14 Pend SV Interrupt */ SysTick_IRQn = -1, /* 15 System Tick Interrupt */ /* --------------------- CMSDK_BEETLE Specific Interrupt Numbers ---------------- */ UART0_IRQn = 0, /* UART 0 RX and TX Combined Interrupt */ Spare_IRQn = 1, /* Undefined */ UART1_IRQn = 2, /* UART 1 RX and TX Combined Interrupt */ I2C0_IRQn = 3, /* I2C 0 Interrupt */ I2C1_IRQn = 4, /* I2C 1 Interrupt */ RTC_IRQn = 5, /* RTC Interrupt */ PORT0_ALL_IRQn = 6, /* GPIO Port 0 combined Interrupt */ PORT1_ALL_IRQn = 7, /* GPIO Port 1 combined Interrupt */ TIMER0_IRQn = 8, /* TIMER 0 Interrupt */ TIMER1_IRQn = 9, /* TIMER 1 Interrupt */ DUALTIMER_IRQn = 10, /* Dual Timer Interrupt */ SPI0_IRQn = 11, /* SPI 0 Interrupt */ UARTOVF_IRQn = 12, /* UART 0,1,2 Overflow Interrupt */ SPI1_IRQn = 13, /* SPI 1 Interrupt */ QSPI_IRQn = 14, /* QUAD SPI Interrupt */ DMA_IRQn = 15, /* Reserved for DMA Interrupt */ PORT0_0_IRQn = 16, /* All P0 I/O pins used as irq source */ PORT0_1_IRQn = 17, /* There are 16 pins in total */ PORT0_2_IRQn = 18, PORT0_3_IRQn = 19, PORT0_4_IRQn = 20, PORT0_5_IRQn = 21, PORT0_6_IRQn = 22, PORT0_7_IRQn = 23, PORT0_8_IRQn = 24, PORT0_9_IRQn = 25, PORT0_10_IRQn = 26, PORT0_11_IRQn = 27, PORT0_12_IRQn = 28, PORT0_13_IRQn = 29, PORT0_14_IRQn = 30, PORT0_15_IRQn = 31, SYSERROR_IRQn = 32, /* System Error Interrupt */ EFLASH_IRQn = 33, /* Embedded Flash Interrupt */ LLCC_TXCMD_EMPTY_IRQn = 34, /* t.b.a */ LLCC_TXEVT_EMPTY_IRQn = 35, /* t.b.a */ LLCC_TXDMAH_DONE_IRQn = 36, /* t.b.a */ LLCC_TXDMAL_DONE_IRQn = 37, /* t.b.a */ LLCC_RXCMD_VALID_IRQn = 38, /* t.b.a */ LLCC_RXEVT_VALID_IRQn = 39, /* t.b.a */ LLCC_RXDMAH_DONE_IRQn = 40, /* t.b.a */ LLCC_RXDMAL_DONE_IRQn = 41, /* t.b.a */ PORT2_ALL_IRQn = 42, /* GPIO Port 2 combined Interrupt */ PORT3_ALL_IRQn = 43, /* GPIO Port 3 combined Interrupt */ TRNG_IRQn = 44, /* Random number generator Interrupt */ } IRQn_Type; /* ================================================================================ */ /* ================ Processor and Core Peripheral Section ================ */ /* ================================================================================ */ /* -------- Configuration of the Cortex-M3 Processor and Core Peripherals ------- */ #define __CM3_REV 0x0201U /* Core revision r2p1 */ #define __MPU_PRESENT 1 /* MPU present */ #define __VTOR_PRESENT 1 /* VTOR present or not */ #define __NVIC_PRIO_BITS 3 /* Number of Bits used for Priority Levels */ #define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */ #ifdef __cplusplus } #endif #include /* Processor and core peripherals */ #endif /* CMSDK_BEETLE_H */