mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 04:08:04 +02:00
873 lines
43 KiB
ObjectPascal
873 lines
43 KiB
ObjectPascal
unit stm32f411xe;
|
||
interface
|
||
{$PACKRECORDS 2}
|
||
{$GOTO ON}
|
||
{$MODESWITCH ADVANCEDRECORDS}
|
||
// *
|
||
// ******************************************************************************
|
||
// * @file stm32f411xe.h
|
||
// * @author MCD Application Team
|
||
// * @version V2.4.0
|
||
// * @date 14-August-2015
|
||
// CMSIS STM32F411xExx Device Peripheral Access Layer Header File.
|
||
// *
|
||
// * This file contains:
|
||
// * - Data structures and the address mapping for all peripherals
|
||
// * - Peripheral's registers declarations and bits definition
|
||
// * - Macros to access peripheral’s registers hardware
|
||
// *
|
||
// ******************************************************************************
|
||
// * @attention
|
||
// *
|
||
// * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
|
||
// *
|
||
// * Redistribution and use in source and binary forms, with or without modification,
|
||
// * are permitted provided that the following conditions are met:
|
||
// * 1. Redistributions of source code must retain the above copyright notice,
|
||
// * this list of conditions and the following disclaimer.
|
||
// * 2. Redistributions in binary form must reproduce the above copyright notice,
|
||
// * this list of conditions and the following disclaimer in the documentation
|
||
// * and/or other materials provided with the distribution.
|
||
// * 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||
// * may be used to endorse or promote products derived from this software
|
||
// * without specific prior written permission.
|
||
// *
|
||
// * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
// * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
// * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||
// * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||
// * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
// * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||
// * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||
// * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
// * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||
// * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
// *
|
||
// ******************************************************************************
|
||
// Configuration of the Cortex-M4 Processor and Core Peripherals
|
||
// STM32F4XX Interrupt Number Definition, according to the selected device
|
||
// * in @ref Library_configuration_section
|
||
|
||
type
|
||
TIRQn_Enum = (
|
||
NonMaskableInt_IRQn = -14, // 2 Non Maskable Interrupt
|
||
MemoryManagement_IRQn = -12, // 4 Cortex-M4 Memory Management Interrupt
|
||
BusFault_IRQn = -11, // 5 Cortex-M4 Bus Fault Interrupt
|
||
UsageFault_IRQn = -10, // 6 Cortex-M4 Usage Fault Interrupt
|
||
SVCall_IRQn = -5, // 11 Cortex-M4 SV Call Interrupt
|
||
DebugMonitor_IRQn = -4, // 12 Cortex-M4 Debug Monitor Interrupt
|
||
PendSV_IRQn = -2, // 14 Cortex-M4 Pend SV Interrupt
|
||
SysTick_IRQn = -1, // 15 Cortex-M4 System Tick Interrupt
|
||
WWDG_IRQn = 0, // Window WatchDog Interrupt
|
||
PVD_IRQn = 1, // PVD through EXTI Line detection Interrupt
|
||
TAMP_STAMP_IRQn = 2, // Tamper and TimeStamp interrupts through the EXTI line
|
||
RTC_WKUP_IRQn = 3, // RTC Wakeup interrupt through the EXTI line
|
||
FLASH_IRQn = 4, // FLASH global Interrupt
|
||
RCC_IRQn = 5, // RCC global Interrupt
|
||
EXTI0_IRQn = 6, // EXTI Line0 Interrupt
|
||
EXTI1_IRQn = 7, // EXTI Line1 Interrupt
|
||
EXTI2_IRQn = 8, // EXTI Line2 Interrupt
|
||
EXTI3_IRQn = 9, // EXTI Line3 Interrupt
|
||
EXTI4_IRQn = 10, // EXTI Line4 Interrupt
|
||
DMA1_Stream0_IRQn = 11, // DMA1 Stream 0 global Interrupt
|
||
DMA1_Stream1_IRQn = 12, // DMA1 Stream 1 global Interrupt
|
||
DMA1_Stream2_IRQn = 13, // DMA1 Stream 2 global Interrupt
|
||
DMA1_Stream3_IRQn = 14, // DMA1 Stream 3 global Interrupt
|
||
DMA1_Stream4_IRQn = 15, // DMA1 Stream 4 global Interrupt
|
||
DMA1_Stream5_IRQn = 16, // DMA1 Stream 5 global Interrupt
|
||
DMA1_Stream6_IRQn = 17, // DMA1 Stream 6 global Interrupt
|
||
ADC_IRQn = 18, // ADC1, ADC2 and ADC3 global Interrupts
|
||
EXTI9_5_IRQn = 23, // External Line[9:5] Interrupts
|
||
TIM1_BRK_TIM9_IRQn = 24, // TIM1 Break interrupt and TIM9 global interrupt
|
||
TIM1_UP_TIM10_IRQn = 25, // TIM1 Update Interrupt and TIM10 global interrupt
|
||
TIM1_TRG_COM_TIM11_IRQn = 26, // TIM1 Trigger and Commutation Interrupt and TIM11 global interrupt
|
||
TIM1_CC_IRQn = 27, // TIM1 Capture Compare Interrupt
|
||
TIM2_IRQn = 28, // TIM2 global Interrupt
|
||
TIM3_IRQn = 29, // TIM3 global Interrupt
|
||
TIM4_IRQn = 30, // TIM4 global Interrupt
|
||
I2C1_EV_IRQn = 31, // I2C1 Event Interrupt
|
||
I2C1_ER_IRQn = 32, // I2C1 Error Interrupt
|
||
I2C2_EV_IRQn = 33, // I2C2 Event Interrupt
|
||
I2C2_ER_IRQn = 34, // I2C2 Error Interrupt
|
||
SPI1_IRQn = 35, // SPI1 global Interrupt
|
||
SPI2_IRQn = 36, // SPI2 global Interrupt
|
||
USART1_IRQn = 37, // USART1 global Interrupt
|
||
USART2_IRQn = 38, // USART2 global Interrupt
|
||
EXTI15_10_IRQn = 40, // External Line[15:10] Interrupts
|
||
RTC_Alarm_IRQn = 41, // RTC Alarm (A and B) through EXTI Line Interrupt
|
||
OTG_FS_WKUP_IRQn = 42, // USB OTG FS Wakeup through EXTI line interrupt
|
||
DMA1_Stream7_IRQn = 47, // DMA1 Stream7 Interrupt
|
||
SDIO_IRQn = 49, // SDIO global Interrupt
|
||
TIM5_IRQn = 50, // TIM5 global Interrupt
|
||
SPI3_IRQn = 51, // SPI3 global Interrupt
|
||
DMA2_Stream0_IRQn = 56, // DMA2 Stream 0 global Interrupt
|
||
DMA2_Stream1_IRQn = 57, // DMA2 Stream 1 global Interrupt
|
||
DMA2_Stream2_IRQn = 58, // DMA2 Stream 2 global Interrupt
|
||
DMA2_Stream3_IRQn = 59, // DMA2 Stream 3 global Interrupt
|
||
DMA2_Stream4_IRQn = 60, // DMA2 Stream 4 global Interrupt
|
||
OTG_FS_IRQn = 67, // USB OTG FS global Interrupt
|
||
DMA2_Stream5_IRQn = 68, // DMA2 Stream 5 global interrupt
|
||
DMA2_Stream6_IRQn = 69, // DMA2 Stream 6 global interrupt
|
||
DMA2_Stream7_IRQn = 70, // DMA2 Stream 7 global interrupt
|
||
USART6_IRQn = 71, // USART6 global interrupt
|
||
I2C3_EV_IRQn = 72, // I2C3 event interrupt
|
||
I2C3_ER_IRQn = 73, // I2C3 error interrupt
|
||
FPU_IRQn = 81, // FPU global interrupt
|
||
SPI4_IRQn = 84, // SPI4 global Interrupt
|
||
SPI5_IRQn = 85 // SPI5 global Interrupt
|
||
);
|
||
|
||
TADC_Registers = record
|
||
SR : longword; // ADC status register
|
||
CR1 : longword; // ADC control register 1
|
||
CR2 : longword; // ADC control register 2
|
||
SMPR1 : longword; // ADC sample time register 1
|
||
SMPR2 : longword; // ADC sample time register 2
|
||
JOFR1 : longword; // ADC injected channel data offset register 1
|
||
JOFR2 : longword; // ADC injected channel data offset register 2
|
||
JOFR3 : longword; // ADC injected channel data offset register 3
|
||
JOFR4 : longword; // ADC injected channel data offset register 4
|
||
HTR : longword; // ADC watchdog higher threshold register
|
||
LTR : longword; // ADC watchdog lower threshold register
|
||
SQR1 : longword; // ADC regular sequence register 1
|
||
SQR2 : longword; // ADC regular sequence register 2
|
||
SQR3 : longword; // ADC regular sequence register 3
|
||
JSQR : longword; // ADC injected sequence register
|
||
JDR1 : longword; // ADC injected data register 1
|
||
JDR2 : longword; // ADC injected data register 2
|
||
JDR3 : longword; // ADC injected data register 3
|
||
JDR4 : longword; // ADC injected data register 4
|
||
DR : longword; // ADC regular data register
|
||
end;
|
||
|
||
TADC_COMMON_Registers = record
|
||
CSR : longword; // ADC Common status register
|
||
CCR : longword; // ADC common control register
|
||
CDR : longword; // ADC common regular data register for dual
|
||
end;
|
||
|
||
TCRC_Registers = record
|
||
DR : longword; // CRC Data register
|
||
IDR : byte; // CRC Independent data register
|
||
RESERVED0 : byte; // Reserved, 0x05
|
||
RESERVED1 : word; // Reserved, 0x06
|
||
CR : longword; // CRC Control register
|
||
end;
|
||
|
||
TDBGMCU_Registers = record
|
||
IDCODE : longword; // MCU device ID code
|
||
CR : longword; // Debug MCU configuration register
|
||
APB1FZ : longword; // Debug MCU APB1 freeze register
|
||
APB2FZ : longword; // Debug MCU APB2 freeze register
|
||
end;
|
||
|
||
TDMA_STREAM_Registers = record
|
||
CR : longword; // DMA stream x configuration register
|
||
NDTR : longword; // DMA stream x number of data register
|
||
PAR : longword; // DMA stream x peripheral address register
|
||
M0AR : longword; // DMA stream x memory 0 address register
|
||
M1AR : longword; // DMA stream x memory 1 address register
|
||
FCR : longword; // DMA stream x FIFO control register
|
||
end;
|
||
|
||
TDMA_Registers = record
|
||
LISR : longword; // DMA low interrupt status register
|
||
HISR : longword; // DMA high interrupt status register
|
||
LIFCR : longword; // DMA low interrupt flag clear register
|
||
HIFCR : longword; // DMA high interrupt flag clear register
|
||
end;
|
||
|
||
TEXTI_Registers = record
|
||
IMR : longword; // EXTI Interrupt mask register
|
||
EMR : longword; // EXTI Event mask register
|
||
RTSR : longword; // EXTI Rising trigger selection register
|
||
FTSR : longword; // EXTI Falling trigger selection register
|
||
SWIER : longword; // EXTI Software interrupt event register
|
||
PR : longword; // EXTI Pending register
|
||
end;
|
||
|
||
TFLASH_Registers = record
|
||
ACR : longword; // FLASH access control register
|
||
KEYR : longword; // FLASH key register
|
||
OPTKEYR : longword; // FLASH option key register
|
||
SR : longword; // FLASH status register
|
||
CR : longword; // FLASH control register
|
||
OPTCR : longword; // FLASH option control register
|
||
OPTCR1 : longword; // FLASH option control register 1
|
||
end;
|
||
|
||
TGPIO_Registers = record
|
||
MODER : longword; // GPIO port mode register
|
||
OTYPER : longword; // GPIO port output type register
|
||
OSPEEDR : longword; // GPIO port output speed register
|
||
PUPDR : longword; // GPIO port pull-up/pull-down register
|
||
IDR : longword; // GPIO port input data register
|
||
ODR : longword; // GPIO port output data register
|
||
BSRR : longword; // GPIO port bit set/reset register
|
||
LCKR : longword; // GPIO port configuration lock register
|
||
AFR : array[0..1] of longword; // GPIO alternate function registers
|
||
end;
|
||
|
||
TSYSCFG_Registers = record
|
||
MEMRMP : longword; // SYSCFG memory remap register
|
||
PMC : longword; // SYSCFG peripheral mode configuration register
|
||
EXTICR : array[0..3] of longword; // SYSCFG external interrupt configuration registers
|
||
RESERVED : array[0..1] of longword; // Reserved, 0x18-0x1C
|
||
CMPCR : longword; // SYSCFG Compensation cell control register
|
||
end;
|
||
|
||
TI2C_Registers = record
|
||
CR1 : longword; // I2C Control register 1
|
||
CR2 : longword; // I2C Control register 2
|
||
OAR1 : longword; // I2C Own address register 1
|
||
OAR2 : longword; // I2C Own address register 2
|
||
DR : longword; // I2C Data register
|
||
SR1 : longword; // I2C Status register 1
|
||
SR2 : longword; // I2C Status register 2
|
||
CCR : longword; // I2C Clock control register
|
||
TRISE : longword; // I2C TRISE register
|
||
FLTR : longword; // I2C FLTR register
|
||
end;
|
||
|
||
TIWDG_Registers = record
|
||
KR : longword; // IWDG Key register
|
||
PR : longword; // IWDG Prescaler register
|
||
RLR : longword; // IWDG Reload register
|
||
SR : longword; // IWDG Status register
|
||
end;
|
||
|
||
TPWR_Registers = record
|
||
CR : longword; // PWR power control register
|
||
CSR : longword; // PWR power control/status register
|
||
end;
|
||
|
||
TRCC_Registers = record
|
||
CR : longword; // RCC clock control register
|
||
PLLCFGR : longword; // RCC PLL configuration register
|
||
CFGR : longword; // RCC clock configuration register
|
||
CIR : longword; // RCC clock interrupt register
|
||
AHB1RSTR : longword; // RCC AHB1 peripheral reset register
|
||
AHB2RSTR : longword; // RCC AHB2 peripheral reset register
|
||
AHB3RSTR : longword; // RCC AHB3 peripheral reset register
|
||
RESERVED0 : longword; // Reserved, 0x1C
|
||
APB1RSTR : longword; // RCC APB1 peripheral reset register
|
||
APB2RSTR : longword; // RCC APB2 peripheral reset register
|
||
RESERVED1 : array[0..1] of longword; // Reserved, 0x28-0x2C
|
||
AHB1ENR : longword; // RCC AHB1 peripheral clock register
|
||
AHB2ENR : longword; // RCC AHB2 peripheral clock register
|
||
AHB3ENR : longword; // RCC AHB3 peripheral clock register
|
||
RESERVED2 : longword; // Reserved, 0x3C
|
||
APB1ENR : longword; // RCC APB1 peripheral clock enable register
|
||
APB2ENR : longword; // RCC APB2 peripheral clock enable register
|
||
RESERVED3 : array[0..1] of longword; // Reserved, 0x48-0x4C
|
||
AHB1LPENR : longword; // RCC AHB1 peripheral clock enable in low power mode register
|
||
AHB2LPENR : longword; // RCC AHB2 peripheral clock enable in low power mode register
|
||
AHB3LPENR : longword; // RCC AHB3 peripheral clock enable in low power mode register
|
||
RESERVED4 : longword; // Reserved, 0x5C
|
||
APB1LPENR : longword; // RCC APB1 peripheral clock enable in low power mode register
|
||
APB2LPENR : longword; // RCC APB2 peripheral clock enable in low power mode register
|
||
RESERVED5 : array[0..1] of longword; // Reserved, 0x68-0x6C
|
||
BDCR : longword; // RCC Backup domain control register
|
||
CSR : longword; // RCC clock control & status register
|
||
RESERVED6 : array[0..1] of longword; // Reserved, 0x78-0x7C
|
||
SSCGR : longword; // RCC spread spectrum clock generation register
|
||
PLLI2SCFGR : longword; // RCC PLLI2S configuration register
|
||
RESERVED7 : longword; // Reserved 0x88
|
||
DCKCFGR : longword; // RCC Dedicated Clocks Configuration Register
|
||
end;
|
||
|
||
TRTC_Registers = record
|
||
TR : longword; // RTC time register
|
||
DR : longword; // RTC date register
|
||
CR : longword; // RTC control register
|
||
ISR : longword; // RTC initialization and status register
|
||
PRER : longword; // RTC prescaler register
|
||
WUTR : longword; // RTC wakeup timer register
|
||
CALIBR : longword; // RTC calibration register
|
||
ALRMAR : longword; // RTC alarm A register
|
||
ALRMBR : longword; // RTC alarm B register
|
||
WPR : longword; // RTC write protection register
|
||
SSR : longword; // RTC sub second register
|
||
SHIFTR : longword; // RTC shift control register
|
||
TSTR : longword; // RTC time stamp time register
|
||
TSDR : longword; // RTC time stamp date register
|
||
TSSSR : longword; // RTC time-stamp sub second register
|
||
CALR : longword; // RTC calibration register
|
||
TAFCR : longword; // RTC tamper and alternate function configuration register
|
||
ALRMASSR : longword; // RTC alarm A sub second register
|
||
ALRMBSSR : longword; // RTC alarm B sub second register
|
||
RESERVED7 : longword; // Reserved, 0x4C
|
||
BKP0R : longword; // RTC backup register 1
|
||
BKP1R : longword; // RTC backup register 1
|
||
BKP2R : longword; // RTC backup register 2
|
||
BKP3R : longword; // RTC backup register 3
|
||
BKP4R : longword; // RTC backup register 4
|
||
BKP5R : longword; // RTC backup register 5
|
||
BKP6R : longword; // RTC backup register 6
|
||
BKP7R : longword; // RTC backup register 7
|
||
BKP8R : longword; // RTC backup register 8
|
||
BKP9R : longword; // RTC backup register 9
|
||
BKP10R : longword; // RTC backup register 10
|
||
BKP11R : longword; // RTC backup register 11
|
||
BKP12R : longword; // RTC backup register 12
|
||
BKP13R : longword; // RTC backup register 13
|
||
BKP14R : longword; // RTC backup register 14
|
||
BKP15R : longword; // RTC backup register 15
|
||
BKP16R : longword; // RTC backup register 16
|
||
BKP17R : longword; // RTC backup register 17
|
||
BKP18R : longword; // RTC backup register 18
|
||
BKP19R : longword; // RTC backup register 19
|
||
end;
|
||
|
||
TSDIO_Registers = record
|
||
POWER : longword; // SDIO power control register
|
||
CLKCR : longword; // SDI clock control register
|
||
ARG : longword; // SDIO argument register
|
||
CMD : longword; // SDIO command register
|
||
RESPCMD : longword; // SDIO command response register
|
||
RESP1 : longword; // SDIO response 1 register
|
||
RESP2 : longword; // SDIO response 2 register
|
||
RESP3 : longword; // SDIO response 3 register
|
||
RESP4 : longword; // SDIO response 4 register
|
||
DTIMER : longword; // SDIO data timer register
|
||
DLEN : longword; // SDIO data length register
|
||
DCTRL : longword; // SDIO data control register
|
||
DCOUNT : longword; // SDIO data counter register
|
||
STA : longword; // SDIO status register
|
||
ICR : longword; // SDIO interrupt clear register
|
||
MASK : longword; // SDIO mask register
|
||
RESERVED0 : array[0..1] of longword; // Reserved, 0x40-0x44
|
||
FIFOCNT : longword; // SDIO FIFO counter register
|
||
RESERVED1 : array[0..12] of longword; // Reserved, 0x4C-0x7C
|
||
FIFO : longword; // SDIO data FIFO register
|
||
end;
|
||
|
||
TSPI_Registers = record
|
||
CR1 : longword; // SPI control register 1 (not used in I2S mode)
|
||
CR2 : longword; // SPI control register 2
|
||
SR : longword; // SPI status register
|
||
DR : longword; // SPI data register
|
||
CRCPR : longword; // SPI CRC polynomial register (not used in I2S mode)
|
||
RXCRCR : longword; // SPI RX CRC register (not used in I2S mode)
|
||
TXCRCR : longword; // SPI TX CRC register (not used in I2S mode)
|
||
I2SCFGR : longword; // SPI_I2S configuration register
|
||
I2SPR : longword; // SPI_I2S prescaler register
|
||
end;
|
||
|
||
TTIM_Registers = record
|
||
CR1 : longword; // TIM control register 1
|
||
CR2 : longword; // TIM control register 2
|
||
SMCR : longword; // TIM slave mode control register
|
||
DIER : longword; // TIM DMA/interrupt enable register
|
||
SR : longword; // TIM status register
|
||
EGR : longword; // TIM event generation register
|
||
CCMR1 : longword; // TIM capture/compare mode register 1
|
||
CCMR2 : longword; // TIM capture/compare mode register 2
|
||
CCER : longword; // TIM capture/compare enable register
|
||
CNT : longword; // TIM counter register
|
||
PSC : longword; // TIM prescaler
|
||
ARR : longword; // TIM auto-reload register
|
||
RCR : longword; // TIM repetition counter register
|
||
CCR1 : longword; // TIM capture/compare register 1
|
||
CCR2 : longword; // TIM capture/compare register 2
|
||
CCR3 : longword; // TIM capture/compare register 3
|
||
CCR4 : longword; // TIM capture/compare register 4
|
||
BDTR : longword; // TIM break and dead-time register
|
||
DCR : longword; // TIM DMA control register
|
||
DMAR : longword; // TIM DMA address for full transfer
|
||
&OR : longword; // TIM option register
|
||
end;
|
||
|
||
TUSART_Registers = record
|
||
SR : longword; // USART Status register
|
||
DR : longword; // USART Data register
|
||
BRR : longword; // USART Baud rate register
|
||
CR1 : longword; // USART Control register 1
|
||
CR2 : longword; // USART Control register 2
|
||
CR3 : longword; // USART Control register 3
|
||
GTPR : longword; // USART Guard time and prescaler register
|
||
end;
|
||
|
||
TWWDG_Registers = record
|
||
CR : longword; // WWDG Control register
|
||
CFR : longword; // WWDG Configuration register
|
||
SR : longword; // WWDG Status register
|
||
end;
|
||
|
||
TUSB_OTG_GLOBAL_Registers = record
|
||
GOTGCTL : longword; // USB_OTG Control and Status Register
|
||
GOTGINT : longword; // USB_OTG Interrupt Register
|
||
GAHBCFG : longword; // Core AHB Configuration Register
|
||
GUSBCFG : longword; // Core USB Configuration Register
|
||
GRSTCTL : longword; // Core Reset Register
|
||
GINTSTS : longword; // Core Interrupt Register
|
||
GINTMSK : longword; // Core Interrupt Mask Register
|
||
GRXSTSR : longword; // Receive Sts Q Read Register
|
||
GRXSTSP : longword; // Receive Sts Q Read & POP Register
|
||
GRXFSIZ : longword; // Receive FIFO Size Register
|
||
DIEPTXF0_HNPTXFSIZ : longword; // EP0 / Non Periodic Tx FIFO Size Register
|
||
HNPTXSTS : longword; // Non Periodic Tx FIFO/Queue Sts reg
|
||
RESERVED30 : array[0..1] of longword; // Reserved
|
||
GCCFG : longword; // General Purpose IO Register
|
||
CID : longword; // User ID Register
|
||
RESERVED40 : array[0..47] of longword; // Reserved
|
||
HPTXFSIZ : longword; // Host Periodic Tx FIFO Size Reg
|
||
DIEPTXF : array[0..14] of longword; // dev Periodic Transmit FIFO
|
||
end;
|
||
|
||
TUSB_OTG_DEVICE_Registers = record
|
||
DCFG : longword; // dev Configuration Register
|
||
DCTL : longword; // dev Control Register
|
||
DSTS : longword; // dev Status Register (RO)
|
||
RESERVED0C : longword; // Reserved
|
||
DIEPMSK : longword; // dev IN Endpoint Mask
|
||
DOEPMSK : longword; // dev OUT Endpoint Mask
|
||
DAINT : longword; // dev All Endpoints Itr Reg
|
||
DAINTMSK : longword; // dev All Endpoints Itr Mask
|
||
RESERVED20 : longword; // Reserved
|
||
RESERVED9 : longword; // Reserved
|
||
DVBUSDIS : longword; // dev VBUS discharge Register
|
||
DVBUSPULSE : longword; // dev VBUS Pulse Register
|
||
DTHRCTL : longword; // dev thr
|
||
DIEPEMPMSK : longword; // dev empty msk
|
||
DEACHINT : longword; // dedicated EP interrupt
|
||
DEACHMSK : longword; // dedicated EP msk
|
||
RESERVED40 : longword; // dedicated EP mask
|
||
DINEP1MSK : longword; // dedicated EP mask
|
||
RESERVED44 : array[0..14] of longword; // Reserved
|
||
DOUTEP1MSK : longword; // dedicated EP msk
|
||
end;
|
||
|
||
TUSB_OTG_INENDPOINT_Registers = record
|
||
DIEPCTL : longword; // dev IN Endpoint Control Reg 900h + (ep_num * 20h) + 00h
|
||
RESERVED04 : longword; // Reserved 900h + (ep_num * 20h) + 04h
|
||
DIEPINT : longword; // dev IN Endpoint Itr Reg 900h + (ep_num * 20h) + 08h
|
||
RESERVED0C : longword; // Reserved 900h + (ep_num * 20h) + 0Ch
|
||
DIEPTSIZ : longword; // IN Endpoint Txfer Size 900h + (ep_num * 20h) + 10h
|
||
DIEPDMA : longword; // IN Endpoint DMA Address Reg 900h + (ep_num * 20h) + 14h
|
||
DTXFSTS : longword; // IN Endpoint Tx FIFO Status Reg 900h + (ep_num * 20h) + 18h
|
||
RESERVED18 : longword; // Reserved 900h+(ep_num*20h)+1Ch-900h+ (ep_num * 20h) + 1Ch
|
||
end;
|
||
|
||
TUSB_OTG_OUTENDPOINT_Registers = record
|
||
DOEPCTL : longword; // dev OUT Endpoint Control Reg B00h + (ep_num * 20h) + 00h
|
||
RESERVED04 : longword; // Reserved B00h + (ep_num * 20h) + 04h
|
||
DOEPINT : longword; // dev OUT Endpoint Itr Reg B00h + (ep_num * 20h) + 08h
|
||
RESERVED0C : longword; // Reserved B00h + (ep_num * 20h) + 0Ch
|
||
DOEPTSIZ : longword; // dev OUT Endpoint Txfer Size B00h + (ep_num * 20h) + 10h
|
||
DOEPDMA : longword; // dev OUT Endpoint DMA Address B00h + (ep_num * 20h) + 14h
|
||
RESERVED18 : array[0..1] of longword; // Reserved B00h + (ep_num * 20h) + 18h - B00h + (ep_num * 20h) + 1Ch
|
||
end;
|
||
|
||
TUSB_OTG_HOST_Registers = record
|
||
HCFG : longword; // Host Configuration Register 400h
|
||
HFIR : longword; // Host Frame Interval Register 404h
|
||
HFNUM : longword; // Host Frame Nbr/Frame Remaining 408h
|
||
RESERVED40C : longword; // Reserved 40Ch
|
||
HPTXSTS : longword; // Host Periodic Tx FIFO/ Queue Status 410h
|
||
HAINT : longword; // Host All Channels Interrupt Register 414h
|
||
HAINTMSK : longword; // Host All Channels Interrupt Mask 418h
|
||
end;
|
||
|
||
TUSB_OTG_HOSTCHANNEL_Registers = record
|
||
HCCHAR : longword;
|
||
HCSPLT : longword;
|
||
HCINT : longword;
|
||
HCINTMSK : longword;
|
||
HCTSIZ : longword;
|
||
HCDMA : longword;
|
||
RESERVED : array[0..1] of longword;
|
||
end;
|
||
|
||
const
|
||
FLASH_BASE = $08000000; // FLASH(up to 1 MB) base address in the alias region
|
||
CCMDATARAM_BASE = $10000000; // CCM(core coupled memory) data RAM(64 KB) base address in the alias region
|
||
SRAM1_BASE = $20000000; // SRAM1(112 KB) base address in the alias region
|
||
SRAM2_BASE = $2001C000; // SRAM2(16 KB) base address in the alias region
|
||
PERIPH_BASE = $40000000; // Peripheral base address in the alias region
|
||
BKPSRAM_BASE = $40024000; // Backup SRAM(4 KB) base address in the alias region
|
||
SRAM1_BB_BASE = $22000000; // SRAM1(112 KB) base address in the bit-band region
|
||
SRAM2_BB_BASE = $22380000; // SRAM2(16 KB) base address in the bit-band region
|
||
PERIPH_BB_BASE = $42000000; // Peripheral base address in the bit-band region
|
||
BKPSRAM_BB_BASE = $42480000; // Backup SRAM(4 KB) base address in the bit-band region
|
||
SRAM_BASE = $20000000;
|
||
SRAM_BB_BASE = $22000000;
|
||
APB1PERIPH_BASE = $40000000;
|
||
APB2PERIPH_BASE = PERIPH_BASE + $00010000;
|
||
AHB1PERIPH_BASE = PERIPH_BASE + $00020000;
|
||
AHB2PERIPH_BASE = PERIPH_BASE + $10000000;
|
||
TIM2_BASE = APB1PERIPH_BASE + $0000;
|
||
TIM3_BASE = APB1PERIPH_BASE + $0400;
|
||
TIM4_BASE = APB1PERIPH_BASE + $0800;
|
||
TIM5_BASE = APB1PERIPH_BASE + $0C00;
|
||
RTC_BASE = APB1PERIPH_BASE + $2800;
|
||
WWDG_BASE = APB1PERIPH_BASE + $2C00;
|
||
IWDG_BASE = APB1PERIPH_BASE + $3000;
|
||
I2S2ext_BASE = APB1PERIPH_BASE + $3400;
|
||
SPI2_BASE = APB1PERIPH_BASE + $3800;
|
||
SPI3_BASE = APB1PERIPH_BASE + $3C00;
|
||
I2S3ext_BASE = APB1PERIPH_BASE + $4000;
|
||
USART2_BASE = APB1PERIPH_BASE + $4400;
|
||
I2C1_BASE = APB1PERIPH_BASE + $5400;
|
||
I2C2_BASE = APB1PERIPH_BASE + $5800;
|
||
I2C3_BASE = APB1PERIPH_BASE + $5C00;
|
||
PWR_BASE = APB1PERIPH_BASE + $7000;
|
||
TIM1_BASE = APB2PERIPH_BASE + $0000;
|
||
USART1_BASE = APB2PERIPH_BASE + $1000;
|
||
USART6_BASE = APB2PERIPH_BASE + $1400;
|
||
ADC1_BASE = APB2PERIPH_BASE + $2000;
|
||
ADC_BASE = APB2PERIPH_BASE + $2300;
|
||
SDIO_BASE = APB2PERIPH_BASE + $2C00;
|
||
SPI1_BASE = APB2PERIPH_BASE + $3000;
|
||
SPI4_BASE = APB2PERIPH_BASE + $3400;
|
||
SYSCFG_BASE = APB2PERIPH_BASE + $3800;
|
||
EXTI_BASE = APB2PERIPH_BASE + $3C00;
|
||
TIM9_BASE = APB2PERIPH_BASE + $4000;
|
||
TIM10_BASE = APB2PERIPH_BASE + $4400;
|
||
TIM11_BASE = APB2PERIPH_BASE + $4800;
|
||
SPI5_BASE = APB2PERIPH_BASE + $5000;
|
||
GPIOA_BASE = AHB1PERIPH_BASE + $0000;
|
||
GPIOB_BASE = AHB1PERIPH_BASE + $0400;
|
||
GPIOC_BASE = AHB1PERIPH_BASE + $0800;
|
||
GPIOD_BASE = AHB1PERIPH_BASE + $0C00;
|
||
GPIOE_BASE = AHB1PERIPH_BASE + $1000;
|
||
GPIOH_BASE = AHB1PERIPH_BASE + $1C00;
|
||
CRC_BASE = AHB1PERIPH_BASE + $3000;
|
||
RCC_BASE = AHB1PERIPH_BASE + $3800;
|
||
FLASH_R_BASE = AHB1PERIPH_BASE + $3C00;
|
||
DMA1_BASE = AHB1PERIPH_BASE + $6000;
|
||
DMA1_Stream0_BASE = DMA1_BASE + $010;
|
||
DMA1_Stream1_BASE = DMA1_BASE + $028;
|
||
DMA1_Stream2_BASE = DMA1_BASE + $040;
|
||
DMA1_Stream3_BASE = DMA1_BASE + $058;
|
||
DMA1_Stream4_BASE = DMA1_BASE + $070;
|
||
DMA1_Stream5_BASE = DMA1_BASE + $088;
|
||
DMA1_Stream6_BASE = DMA1_BASE + $0A0;
|
||
DMA1_Stream7_BASE = DMA1_BASE + $0B8;
|
||
DMA2_BASE = AHB1PERIPH_BASE + $6400;
|
||
DMA2_Stream0_BASE = DMA2_BASE + $010;
|
||
DMA2_Stream1_BASE = DMA2_BASE + $028;
|
||
DMA2_Stream2_BASE = DMA2_BASE + $040;
|
||
DMA2_Stream3_BASE = DMA2_BASE + $058;
|
||
DMA2_Stream4_BASE = DMA2_BASE + $070;
|
||
DMA2_Stream5_BASE = DMA2_BASE + $088;
|
||
DMA2_Stream6_BASE = DMA2_BASE + $0A0;
|
||
DMA2_Stream7_BASE = DMA2_BASE + $0B8;
|
||
DBGMCU_BASE = $E0042000;
|
||
USB_OTG_FS_PERIPH_BASE = $50000000;
|
||
USB_OTG_GLOBAL_BASE = $000;
|
||
USB_OTG_DEVICE_BASE = $800;
|
||
USB_OTG_IN_ENDPOINT_BASE = $900;
|
||
USB_OTG_OUT_ENDPOINT_BASE = $B00;
|
||
USB_OTG_HOST_BASE = $400;
|
||
USB_OTG_HOST_PORT_BASE = $440;
|
||
USB_OTG_HOST_CHANNEL_BASE = $500;
|
||
USB_OTG_PCGCCTL_BASE = $E00;
|
||
USB_OTG_FIFO_BASE = $1000;
|
||
|
||
var
|
||
TIM2 : TTIM_Registers absolute TIM2_BASE;
|
||
TIM3 : TTIM_Registers absolute TIM3_BASE;
|
||
TIM4 : TTIM_Registers absolute TIM4_BASE;
|
||
TIM5 : TTIM_Registers absolute TIM5_BASE;
|
||
RTC : TRTC_Registers absolute RTC_BASE;
|
||
WWDG : TWWDG_Registers absolute WWDG_BASE;
|
||
IWDG : TIWDG_Registers absolute IWDG_BASE;
|
||
I2S2ext : TSPI_Registers absolute I2S2ext_BASE;
|
||
SPI2 : TSPI_Registers absolute SPI2_BASE;
|
||
SPI3 : TSPI_Registers absolute SPI3_BASE;
|
||
I2S3ext : TSPI_Registers absolute I2S3ext_BASE;
|
||
USART2 : TUSART_Registers absolute USART2_BASE;
|
||
I2C1 : TI2C_Registers absolute I2C1_BASE;
|
||
I2C2 : TI2C_Registers absolute I2C2_BASE;
|
||
I2C3 : TI2C_Registers absolute I2C3_BASE;
|
||
PWR : TPWR_Registers absolute PWR_BASE;
|
||
TIM1 : TTIM_Registers absolute TIM1_BASE;
|
||
USART1 : TUSART_Registers absolute USART1_BASE;
|
||
USART6 : TUSART_Registers absolute USART6_BASE;
|
||
ADC : TADC_Common_Registers absolute ADC_BASE;
|
||
ADC1 : TADC_Registers absolute ADC1_BASE;
|
||
SDIO : TSDIO_Registers absolute SDIO_BASE;
|
||
SPI1 : TSPI_Registers absolute SPI1_BASE;
|
||
SPI4 : TSPI_Registers absolute SPI4_BASE;
|
||
SYSCFG : TSYSCFG_Registers absolute SYSCFG_BASE;
|
||
EXTI : TEXTI_Registers absolute EXTI_BASE;
|
||
TIM9 : TTIM_Registers absolute TIM9_BASE;
|
||
TIM10 : TTIM_Registers absolute TIM10_BASE;
|
||
TIM11 : TTIM_Registers absolute TIM11_BASE;
|
||
SPI5 : TSPI_Registers absolute SPI5_BASE;
|
||
GPIOA : TGPIO_Registers absolute GPIOA_BASE;
|
||
GPIOB : TGPIO_Registers absolute GPIOB_BASE;
|
||
GPIOC : TGPIO_Registers absolute GPIOC_BASE;
|
||
GPIOD : TGPIO_Registers absolute GPIOD_BASE;
|
||
GPIOE : TGPIO_Registers absolute GPIOE_BASE;
|
||
GPIOH : TGPIO_Registers absolute GPIOH_BASE;
|
||
CRC : TCRC_Registers absolute CRC_BASE;
|
||
RCC : TRCC_Registers absolute RCC_BASE;
|
||
FLASH : TFLASH_Registers absolute FLASH_R_BASE;
|
||
DMA1 : TDMA_Registers absolute DMA1_BASE;
|
||
DMA1_Stream0 : TDMA_Stream_Registers absolute DMA1_Stream0_BASE;
|
||
DMA1_Stream1 : TDMA_Stream_Registers absolute DMA1_Stream1_BASE;
|
||
DMA1_Stream2 : TDMA_Stream_Registers absolute DMA1_Stream2_BASE;
|
||
DMA1_Stream3 : TDMA_Stream_Registers absolute DMA1_Stream3_BASE;
|
||
DMA1_Stream4 : TDMA_Stream_Registers absolute DMA1_Stream4_BASE;
|
||
DMA1_Stream5 : TDMA_Stream_Registers absolute DMA1_Stream5_BASE;
|
||
DMA1_Stream6 : TDMA_Stream_Registers absolute DMA1_Stream6_BASE;
|
||
DMA1_Stream7 : TDMA_Stream_Registers absolute DMA1_Stream7_BASE;
|
||
DMA2 : TDMA_Registers absolute DMA2_BASE;
|
||
DMA2_Stream0 : TDMA_Stream_Registers absolute DMA2_Stream0_BASE;
|
||
DMA2_Stream1 : TDMA_Stream_Registers absolute DMA2_Stream1_BASE;
|
||
DMA2_Stream2 : TDMA_Stream_Registers absolute DMA2_Stream2_BASE;
|
||
DMA2_Stream3 : TDMA_Stream_Registers absolute DMA2_Stream3_BASE;
|
||
DMA2_Stream4 : TDMA_Stream_Registers absolute DMA2_Stream4_BASE;
|
||
DMA2_Stream5 : TDMA_Stream_Registers absolute DMA2_Stream5_BASE;
|
||
DMA2_Stream6 : TDMA_Stream_Registers absolute DMA2_Stream6_BASE;
|
||
DMA2_Stream7 : TDMA_Stream_Registers absolute DMA2_Stream7_BASE;
|
||
DBGMCU : TDBGMCU_Registers absolute DBGMCU_BASE;
|
||
|
||
implementation
|
||
|
||
procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
|
||
procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
|
||
procedure BusFault_interrupt; external name 'BusFault_interrupt';
|
||
procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
|
||
procedure SVCall_interrupt; external name 'SVCall_interrupt';
|
||
procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
|
||
procedure PendSV_interrupt; external name 'PendSV_interrupt';
|
||
procedure SysTick_interrupt; external name 'SysTick_interrupt';
|
||
procedure WWDG_interrupt; external name 'WWDG_interrupt';
|
||
procedure PVD_interrupt; external name 'PVD_interrupt';
|
||
procedure TAMP_STAMP_interrupt; external name 'TAMP_STAMP_interrupt';
|
||
procedure RTC_WKUP_interrupt; external name 'RTC_WKUP_interrupt';
|
||
procedure FLASH_interrupt; external name 'FLASH_interrupt';
|
||
procedure RCC_interrupt; external name 'RCC_interrupt';
|
||
procedure EXTI0_interrupt; external name 'EXTI0_interrupt';
|
||
procedure EXTI1_interrupt; external name 'EXTI1_interrupt';
|
||
procedure EXTI2_interrupt; external name 'EXTI2_interrupt';
|
||
procedure EXTI3_interrupt; external name 'EXTI3_interrupt';
|
||
procedure EXTI4_interrupt; external name 'EXTI4_interrupt';
|
||
procedure DMA1_Stream0_interrupt; external name 'DMA1_Stream0_interrupt';
|
||
procedure DMA1_Stream1_interrupt; external name 'DMA1_Stream1_interrupt';
|
||
procedure DMA1_Stream2_interrupt; external name 'DMA1_Stream2_interrupt';
|
||
procedure DMA1_Stream3_interrupt; external name 'DMA1_Stream3_interrupt';
|
||
procedure DMA1_Stream4_interrupt; external name 'DMA1_Stream4_interrupt';
|
||
procedure DMA1_Stream5_interrupt; external name 'DMA1_Stream5_interrupt';
|
||
procedure DMA1_Stream6_interrupt; external name 'DMA1_Stream6_interrupt';
|
||
procedure ADC_interrupt; external name 'ADC_interrupt';
|
||
procedure EXTI9_5_interrupt; external name 'EXTI9_5_interrupt';
|
||
procedure TIM1_BRK_TIM9_interrupt; external name 'TIM1_BRK_TIM9_interrupt';
|
||
procedure TIM1_UP_TIM10_interrupt; external name 'TIM1_UP_TIM10_interrupt';
|
||
procedure TIM1_TRG_COM_TIM11_interrupt; external name 'TIM1_TRG_COM_TIM11_interrupt';
|
||
procedure TIM1_CC_interrupt; external name 'TIM1_CC_interrupt';
|
||
procedure TIM2_interrupt; external name 'TIM2_interrupt';
|
||
procedure TIM3_interrupt; external name 'TIM3_interrupt';
|
||
procedure TIM4_interrupt; external name 'TIM4_interrupt';
|
||
procedure I2C1_EV_interrupt; external name 'I2C1_EV_interrupt';
|
||
procedure I2C1_ER_interrupt; external name 'I2C1_ER_interrupt';
|
||
procedure I2C2_EV_interrupt; external name 'I2C2_EV_interrupt';
|
||
procedure I2C2_ER_interrupt; external name 'I2C2_ER_interrupt';
|
||
procedure SPI1_interrupt; external name 'SPI1_interrupt';
|
||
procedure SPI2_interrupt; external name 'SPI2_interrupt';
|
||
procedure USART1_interrupt; external name 'USART1_interrupt';
|
||
procedure USART2_interrupt; external name 'USART2_interrupt';
|
||
procedure EXTI15_10_interrupt; external name 'EXTI15_10_interrupt';
|
||
procedure RTC_Alarm_interrupt; external name 'RTC_Alarm_interrupt';
|
||
procedure OTG_FS_WKUP_interrupt; external name 'OTG_FS_WKUP_interrupt';
|
||
procedure DMA1_Stream7_interrupt; external name 'DMA1_Stream7_interrupt';
|
||
procedure SDIO_interrupt; external name 'SDIO_interrupt';
|
||
procedure TIM5_interrupt; external name 'TIM5_interrupt';
|
||
procedure SPI3_interrupt; external name 'SPI3_interrupt';
|
||
procedure DMA2_Stream0_interrupt; external name 'DMA2_Stream0_interrupt';
|
||
procedure DMA2_Stream1_interrupt; external name 'DMA2_Stream1_interrupt';
|
||
procedure DMA2_Stream2_interrupt; external name 'DMA2_Stream2_interrupt';
|
||
procedure DMA2_Stream3_interrupt; external name 'DMA2_Stream3_interrupt';
|
||
procedure DMA2_Stream4_interrupt; external name 'DMA2_Stream4_interrupt';
|
||
procedure OTG_FS_interrupt; external name 'OTG_FS_interrupt';
|
||
procedure DMA2_Stream5_interrupt; external name 'DMA2_Stream5_interrupt';
|
||
procedure DMA2_Stream6_interrupt; external name 'DMA2_Stream6_interrupt';
|
||
procedure DMA2_Stream7_interrupt; external name 'DMA2_Stream7_interrupt';
|
||
procedure USART6_interrupt; external name 'USART6_interrupt';
|
||
procedure I2C3_EV_interrupt; external name 'I2C3_EV_interrupt';
|
||
procedure I2C3_ER_interrupt; external name 'I2C3_ER_interrupt';
|
||
procedure FPU_interrupt; external name 'FPU_interrupt';
|
||
procedure SPI4_interrupt; external name 'SPI4_interrupt';
|
||
procedure SPI5_interrupt; external name 'SPI5_interrupt';
|
||
|
||
{$i cortexm4f_start.inc}
|
||
|
||
procedure Vectors; assembler; nostackframe;
|
||
label interrupt_vectors;
|
||
asm
|
||
.section ".init.interrupt_vectors"
|
||
interrupt_vectors:
|
||
.long _stack_top
|
||
.long Startup
|
||
.long NonMaskableInt_interrupt
|
||
.long 0
|
||
.long MemoryManagement_interrupt
|
||
.long BusFault_interrupt
|
||
.long UsageFault_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long SVCall_interrupt
|
||
.long DebugMonitor_interrupt
|
||
.long 0
|
||
.long PendSV_interrupt
|
||
.long SysTick_interrupt
|
||
.long WWDG_interrupt
|
||
.long PVD_interrupt
|
||
.long TAMP_STAMP_interrupt
|
||
.long RTC_WKUP_interrupt
|
||
.long FLASH_interrupt
|
||
.long RCC_interrupt
|
||
.long EXTI0_interrupt
|
||
.long EXTI1_interrupt
|
||
.long EXTI2_interrupt
|
||
.long EXTI3_interrupt
|
||
.long EXTI4_interrupt
|
||
.long DMA1_Stream0_interrupt
|
||
.long DMA1_Stream1_interrupt
|
||
.long DMA1_Stream2_interrupt
|
||
.long DMA1_Stream3_interrupt
|
||
.long DMA1_Stream4_interrupt
|
||
.long DMA1_Stream5_interrupt
|
||
.long DMA1_Stream6_interrupt
|
||
.long ADC_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long EXTI9_5_interrupt
|
||
.long TIM1_BRK_TIM9_interrupt
|
||
.long TIM1_UP_TIM10_interrupt
|
||
.long TIM1_TRG_COM_TIM11_interrupt
|
||
.long TIM1_CC_interrupt
|
||
.long TIM2_interrupt
|
||
.long TIM3_interrupt
|
||
.long TIM4_interrupt
|
||
.long I2C1_EV_interrupt
|
||
.long I2C1_ER_interrupt
|
||
.long I2C2_EV_interrupt
|
||
.long I2C2_ER_interrupt
|
||
.long SPI1_interrupt
|
||
.long SPI2_interrupt
|
||
.long USART1_interrupt
|
||
.long USART2_interrupt
|
||
.long 0
|
||
.long EXTI15_10_interrupt
|
||
.long RTC_Alarm_interrupt
|
||
.long OTG_FS_WKUP_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long DMA1_Stream7_interrupt
|
||
.long 0
|
||
.long SDIO_interrupt
|
||
.long TIM5_interrupt
|
||
.long SPI3_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long DMA2_Stream0_interrupt
|
||
.long DMA2_Stream1_interrupt
|
||
.long DMA2_Stream2_interrupt
|
||
.long DMA2_Stream3_interrupt
|
||
.long DMA2_Stream4_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long OTG_FS_interrupt
|
||
.long DMA2_Stream5_interrupt
|
||
.long DMA2_Stream6_interrupt
|
||
.long DMA2_Stream7_interrupt
|
||
.long USART6_interrupt
|
||
.long I2C3_EV_interrupt
|
||
.long I2C3_ER_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long FPU_interrupt
|
||
.long 0
|
||
.long 0
|
||
.long SPI4_interrupt
|
||
.long SPI5_interrupt
|
||
.set NonMaskableInt_interrupt, HaltProc
|
||
.set MemoryManagement_interrupt, HaltProc
|
||
.set BusFault_interrupt, HaltProc
|
||
.set UsageFault_interrupt, HaltProc
|
||
.set SVCall_interrupt, HaltProc
|
||
.set DebugMonitor_interrupt, HaltProc
|
||
.set PendSV_interrupt, HaltProc
|
||
.set SysTick_interrupt, HaltProc
|
||
.set WWDG_interrupt, HaltProc
|
||
.set PVD_interrupt, HaltProc
|
||
.set TAMP_STAMP_interrupt, HaltProc
|
||
.set RTC_WKUP_interrupt, HaltProc
|
||
.set FLASH_interrupt, HaltProc
|
||
.set RCC_interrupt, HaltProc
|
||
.set EXTI0_interrupt, HaltProc
|
||
.set EXTI1_interrupt, HaltProc
|
||
.set EXTI2_interrupt, HaltProc
|
||
.set EXTI3_interrupt, HaltProc
|
||
.set EXTI4_interrupt, HaltProc
|
||
.set DMA1_Stream0_interrupt, HaltProc
|
||
.set DMA1_Stream1_interrupt, HaltProc
|
||
.set DMA1_Stream2_interrupt, HaltProc
|
||
.set DMA1_Stream3_interrupt, HaltProc
|
||
.set DMA1_Stream4_interrupt, HaltProc
|
||
.set DMA1_Stream5_interrupt, HaltProc
|
||
.set DMA1_Stream6_interrupt, HaltProc
|
||
.set ADC_interrupt, HaltProc
|
||
.set EXTI9_5_interrupt, HaltProc
|
||
.set TIM1_BRK_TIM9_interrupt, HaltProc
|
||
.set TIM1_UP_TIM10_interrupt, HaltProc
|
||
.set TIM1_TRG_COM_TIM11_interrupt, HaltProc
|
||
.set TIM1_CC_interrupt, HaltProc
|
||
.set TIM2_interrupt, HaltProc
|
||
.set TIM3_interrupt, HaltProc
|
||
.set TIM4_interrupt, HaltProc
|
||
.set I2C1_EV_interrupt, HaltProc
|
||
.set I2C1_ER_interrupt, HaltProc
|
||
.set I2C2_EV_interrupt, HaltProc
|
||
.set I2C2_ER_interrupt, HaltProc
|
||
.set SPI1_interrupt, HaltProc
|
||
.set SPI2_interrupt, HaltProc
|
||
.set USART1_interrupt, HaltProc
|
||
.set USART2_interrupt, HaltProc
|
||
.set EXTI15_10_interrupt, HaltProc
|
||
.set RTC_Alarm_interrupt, HaltProc
|
||
.set OTG_FS_WKUP_interrupt, HaltProc
|
||
.set DMA1_Stream7_interrupt, HaltProc
|
||
.set SDIO_interrupt, HaltProc
|
||
.set TIM5_interrupt, HaltProc
|
||
.set SPI3_interrupt, HaltProc
|
||
.set DMA2_Stream0_interrupt, HaltProc
|
||
.set DMA2_Stream1_interrupt, HaltProc
|
||
.set DMA2_Stream2_interrupt, HaltProc
|
||
.set DMA2_Stream3_interrupt, HaltProc
|
||
.set DMA2_Stream4_interrupt, HaltProc
|
||
.set OTG_FS_interrupt, HaltProc
|
||
.set DMA2_Stream5_interrupt, HaltProc
|
||
.set DMA2_Stream6_interrupt, HaltProc
|
||
.set DMA2_Stream7_interrupt, HaltProc
|
||
.set USART6_interrupt, HaltProc
|
||
.set I2C3_EV_interrupt, HaltProc
|
||
.set I2C3_ER_interrupt, HaltProc
|
||
.set FPU_interrupt, HaltProc
|
||
.set SPI4_interrupt, HaltProc
|
||
.set SPI5_interrupt, HaltProc
|
||
.text
|
||
end;
|
||
end.
|