日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cortex-A7中断详解(一)

發布時間:2024/1/18 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cortex-A7中断详解(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

STM32中斷系統回顧

  • 中斷向量表
  • NVIC(內嵌向量中斷控制器)
  • 中斷使能
  • 中斷服務函數
  • 中斷向量表

    中斷向量表是一個表,表里面存放的是中斷向量。
    中斷服務程序的入口地址或存放中斷服務程序的首地址成為中斷向量,因此中斷向量表是一系列中斷服務程序入口地址組成的表。
    中斷服務程序在中斷向量表中的位置是由半導體廠商定好的,當某個中斷被觸發以后就會自動跳轉到中斷向量表中對應的中斷服務程序入口地址處。

    中斷向量表在整個程序的最前面,如STM32F103 的中斷向量表如下所示:

    __Vectors DCD __initial_sp ; Top of StackDCD Reset_Handler ; Reset HandlerDCD NMI_Handler ; NMI HandlerDCD HardFault_Handler ; Hard Fault HandlerDCD MemManage_Handler ; MPU Fault HandlerDCD BusFault_Handler ; Bus Fault HandlerDCD UsageFault_Handler ; Usage Fault HandlerDCD 0 ; ReservedDCD 0 ; ReservedDCD 0 ; ReservedDCD 0 ; ReservedDCD SVC_Handler ; SVCall HandlerDCD DebugMon_Handler ; Debug Monitor HandlerDCD 0 ; ReservedDCD PendSV_Handler ; PendSV HandlerDCD SysTick_Handler ; SysTick Handler; External InterruptsDCD WWDG_IRQHandler ; Window WatchdogDCD PVD_IRQHandler ; PVD through EXTI Line detectDCD TAMPER_IRQHandler ; TamperDCD RTC_IRQHandler ; RTCDCD FLASH_IRQHandler ; FlashDCD RCC_IRQHandler ; RCCDCD EXTI0_IRQHandler ; EXTI Line 0DCD EXTI1_IRQHandler ; EXTI Line 1DCD EXTI2_IRQHandler ; EXTI Line 2DCD EXTI3_IRQHandler ; EXTI Line 3DCD EXTI4_IRQHandler ; EXTI Line 4DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7DCD ADC1_2_IRQHandler ; ADC1 & ADC2DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TXDCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0DCD CAN1_RX1_IRQHandler ; CAN1 RX1DCD CAN1_SCE_IRQHandler ; CAN1 SCEDCD EXTI9_5_IRQHandler ; EXTI Line 9..5DCD TIM1_BRK_IRQHandler ; TIM1 BreakDCD TIM1_UP_IRQHandler ; TIM1 UpdateDCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and CommutationDCD TIM1_CC_IRQHandler ; TIM1 Capture CompareDCD TIM2_IRQHandler ; TIM2DCD TIM3_IRQHandler ; TIM3DCD TIM4_IRQHandler ; TIM4DCD I2C1_EV_IRQHandler ; I2C1 EventDCD I2C1_ER_IRQHandler ; I2C1 ErrorDCD I2C2_EV_IRQHandler ; I2C2 EventDCD I2C2_ER_IRQHandler ; I2C2 ErrorDCD SPI1_IRQHandler ; SPI1DCD SPI2_IRQHandler ; SPI2DCD USART1_IRQHandler ; USART1DCD USART2_IRQHandler ; USART2DCD USART3_IRQHandler ; USART3DCD EXTI15_10_IRQHandler ; EXTI Line 15..10DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI LineDCD USBWakeUp_IRQHandler ; USB Wakeup from suspendDCD TIM8_BRK_IRQHandler ; TIM8 BreakDCD TIM8_UP_IRQHandler ; TIM8 UpdateDCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and CommutationDCD TIM8_CC_IRQHandler ; TIM8 Capture CompareDCD ADC3_IRQHandler ; ADC3DCD FSMC_IRQHandler ; FSMCDCD SDIO_IRQHandler ; SDIODCD TIM5_IRQHandler ; TIM5DCD SPI3_IRQHandler ; SPI3DCD UART4_IRQHandler ; UART4DCD UART5_IRQHandler ; UART5DCD TIM6_IRQHandler ; TIM6DCD TIM7_IRQHandler ; TIM7DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 __Vectors_End

    中斷向量表都是鏈接到代碼的最前面,比如一般ARM處理器都是從地址0x00000000開始執行指令的,那么中斷向量表就是從0x00000000開始存放的。

    __initial_sp就是第一條中斷向量,存放的是棧頂指針,接下來是第2行復位中斷服務函數Reset_Handler的入口地址,最后一行是中斷服務函數DMA2_Channel4_5_IRQHandler的入口地址,這樣STM32F103的中斷向量表就建好了。

    雖然ARM處理器都是從地址0x00000000開始運行的,但是我們學習STM32的時候代碼是下載到0x8000000開始的存儲區域中,因此中斷向量表存放到了0x8000000地址處。

    因此,Cortex-M架構引入了中斷向量表偏移,通過中斷向量表偏移就可以將中斷向量表存放到任意地址處。

    #ifdef VECT_TAB_SRAMSCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ #elseSCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ #endif

    中斷向量表偏移配置在函數SystemInit中完成,通過SCB->VTOR寄存器寫入新的中斷向量表首地址即可。

    #define FLASH_BASE 0x08000000UL #define VECT_TAB_OFFSET 0x0

    基本都是將中斷向量表設置到ROM中,也就是地址0x8000000處。

    NVIC(內嵌向量中斷控制器)

    • Cortex-M內核有中斷系統的管理機構-NVIC
    • Cortex-A7內核的中斷管理機構——GIC:general interrupt controller

    中斷使能

    要使用某個外設的中斷,肯定要先使能這個外設的中斷,以STM32F103的PE2這個IO為例,假如我們要使用PE2的輸入中斷肯定要使用如下代碼來使能對應的中斷。使能PE2對應的EXTI2中斷。

    NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中斷通道 NVIC_Init(&NVIC_InitStructure);

    中斷服務函數

    我們使用中斷的目的就是為了使用中斷服務函數,當中斷發生以后中斷服務函數就會被調用,我們要處理的工作就可以放到中斷服務函數中去完成。同樣以 STM32F103 的 PE2 為例,其中斷服務函數如下所示:

    void EXTI2_IRQHandler(void) {/* 中斷處理代碼 */ }

    當 PE2 引腳的中斷觸發以后就會調用其對應的中斷處理函數 EXTI2_IRQHandler,我們可以在函數 EXTI2_IRQHandler 中添加中斷處理代碼。同理,I.MX6U 也有中斷服務函數,當某個外設中斷發生以后就會調用其對應的中斷服務函數。

    Cortex-A7中斷系統簡介

    Cortex-A7的中斷向量表也在代碼的最前面,其內核有8個異常中斷。

  • 復位中斷(Reset),CPU復位后就會進入復位中斷,我們可以在復位中斷服務函數里面做一些初始化工作,比如初始化SP指針,DDR等。
  • 未定義指令中斷(Undefined Instuction),如果指令不能識別的話就會產生此中斷。
  • 軟中斷(Software Interrupt,SWI),由SWI指令引起的中斷,Linux的系統調用會用SWI指令來引起軟中斷,通過軟中斷來陷入到內核空間。
  • 指令預取中止中斷(Prefetch Abort),預取指令出錯的時候會產生此中斷。
  • 數據訪問中止中斷(Data Abort),訪問數據出錯的時候會產生此中斷。
  • IRQ中斷:芯片外設中斷都會引起此中斷發生。
  • FIQ中斷:如果需要快速處理中斷的話就可以使用此中斷。
  • Cortex-A內核CPU的所有外部中斷都屬于這個IRQ中斷,當任意一個外部中斷發生的時候都會觸發IRQ中斷。在IRQ中斷服務函數里面就可以讀取指定的寄存器來判斷發生的具體是什么中斷,進而根據具體的中斷做出
    相應的處理。

    .global _start_start:ldr pc, =Reset_Handler /* 復位中斷 */ ldr pc, =Undefined_Handler /* 未定義中斷 */ldr pc, =SVC_Handler /* SVC(Supervisor)中斷 */ldr pc, =PrefAbort_Handler /* 預取終止中斷 */ldr pc, =DataAbort_Handler /* 數據終止中斷 */ldr pc, =NotUsed_Handler /* 未使用中斷 */ldr pc, =IRQ_Handler /* IRQ中斷 */ldr pc, =FIQ_Handler /* FIQ(快速中斷)未定義中斷 */

    GIC控制器簡介

    STM32(Cortex-M)的中斷控制器叫做NVIC,I.MX6U(Cortex-A)的中斷控制器叫做GIC。

    GIC 是 ARM 公司給 Cortex-A/R 內核提供的一個中斷控制器,類似 Cortex-M 內核中的NVIC。目前 GIC 有 4 個版本:V1~V4,V1 是最老的版本,已經被廢棄了。V2~V4 目前正在大量的使用。GIC V2 是給 ARMv7-A 架構使用的,比如 Cortex-A7、Cortex-A9、Cortex-A15 等,V3 和 V4 是給 ARMv8-A/R 架構使用的,也就是 64 位芯片使用的。I.MX6U 是Cortex-A 內核的,因此我們主要講解 GIC V2。GIC V2 最多支持 8 個核。


    當GIC接收到外部中斷信號以后就會報給ARM內核,但是ARM內核只提供了4個信號給GIC來匯報中斷情況:VFIQ、VIRQ、FIQ和IRQ。

    GIC 接收眾多的外部中斷,然后對其進行處理,最終就只通過四個信號
    報給 ARM 內核,這四個信號的含義如下:

    • VFIQ:虛擬快速 FIQ。
    • VIRQ:虛擬外部 IRQ。
    • FIQ:快速中斷 IRQ。
    • IRQ:外部中斷 IRQ。


    左側部分就是中斷源,中間部分就是GIC控制器,最右側就是中斷控制器向處理器內核發送中斷信息。

    GIC將總多的中斷源分為三類:

  • SPI(Shared Peripheral Interrupt),共享中斷,所有Core共享的中斷,所有外部中斷都屬于SPI中斷。比如按鍵中斷、串口中斷等等,這些中斷所有的 Core 都可以處理,不限定特定 Core。
  • PPI(Private Peripheral Interrupt),私有中斷, GIC 是支持多核的,每個核肯定有自己獨有的中斷。這些獨有的中斷肯定是要指定的核心處理,因此這些中斷就叫做私有中斷。
  • SGI(Software-generated Interrupt),軟件中斷,由軟件觸發引起的中斷,通過向寄存器GICD_SGIR 寫入數據來觸發,系統會使用 SGI 中斷來完成多核之間的通信。
  • 中斷ID

    中斷源很多,為了區分這些不同的中斷源肯定要給他們分配一個唯一的ID,這些ID就是中斷ID。每一個 CPU 最多支持 1020 個中斷 ID,中斷 ID 號為 ID0~ID1019。這 1020 個 ID 包含了 PPI、SPI 和 SGI。

  • ID0~ID15:這 16 個 ID 分配給 SGI。
  • ID16~ID31:這 16 個 ID 分配給 PPI。
  • ID32~ID1019:這 988 個 ID 分配給 SPI,像 GPIO 中斷、串口中斷等這些外部中斷。
  • I.MX6U 的總共使用了 128 個中斷 ID,加上前面屬于 PPI 和 SGI 的 32 個 ID,I.MX6U 的中斷源共有 128+32=160個。

    在MCIMX6Y2C.h中,定義了一個枚舉類型IRQn_Type

    typedef enum IRQn {/* Auxiliary constants */NotAvail_IRQn = -128, /**< Not available device specific interrupt *//* Core interrupts */Software0_IRQn = 0, /**< Cortex-A7 Software Generated Interrupt 0 */Software1_IRQn = 1, /**< Cortex-A7 Software Generated Interrupt 1 */Software2_IRQn = 2, /**< Cortex-A7 Software Generated Interrupt 2 */Software3_IRQn = 3, /**< Cortex-A7 Software Generated Interrupt 3 */Software4_IRQn = 4, /**< Cortex-A7 Software Generated Interrupt 4 */Software5_IRQn = 5, /**< Cortex-A7 Software Generated Interrupt 5 */Software6_IRQn = 6, /**< Cortex-A7 Software Generated Interrupt 6 */Software7_IRQn = 7, /**< Cortex-A7 Software Generated Interrupt 7 */Software8_IRQn = 8, /**< Cortex-A7 Software Generated Interrupt 8 */Software9_IRQn = 9, /**< Cortex-A7 Software Generated Interrupt 9 */Software10_IRQn = 10, /**< Cortex-A7 Software Generated Interrupt 10 */Software11_IRQn = 11, /**< Cortex-A7 Software Generated Interrupt 11 */Software12_IRQn = 12, /**< Cortex-A7 Software Generated Interrupt 12 */Software13_IRQn = 13, /**< Cortex-A7 Software Generated Interrupt 13 */Software14_IRQn = 14, /**< Cortex-A7 Software Generated Interrupt 14 */Software15_IRQn = 15, /**< Cortex-A7 Software Generated Interrupt 15 */VirtualMaintenance_IRQn = 25, /**< Cortex-A7 Virtual Maintenance Interrupt */HypervisorTimer_IRQn = 26, /**< Cortex-A7 Hypervisor Timer Interrupt */VirtualTimer_IRQn = 27, /**< Cortex-A7 Virtual Timer Interrupt */LegacyFastInt_IRQn = 28, /**< Cortex-A7 Legacy nFIQ signal Interrupt */SecurePhyTimer_IRQn = 29, /**< Cortex-A7 Secure Physical Timer Interrupt */NonSecurePhyTimer_IRQn = 30, /**< Cortex-A7 Non-secure Physical Timer Interrupt */LegacyIRQ_IRQn = 31, /**< Cortex-A7 Legacy nIRQ Interrupt *//* Device specific interrupts */IOMUXC_IRQn = 32, /**< General Purpose Register 1 from IOMUXC. Used to notify cores on exception condition while boot. */DAP_IRQn = 33, /**< Debug Access Port interrupt request. */SDMA_IRQn = 34, /**< SDMA interrupt request from all channels. */TSC_IRQn = 35, /**< TSC interrupt. */SNVS_IRQn = 36, /**< Logic OR of SNVS_LP and SNVS_HP interrupts. */LCDIF_IRQn = 37, /**< LCDIF sync interrupt. */RNGB_IRQn = 38, /**< RNGB interrupt. */CSI_IRQn = 39, /**< CMOS Sensor Interface interrupt request. */PXP_IRQ0_IRQn = 40, /**< PXP interrupt pxp_irq_0. */SCTR_IRQ0_IRQn = 41, /**< SCTR compare interrupt ipi_int[0]. */SCTR_IRQ1_IRQn = 42, /**< SCTR compare interrupt ipi_int[1]. */WDOG3_IRQn = 43, /**< WDOG3 timer reset interrupt request. */Reserved44_IRQn = 44, /**< Reserved */APBH_IRQn = 45, /**< DMA Logical OR of APBH DMA channels 0-3 completion and error interrupts. */WEIM_IRQn = 46, /**< WEIM interrupt request. */RAWNAND_BCH_IRQn = 47, /**< BCH operation complete interrupt. */RAWNAND_GPMI_IRQn = 48, /**< GPMI operation timeout error interrupt. */UART6_IRQn = 49, /**< UART6 interrupt request. */PXP_IRQ1_IRQn = 50, /**< PXP interrupt pxp_irq_1. */SNVS_Consolidated_IRQn = 51, /**< SNVS consolidated interrupt. */SNVS_Security_IRQn = 52, /**< SNVS security interrupt. */CSU_IRQn = 53, /**< CSU interrupt request 1. Indicates to the processor that one or more alarm inputs were asserted. */USDHC1_IRQn = 54, /**< USDHC1 (Enhanced SDHC) interrupt request. */USDHC2_IRQn = 55, /**< USDHC2 (Enhanced SDHC) interrupt request. */SAI3_RX_IRQn = 56, /**< SAI3 interrupt ipi_int_sai_rx. */SAI3_TX_IRQn = 57, /**< SAI3 interrupt ipi_int_sai_tx. */UART1_IRQn = 58, /**< UART1 interrupt request. */UART2_IRQn = 59, /**< UART2 interrupt request. */UART3_IRQn = 60, /**< UART3 interrupt request. */UART4_IRQn = 61, /**< UART4 interrupt request. */UART5_IRQn = 62, /**< UART5 interrupt request. */eCSPI1_IRQn = 63, /**< eCSPI1 interrupt request. */eCSPI2_IRQn = 64, /**< eCSPI2 interrupt request. */eCSPI3_IRQn = 65, /**< eCSPI3 interrupt request. */eCSPI4_IRQn = 66, /**< eCSPI4 interrupt request. */I2C4_IRQn = 67, /**< I2C4 interrupt request. */I2C1_IRQn = 68, /**< I2C1 interrupt request. */I2C2_IRQn = 69, /**< I2C2 interrupt request. */I2C3_IRQn = 70, /**< I2C3 interrupt request. */UART7_IRQn = 71, /**< UART-7 ORed interrupt. */UART8_IRQn = 72, /**< UART-8 ORed interrupt. */Reserved73_IRQn = 73, /**< Reserved */USB_OTG2_IRQn = 74, /**< USBO2 USB OTG2 */USB_OTG1_IRQn = 75, /**< USBO2 USB OTG1 */USB_PHY1_IRQn = 76, /**< UTMI0 interrupt request. */USB_PHY2_IRQn = 77, /**< UTMI1 interrupt request. */DCP_IRQ_IRQn = 78, /**< DCP interrupt request dcp_irq. */DCP_VMI_IRQ_IRQn = 79, /**< DCP interrupt request dcp_vmi_irq. */DCP_SEC_IRQ_IRQn = 80, /**< DCP interrupt request secure_irq. */TEMPMON_IRQn = 81, /**< Temperature Monitor Temperature Sensor (temperature greater than threshold) interrupt request. */ASRC_IRQn = 82, /**< ASRC interrupt request. */ESAI_IRQn = 83, /**< ESAI interrupt request. */SPDIF_IRQn = 84, /**< SPDIF interrupt. */Reserved85_IRQn = 85, /**< Reserved */PMU_IRQ1_IRQn = 86, /**< Brown-out event on either the 1.1, 2.5 or 3.0 regulators. */GPT1_IRQn = 87, /**< Logical OR of GPT1 rollover interrupt line, input capture 1 and 2 lines, output compare 1, 2, and 3 interrupt lines. */EPIT1_IRQn = 88, /**< EPIT1 output compare interrupt. */EPIT2_IRQn = 89, /**< EPIT2 output compare interrupt. */GPIO1_INT7_IRQn = 90, /**< INT7 interrupt request. */GPIO1_INT6_IRQn = 91, /**< INT6 interrupt request. */GPIO1_INT5_IRQn = 92, /**< INT5 interrupt request. */GPIO1_INT4_IRQn = 93, /**< INT4 interrupt request. */GPIO1_INT3_IRQn = 94, /**< INT3 interrupt request. */GPIO1_INT2_IRQn = 95, /**< INT2 interrupt request. */GPIO1_INT1_IRQn = 96, /**< INT1 interrupt request. */GPIO1_INT0_IRQn = 97, /**< INT0 interrupt request. */GPIO1_Combined_0_15_IRQn = 98, /**< Combined interrupt indication for GPIO1 signals 0 - 15. */GPIO1_Combined_16_31_IRQn = 99, /**< Combined interrupt indication for GPIO1 signals 16 - 31. */GPIO2_Combined_0_15_IRQn = 100, /**< Combined interrupt indication for GPIO2 signals 0 - 15. */GPIO2_Combined_16_31_IRQn = 101, /**< Combined interrupt indication for GPIO2 signals 16 - 31. */GPIO3_Combined_0_15_IRQn = 102, /**< Combined interrupt indication for GPIO3 signals 0 - 15. */GPIO3_Combined_16_31_IRQn = 103, /**< Combined interrupt indication for GPIO3 signals 16 - 31. */GPIO4_Combined_0_15_IRQn = 104, /**< Combined interrupt indication for GPIO4 signals 0 - 15. */GPIO4_Combined_16_31_IRQn = 105, /**< Combined interrupt indication for GPIO4 signals 16 - 31. */GPIO5_Combined_0_15_IRQn = 106, /**< Combined interrupt indication for GPIO5 signals 0 - 15. */GPIO5_Combined_16_31_IRQn = 107, /**< Combined interrupt indication for GPIO5 signals 16 - 31. */Reserved108_IRQn = 108, /**< Reserved */Reserved109_IRQn = 109, /**< Reserved */Reserved110_IRQn = 110, /**< Reserved */Reserved111_IRQn = 111, /**< Reserved */WDOG1_IRQn = 112, /**< WDOG1 timer reset interrupt request. */WDOG2_IRQn = 113, /**< WDOG2 timer reset interrupt request. */KPP_IRQn = 114, /**< Key Pad interrupt request. */PWM1_IRQn = 115, /**< hasRegInstance(`PWM1`)?`Cumulative interrupt line for PWM1. Logical OR of rollover, compare, and FIFO waterlevel crossing interrupts.`:`Reserved`) */PWM2_IRQn = 116, /**< hasRegInstance(`PWM2`)?`Cumulative interrupt line for PWM2. Logical OR of rollover, compare, and FIFO waterlevel crossing interrupts.`:`Reserved`) */PWM3_IRQn = 117, /**< hasRegInstance(`PWM3`)?`Cumulative interrupt line for PWM3. Logical OR of rollover, compare, and FIFO waterlevel crossing interrupts.`:`Reserved`) */PWM4_IRQn = 118, /**< hasRegInstance(`PWM4`)?`Cumulative interrupt line for PWM4. Logical OR of rollover, compare, and FIFO waterlevel crossing interrupts.`:`Reserved`) */CCM_IRQ1_IRQn = 119, /**< CCM interrupt request ipi_int_1. */CCM_IRQ2_IRQn = 120, /**< CCM interrupt request ipi_int_2. */GPC_IRQn = 121, /**< GPC interrupt request 1. */Reserved122_IRQn = 122, /**< Reserved */SRC_IRQn = 123, /**< SRC interrupt request src_ipi_int_1. */Reserved124_IRQn = 124, /**< Reserved */Reserved125_IRQn = 125, /**< Reserved */CPU_PerformanceUnit_IRQn = 126, /**< Performance Unit interrupt ~ipi_pmu_irq_b. */CPU_CTI_Trigger_IRQn = 127, /**< CTI trigger outputs interrupt ~ipi_cti_irq_b. */SRC_Combined_IRQn = 128, /**< Combined CPU wdog interrupts (4x) out of SRC. */SAI1_IRQn = 129, /**< SAI1 interrupt request. */SAI2_IRQn = 130, /**< SAI2 interrupt request. */Reserved131_IRQn = 131, /**< Reserved */ADC1_IRQn = 132, /**< ADC1 interrupt request. */ADC_5HC_IRQn = 133, /**< ADC_5HC interrupt request. */Reserved134_IRQn = 134, /**< Reserved */Reserved135_IRQn = 135, /**< Reserved */SJC_IRQn = 136, /**< SJC interrupt from General Purpose register. */CAAM_Job_Ring0_IRQn = 137, /**< CAAM job ring 0 interrupt ipi_caam_irq0. */CAAM_Job_Ring1_IRQn = 138, /**< CAAM job ring 1 interrupt ipi_caam_irq1. */QSPI_IRQn = 139, /**< QSPI1 interrupt request ipi_int_ored. */TZASC_IRQn = 140, /**< TZASC (PL380) interrupt request. */GPT2_IRQn = 141, /**< Logical OR of GPT2 rollover interrupt line, input capture 1 and 2 lines, output compare 1, 2 and 3 interrupt lines. */CAN1_IRQn = 142, /**< Combined interrupt of ini_int_busoff,ini_int_error,ipi_int_mbor,ipi_int_txwarning and ipi_int_waken */CAN2_IRQn = 143, /**< Combined interrupt of ini_int_busoff,ini_int_error,ipi_int_mbor,ipi_int_txwarning and ipi_int_waken */Reserved144_IRQn = 144, /**< Reserved */Reserved145_IRQn = 145, /**< Reserved */PWM5_IRQn = 146, /**< Cumulative interrupt line. OR of Rollover Interrupt line, Compare Interrupt line and FIFO Waterlevel crossing interrupt line */PWM6_IRQn = 147, /**< Cumulative interrupt line. OR of Rollover Interrupt line, Compare Interrupt line and FIFO Waterlevel crossing interrupt line */PWM7_IRQn = 148, /**< Cumulative interrupt line. OR of Rollover Interrupt line, Compare Interrupt line and FIFO Waterlevel crossing interrupt line */PWM8_IRQn = 149, /**< Cumulative interrupt line. OR of Rollover Interrupt line, Compare Interrupt line and FIFO Waterlevel crossing interrupt line */ENET1_IRQn = 150, /**< ENET1 interrupt */ENET1_1588_IRQn = 151, /**< ENET1 1588 Timer interrupt [synchronous] request. */ENET2_IRQn = 152, /**< ENET2 interrupt */ENET2_1588_IRQn = 153, /**< MAC 0 1588 Timer interrupt [synchronous] request. */Reserved154_IRQn = 154, /**< Reserved */Reserved155_IRQn = 155, /**< Reserved */Reserved156_IRQn = 156, /**< Reserved */Reserved157_IRQn = 157, /**< Reserved */Reserved158_IRQn = 158, /**< Reserved */PMU_IRQ2_IRQn = 159 /**< Brown-out event on either core, gpu or soc regulators. */} IRQn_Type;

    GIC邏輯分塊

    GIC架構分成了兩個邏輯塊:Distributor和CPU Interface,也就是分發器端和CPU接口端。

    • Distributor(分發器端):此邏輯塊負責處理各個中斷事件的分發問題,也就是中斷事件應該發送到哪個CPU Interface上去。分發器收集所有的中斷源,可以控制每個中斷的優先級,它總是將優先級最高的中斷事件發送到CPU接口端。分發器端要做的主要工作是:
  • 全局中斷使能控制
  • 控制每一個中斷的使能或者關閉
  • 設置每個中斷的優先級
  • 設置每個中斷的目標處理器列表
  • 設置每個外部中斷的觸發模式:電平觸發或邊沿觸發
  • 設置每個中斷屬于組0還是組1
    • CPU Interface(CPU接口端):與CPU Core相連接,也就是分發器和CPU Core之間的橋梁。主要工作:
  • 使能或者關閉發送到CPU Core的中斷請求信號
  • 應答中斷
  • 通知中斷處理完成
  • 設置優先級掩碼,通過掩碼來設置哪些中斷不需要上報給CPU Core
  • 定義搶占策略
  • 當多個中斷到來的時候,選擇優先級最高的中斷通知給CPU Core
  • 在core_ca7.h定義了GIC結構體,此結構體里面的寄存器分為了分發器端和CPU接口端。

    typedef struct{uint32_t RESERVED0[1024];__IOM uint32_t D_CTLR; /*!< Offset: 0x1000 (R/W) Distributor Control Register */__IM uint32_t D_TYPER; /*!< Offset: 0x1004 (R/ ) Interrupt Controller Type Register */__IM uint32_t D_IIDR; /*!< Offset: 0x1008 (R/ ) Distributor Implementer Identification Register */uint32_t RESERVED1[29];__IOM uint32_t D_IGROUPR[16]; /*!< Offset: 0x1080 - 0x0BC (R/W) Interrupt Group Registers */uint32_t RESERVED2[16];__IOM uint32_t D_ISENABLER[16]; /*!< Offset: 0x1100 - 0x13C (R/W) Interrupt Set-Enable Registers */uint32_t RESERVED3[16];__IOM uint32_t D_ICENABLER[16]; /*!< Offset: 0x1180 - 0x1BC (R/W) Interrupt Clear-Enable Registers */uint32_t RESERVED4[16];__IOM uint32_t D_ISPENDR[16]; /*!< Offset: 0x1200 - 0x23C (R/W) Interrupt Set-Pending Registers */uint32_t RESERVED5[16];__IOM uint32_t D_ICPENDR[16]; /*!< Offset: 0x1280 - 0x2BC (R/W) Interrupt Clear-Pending Registers */uint32_t RESERVED6[16];__IOM uint32_t D_ISACTIVER[16]; /*!< Offset: 0x1300 - 0x33C (R/W) Interrupt Set-Active Registers */uint32_t RESERVED7[16];__IOM uint32_t D_ICACTIVER[16]; /*!< Offset: 0x1380 - 0x3BC (R/W) Interrupt Clear-Active Registers */uint32_t RESERVED8[16];__IOM uint8_t D_IPRIORITYR[512]; /*!< Offset: 0x1400 - 0x5FC (R/W) Interrupt Priority Registers */uint32_t RESERVED9[128];__IOM uint8_t D_ITARGETSR[512]; /*!< Offset: 0x1800 - 0x9FC (R/W) Interrupt Targets Registers */uint32_t RESERVED10[128];__IOM uint32_t D_ICFGR[32]; /*!< Offset: 0x1C00 - 0xC7C (R/W) Interrupt configuration registers */uint32_t RESERVED11[32];__IM uint32_t D_PPISR; /*!< Offset: 0x1D00 (R/ ) Private Peripheral Interrupt Status Register */__IM uint32_t D_SPISR[15]; /*!< Offset: 0x1D04 - 0xD3C (R/ ) Shared Peripheral Interrupt Status Registers */uint32_t RESERVED12[112];__OM uint32_t D_SGIR; /*!< Offset: 0x1F00 ( /W) Software Generated Interrupt Register */uint32_t RESERVED13[3];__IOM uint8_t D_CPENDSGIR[16]; /*!< Offset: 0x1F10 - 0xF1C (R/W) SGI Clear-Pending Registers */__IOM uint8_t D_SPENDSGIR[16]; /*!< Offset: 0x1F20 - 0xF2C (R/W) SGI Set-Pending Registers */uint32_t RESERVED14[40];__IM uint32_t D_PIDR4; /*!< Offset: 0x1FD0 (R/ ) Peripheral ID4 Register */__IM uint32_t D_PIDR5; /*!< Offset: 0x1FD4 (R/ ) Peripheral ID5 Register */__IM uint32_t D_PIDR6; /*!< Offset: 0x1FD8 (R/ ) Peripheral ID6 Register */__IM uint32_t D_PIDR7; /*!< Offset: 0x1FDC (R/ ) Peripheral ID7 Register */__IM uint32_t D_PIDR0; /*!< Offset: 0x1FE0 (R/ ) Peripheral ID0 Register */__IM uint32_t D_PIDR1; /*!< Offset: 0x1FE4 (R/ ) Peripheral ID1 Register */__IM uint32_t D_PIDR2; /*!< Offset: 0x1FE8 (R/ ) Peripheral ID2 Register */__IM uint32_t D_PIDR3; /*!< Offset: 0x1FEC (R/ ) Peripheral ID3 Register */__IM uint32_t D_CIDR0; /*!< Offset: 0x1FF0 (R/ ) Component ID0 Register */__IM uint32_t D_CIDR1; /*!< Offset: 0x1FF4 (R/ ) Component ID1 Register */__IM uint32_t D_CIDR2; /*!< Offset: 0x1FF8 (R/ ) Component ID2 Register */__IM uint32_t D_CIDR3; /*!< Offset: 0x1FFC (R/ ) Component ID3 Register */__IOM uint32_t C_CTLR; /*!< Offset: 0x2000 (R/W) CPU Interface Control Register */__IOM uint32_t C_PMR; /*!< Offset: 0x2004 (R/W) Interrupt Priority Mask Register */__IOM uint32_t C_BPR; /*!< Offset: 0x2008 (R/W) Binary Point Register */__IM uint32_t C_IAR; /*!< Offset: 0x200C (R/ ) Interrupt Acknowledge Register */__OM uint32_t C_EOIR; /*!< Offset: 0x2010 ( /W) End Of Interrupt Register */__IM uint32_t C_RPR; /*!< Offset: 0x2014 (R/ ) Running Priority Register */__IM uint32_t C_HPPIR; /*!< Offset: 0x2018 (R/ ) Highest Priority Pending Interrupt Register */__IOM uint32_t C_ABPR; /*!< Offset: 0x201C (R/W) Aliased Binary Point Register */__IM uint32_t C_AIAR; /*!< Offset: 0x2020 (R/ ) Aliased Interrupt Acknowledge Register */__OM uint32_t C_AEOIR; /*!< Offset: 0x2024 ( /W) Aliased End Of Interrupt Register */__IM uint32_t C_AHPPIR; /*!< Offset: 0x2028 (R/ ) Aliased Highest Priority Pending Interrupt Register */uint32_t RESERVED15[41];__IOM uint32_t C_APR0; /*!< Offset: 0x20D0 (R/W) Active Priority Register */uint32_t RESERVED16[3];__IOM uint32_t C_NSAPR0; /*!< Offset: 0x20E0 (R/W) Non-secure Active Priority Register */uint32_t RESERVED17[6];__IM uint32_t C_IIDR; /*!< Offset: 0x20FC (R/ ) CPU Interface Identification Register */uint32_t RESERVED18[960];__OM uint32_t C_DIR; /*!< Offset: 0x3000 ( /W) Deactivate Interrupt Register */} GIC_Type;

    GIC_Type就是GIC控制器,列舉出了GIC控制器的所有寄存器,可以通過結構體 GIC_Type 來訪問 GIC 的所有寄存器。
    __IOM uint32_t D_CTLR; /* Offset: 0x1000 (R/W) */,分發器端相關寄存器,其相對于GIC基地址偏移為0x1000,因此我們獲取到GIC基地址以后只需要加上0x1000即可訪問GIC分發器端寄存器。

    __IOM uint32_t C_CTLR; /*!< Offset: 0x2000 (R/W) CPU Interface Control Register */,CPU接口端相關寄存器,其相對于GIC基地址的偏移為0x2000,同樣的,獲取到 GIC 基地址以后只需要加上 0X2000 即可訪問 GIC 的 CPU 接口段寄存器。

    總結

    以上是生活随笔為你收集整理的Cortex-A7中断详解(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    波多在线视频 | 日韩中文字幕a | 久久国产精品影视 | 香蕉视频网站在线观看 | 黄色大片入口 | 中文字幕在线看人 | 一区二区久久 | 国产午夜视频在线观看 | 天天激情综合网 | 探花视频在线观看免费版 | 天天操天天综合网 | 丰满少妇对白在线偷拍 | 国产一区 在线播放 | 午夜精品中文字幕 | 日韩电影中文,亚洲精品乱码 | 久久成人国产精品免费软件 | 精品99免费 | 久久久三级视频 | 免费观看视频的网站 | 天天做日日做天天爽视频免费 | www.99久久.com | 亚洲爱爱视频 | 中文一二区 | 一区二区三区在线视频111 | 99精品视频网站 | 免费在线观看国产黄 | 高潮毛片无遮挡高清免费 | 国产一级一级国产 | 男女日麻批 | 超碰97人人射妻 | 日韩毛片精品 | 久久久婷 | 欧美精品一区二区蜜臀亚洲 | 91看片在线播放 | 日韩av不卡在线 | 成 人 黄 色 视频播放1 | 国产女做a爱免费视频 | 久久视频精品在线观看 | 97超碰人人在线 | 国产精品久久久久四虎 | 91久久久久久久 | 黄色片免费在线 | 欧美另类一二三四区 | 天天操天天操一操 | 日韩经典一区二区三区 | 亚洲精品免费视频 | 国产精品va最新国产精品视频 | 日韩欧美视频免费在线观看 | 国产视频在线播放 | 91av影视| 97网| 久久tv视频 | 久久蜜臀av | 国产极品尤物在线 | 婷色| 久久夜色精品国产欧美乱极品 | 成人午夜剧场在线观看 | 亚洲精品五月 | 精品一区电影国产 | 欧美日韩国产一区二区在线观看 | 99九九热只有国产精品 | 丁香六月在线 | 国产99久久久欧美黑人 | 久草免费新视频 | 丁香花在线观看视频在线 | 亚洲精品tv| 日韩精品在线观看av | 91久久丝袜国产露脸动漫 | 96精品高清视频在线观看软件特色 | 久热色超碰 | 91九色视频国产 | 日韩精品观看 | www.狠狠插.com| 国产精品精品国产色婷婷 | 欧美日韩国产精品一区二区 | 久久久久久久久久国产精品 | 国产高清精品在线观看 | 99视频免费播放 | 在线色视频小说 | 91在线产啪 | 精品视频在线看 | 久久曰视频 | 日韩高清在线一区二区三区 | 91大神dom调教在线观看 | 在线免费观看黄 | 亚洲三级性片 | 久草在线资源视频 | 精品久久一区 | 四虎在线免费观看 | 欧美韩国日本在线 | 天天操天天干天天摸 | 婷婷精品在线 | 色婷婷综合久久久中文字幕 | 亚洲网站在线看 | 国产福利91精品张津瑜 | 天天玩天天操天天射 | 欧美孕交vivoestv另类 | 国产1区在线观看 | 在线国产能看的 | 亚洲影院一区 | 日韩av区| 精品国产视频在线观看 | 亚洲三级在线 | 亚洲三级网站 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 成年人在线免费看片 | 麻豆91网站 | 中文字幕国语官网在线视频 | 精品国产视频在线观看 | 国产成人一区二区三区在线观看 | a黄色一级片| 黄色免费大全 | 99精品视频网站 | www.com久久久 | 国产精品视频久久久 | 日韩免费三区 | 亚洲色影爱久久精品 | 日韩高清不卡在线 | 综合网伊人 | 91精品综合在线观看 | 欧美精彩视频在线观看 | 国产在线精品一区 | 麻豆久久久久久久 | 国产精品wwwwww | 黄色1级大片| 国产成人在线看 | 日韩欧美视频在线观看免费 | 欧美日韩一区二区在线 | 成人黄色小说在线观看 | 国产在线观看免费观看 | 国产精品18久久久久久久 | 一级α片免费看 | 国产精品v欧美精品 | 开心激情婷婷 | 久久视频精品在线 | 最近日本中文字幕a | 成人av中文字幕在线观看 | 爱色av.com| 久久综合久久久 | 久久久999免费视频 日韩网站在线 | 美女视频免费精品 | 最近2019中文免费高清视频观看www99 | 国产精品乱码久久 | 超碰在线网 | 国产精品白虎 | 少妇资源站 | 欧美aⅴ在线观看 | 麻豆av一区二区三区在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 伊人色播 | 成年人免费电影在线观看 | 久久99精品国产99久久 | 麻豆久久久久 | 日韩在线资源 | 在线观看视频国产一区 | 国产精品18久久久久vr手机版特色 | 美女免费视频一区二区 | 亚洲免费公开视频 | 波多野结衣电影一区二区 | 婷婷成人综合 | 手机在线永久免费观看av片 | 能在线观看的日韩av | 日日夜夜天天久久 | 九九精品视频在线观看 | 日韩免费在线观看 | 黄色片亚洲 | 99久久久久 | 中文字幕91| 91久久精品日日躁夜夜躁国产 | 五月情婷婷 | 99久精品视频 | 精品国产网址 | 日韩免费三区 | 伊人狠狠操 | 91精品国产乱码久久桃 | 激情综合电影网 | 97看片 | 中文字幕高清在线播放 | 99久国产| 国产精品2020 | 人人看看人人 | 国偷自产中文字幕亚洲手机在线 | 久久久久久高潮国产精品视 | 日韩电影黄色 | 国产一级精品视频 | 久久成人午夜 | 国内精品久久久久影院男同志 | 99久久精品国产亚洲 | 人人爽人人爽人人爽人人爽 | 国产黄色片在线 | 超碰97国产在线 | 国产99一区视频免费 | 国产在线毛片 | 久久婷婷开心 | 久久精彩免费视频 | 亚洲精品乱码久久久久久蜜桃91 | 国产九九九视频 | 久久最新网址 | 色插综合| 久草av在线播放 | 一本一本久久a久久精品牛牛影视 | 亚洲精品视频网址 | 综合网天天射 | 欧美va天堂va视频va在线 | 在线观看蜜桃视频 | 婷婷久久综合网 | 日韩中文字幕一区 | 永久中文字幕 | 亚洲国产精品一区二区尤物区 | 天天干天天摸 | 伊人网综合在线观看 | 欧美精品国产综合久久 | 精品亚洲免费 | 久草视频免费看 | 日韩精品免费一区二区 | 中文字幕在线观看免费观看 | 久久精品电影网 | 婷婷色网 | 天天爱天天 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 婷婷丁香在线观看 | 91中文字幕永久在线 | 欧美一级黄色片 | 亚洲一级理论片 | 国产一级久久久 | 久久久国产网站 | 成人午夜电影在线播放 | 国产精品婷婷 | 狠狠gao| 国产精品嫩草在线 | 欧美黄色免费 | 日韩一区二区三 | 97成人资源 | 欧美精品一区二区在线观看 | 日韩久久久久久久久 | 日韩欧美在线高清 | 99热国产精品 | 日本91在线| 成人av资源网 | 国产成人亚洲在线观看 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 久久人人看 | 国产日韩在线一区 | 国产资源精品在线观看 | 国产精品资源网 | 亚洲国产成人在线播放 | 国产在线第三页 | 欧美一级特黄高清视频 | 亚洲女同videos | 久久免费国产 | 精品产品国产在线不卡 | 久青草电影 | zzijzzij亚洲成熟少妇 | 国产精品一区二区 91 | 国产精品一区二区白浆 | 久久a国产 | 国产无区一区二区三麻豆 | 涩涩网站在线观看 | 久久精品香蕉 | 尤物97国产精品久久精品国产 | 中文字幕免费播放 | 久久精品视频3 | 国产成人久久精品亚洲 | 国产91精品看黄网站 | 免费合欢视频成人app | 日本一区二区免费在线观看 | 亚洲视频综合在线 | 又黄又爽又无遮挡的视频 | 中文字幕 婷婷 | 爱爱av网站 | 亚洲色图 校园春色 | 久热色超碰 | 中文字幕精品www乱入免费视频 | 手机av在线网站 | 成人欧美亚洲 | 国产日本三级 | 91在线视频观看免费 | 久久经典视频 | 久久99热精品这里久久精品 | 五月香视频在线观看 | 成人午夜在线电影 | 96久久精品 | 91精品国产91热久久久做人人 | 国产精品3区 | av中文天堂在线 | 久久久黄色免费网站 | 亚洲精品2区 | 美女视频黄免费 | 欧洲精品视频一区 | 国产99中文字幕 | 九九免费在线看完整版 | 亚洲激情影院 | 欧美激情综合色综合啪啪五月 | 天天插日日插 | 国产91在线免费视频 | 久草网站 | 国产永久免费观看 | 黄色网在线免费观看 | av视屏在线播放 | 欧美成人69av| 亚洲精品色婷婷 | 免费av片在线 | 成人精品视频久久久久 | 久久免费视频在线 | 一区二区av | 亚洲精品乱码久久久久久写真 | 一级黄色免费网站 | 在线观看国产一区二区 | 色网免费观看 | 伊人中文在线 | 成人一级在线 | 91麻豆精品一区二区三区 | 伊人资源视频在线 | 亚洲日本一区二区在线 | 日韩中文字幕免费视频 | 九九视频网 | 免费精品在线视频 | 精品国产一区二区三区久久影院 | 国产成人精品综合久久久久99 | 麻豆久久精品 | 不卡的av在线播放 | 欧美日韩一区三区 | 日日夜夜人人天天 | 麻豆视频免费入口 | 2019精品手机国产品在线 | 国产精品久久久久久久久久久久久久 | 成人动漫一区二区三区 | 欧美日韩亚洲在线 | 超碰97公开 | 国产日韩精品一区二区三区 | 狠狠操狠狠干天天操 | 97人人艹 | 久久久免费观看视频 | 在线观看中文字幕 | 国产精品网在线观看 | 免费日韩在线 | 成人97人人超碰人人99 | 国产香蕉av | 在线电影91 | 8x成人在线 | 99久久精品国产系列 | 中文字幕乱在线伦视频中文字幕乱码在线 | 深爱开心激情网 | 99热播精品 | 欧美91成人网 | 手机看片福利 | 99精品国产亚洲 | 国产1区在线 | 免费观看日韩av | 色网站在线看 | 免费看黄色小说的网站 | 丁香av | 三三级黄色片之日韩 | 美女久久精品 | 欧美精品做受xxx性少妇 | 伊人久久精品久久亚洲一区 | 手机看片午夜 | 99欧美精品 | 91在线看片 | 欧美午夜性| 成年人在线观看视频免费 | a在线免费 | 99这里只有精品99 | 超碰在线公开免费 | 在线不卡的av | 国内精品久久久久久久久久久久 | 欧美激情精品久久久久久变态 | 九九热在线精品视频 | 天天色天天操综合网 | 一二区精品 | 久久免费视频6 | 黄色中文字幕在线 | 久久久久久美女 | 久久久久综合精品福利啪啪 | 2019中文字幕第一页 | av成人动漫在线观看 | 欧美综合色在线图区 | 久久视频网址 | av三区在线 | 国产伦精品一区二区三区… | 高清av免费看 | 超碰国产在线观看 | 国产欧美精品一区二区三区 | 婷婷丁香av | av网站在线观看播放 | 在线久久 | 91在线资源 | 一本到在线| 亚洲黄色在线观看 | 夜夜躁狠狠燥 | 超碰在线最新网址 | 黄色国产区| 黄色a视频免费 | 超碰97国产在线 | 免费观看一区 | 亚洲精品视频免费观看 | 国产精品video爽爽爽爽 | 五月天伊人 | 最近中文字幕大全中文字幕免费 | 国产精品粉嫩 | 国产国产人免费人成免费视频 | 999久久a精品合区久久久 | 久久精品免费电影 | 久久精品国产v日韩v亚洲 | 国产小视频在线观看 | 免费在线观看日韩 | av三级在线看 | 亚洲精品一区二区三区新线路 | 91在线视频在线观看 | 成年人三级网站 | 色噜噜在线观看视频 | 精品一区三区 | 免费色视频网站 | 91精品免费在线 | 国产精品21区 | 成人av一区二区在线观看 | 免费看av片网站 | 九色精品免费永久在线 | 久久综合桃花 | 国产无遮挡又黄又爽在线观看 | 99久热在线精品视频成人一区 | 日本中文字幕在线观看 | 狠狠狠色丁香婷婷综合激情 | av成人在线观看 | 日韩影视精品 | 国产粉嫩在线观看 | 99精品国产免费久久 | 免费观看成年人视频 | 狠狠色网| 色99之美女主播在线视频 | 亚洲一区二区三区精品在线观看 | 国精产品永久999 | 精品久久久久一区二区国产 | 国产裸体bbb视频 | 日韩视频一区二区 | 美女黄视频免费 | 夜色在线资源 | 97免费在线观看视频 | 亚洲精品视频第一页 | 国产理论在线 | 69国产成人综合久久精品欧美 | 国产在线97| 成人黄大片视频在线观看 | 久久久久久久久影视 | 国产九色视频在线观看 | 国产综合激情 | 高潮久久久 | 亚洲精品国产精品乱码不99热 | 91av在线免费 | 国产精品videossex国产高清 | 激情六月婷婷久久 | 天天操天天干天天爱 | 91女人18片女毛片60分钟 | 欧美日韩在线观看一区二区 | 精品一区二区在线播放 | 182午夜在线观看 | 国产成人精品在线播放 | 瑞典xxxx性hd极品 | 国产成人久久av | 97网在线观看 | 国产明星视频三级a三级点| 麻豆一区二区三区视频 | 探花国产在线 | 欧洲一区二区在线观看 | 天天操天天射天天舔 | 99草视频 | 亚洲精品乱码久久久久 | 日本xxxx裸体xxxx17 | 久 久久影院| 又黄又爽又湿又无遮挡的在线视频 | 国产原厂视频在线观看 | 日韩在线视频网站 | 国产一级视屏 | 丁香婷婷激情网 | 五月天综合网站 | 欧美日本啪啪无遮挡网站 | 91视频a | 激情六月婷婷久久 | 九九九电影免费看 | 久久尤物电影视频在线观看 | 99色在线| 最近最新mv字幕免费观看 | 亚洲狠狠婷婷综合久久久 | 国产精品女| 麻豆国产电影 | 久久精品3| 日韩欧美在线播放 | 日韩高清一二区 | 中文字幕丰满人伦在线 | 亚洲午夜激情网 | 伊人中文在线 | 国产视频不卡一区 | 蜜桃视频日本 | 蜜臀av夜夜澡人人爽人人桃色 | 亚洲电影久久久 | 国产一级淫片免费看 | 2022国产精品视频 | 日韩久久久久久久久久 | 久草五月| 欧美日韩高清一区二区 国产亚洲免费看 | 伊人精品在线 | 日韩乱色精品一区二区 | 可以免费观看的av片 | 免费一级片视频 | 国产精品免费人成网站 | 激情综合五月天 | 四虎国产精品成人免费4hu | 欧美91成人网 | 日韩免费在线看 | 国产999精品久久久影片官网 | 五月激情片| 日韩av高清 | 人人澡人人干 | 麻豆国产精品永久免费视频 | 久保带人| 亚洲伊人婷婷 | 毛片视频网址 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲精品乱码久久久久久蜜桃不爽 | 久久久精品国产免费观看同学 | 黄色网中文字幕 | 99视频播放| 亚洲精品国精品久久99热 | 在线日韩中文 | 国产成人黄色片 | 91精品视频免费观看 | 中文字幕乱码亚洲精品一区 | 免费在线观看成人小视频 | 91视频 - v11av| 17videosex性欧美 | 久久久久免费精品 | 天天干夜夜擦 | 亚洲成人精品 | 日日干 天天干 | 成人黄色小说在线观看 | 一区二区 不卡 | 亚洲精品视频在线免费播放 | 丁香综合五月 | av观看在线观看 | 亚洲日本va在线观看 | 亚洲天堂精品视频 | 91九色视频观看 | 久久免费精彩视频 | 涩涩网站免费 | 欧美另类交人妖 | 亚洲精品国产免费 | 狠狠狠色 | 久久免费公开视频 | 久久精久久精 | 日日夜夜精品免费观看 | 国产成人一级 | 国产亚洲日 | 欧美激情h | 久久久精品影视 | 毛片视频网址 | 亚洲精品高清视频在线观看 | 久久99国产精品久久99 | 美女视频免费精品 | 一本色道久久综合亚洲二区三区 | 天天操天天操天天操天天操天天操天天操 | av九九| 九九精品毛片 | 午夜免费福利视频 | 99久在线精品99re8热视频 | 免费看片网站91 | 亚洲成人蜜桃 | 黄色中文字幕在线 | 国产一区免费在线观看 | 免费看黄色91 | 九草在线观看 | 免费黄色a网站 | 综合网婷婷 | 精品网站999www | 欧美日韩视频在线播放 | 亚洲婷婷丁香 | 亚洲视频精品在线 | 国产精品丝袜久久久久久久不卡 | 久久国色夜色精品国产 | 永久免费在线 | 色综合久久久久综合体桃花网 | 亚洲精品欧美专区 | 国内外成人免费在线视频 | 丰满少妇在线观看 | 亚洲精品视频中文字幕 | 在线观看黄网 | 99久久99久久免费精品蜜臀 | 夜夜爽88888免费视频4848 | 中文字幕人成乱码在线观看 | 国产一区二区手机在线观看 | 国产在线看一区 | 成年人网站免费观看 | 成人九九视频 | 激情五月综合 | 黄色一级免费电影 | 日韩精品一区二区三区在线视频 | 久久视频精品在线 | 在线播放日韩av | 国产精品乱码一区二三区 | 欧美午夜激情网 | 九九综合在线 | 久久综合狠狠综合久久狠狠色综合 | 天天性天天草 | 国产女做a爱免费视频 | 天天操天天弄 | 免费观看的黄色片 | 亚洲最新精品 | 成人av在线一区二区 | 久草在线费播放视频 | 91av电影在线 | 免费看片亚洲 | 国产91电影在线观看 | 日本精品视频在线 | 超碰免费成人 | 91精品国产成 | bbbb操bbbb| 欧美少妇xxxxxx | 午夜影视一区 | 超碰在线最新 | 特级毛片在线免费观看 | 丝袜少妇在线 | av中文天堂在线 | 天天射天天操天天色 | 午夜精品久久久久久中宇69 | 超碰97av在线 | 亚洲最新合集 | 99精品视频在线观看 | 天天搞天天干天天色 | 美女视频黄色免费 | 99r在线视频 | 日韩乱码在线 | 亚洲国产中文字幕 | 伊人天天色 | 国内精品中文字幕 | 97超碰免费在线 | 国产精品一区二区吃奶在线观看 | 久久亚洲热 | 美州a亚洲一视本频v色道 | 超碰个人在线 | 精品国产1区2区 | www欧美色 | 国产小视频免费在线网址 | 激情小说网站亚洲综合网 | 成人免费精品 | 在线国产99 | 欧美激情h| 久久这里只有精品首页 | 中文字幕精品视频 | 在线电影 一区 | 探花视频在线观看免费版 | 亚洲精品乱码久久久久v最新版 | 免费看黄的 | 日韩欧美在线一区二区 | 亚洲精品国产精品国自产观看浪潮 | 国产福利免费看 | 欧美日韩精品在线播放 | 91av在线看 | 手机av在线网站 | 免费看久久久 | 久久超碰免费 | 玖玖爱在线观看 | 国产精品手机在线观看 | 91视频xxxx| 日韩av区| 国产精品久久久久久超碰 | 欧美日韩视频精品 | 少妇bbb搡bbbb搡bbbb | 黄色毛片视频免费观看中文 | 少妇bbw揉bbb欧美 | 成人黄色中文字幕 | 久久久久久久av麻豆果冻 | 国产精品久久精品 | 国内精品中文字幕 | 国产精品女主播一区二区三区 | 欧美在线观看视频一区二区三区 | 婷婷六月色 | www.成人精品 | 四虎影视成人精品国库在线观看 | 99久久婷婷国产精品综合 | 日批网站免费观看 | 日韩字幕 | 亚洲精品www久久久久久 | 在线不卡视频 | 四川bbb搡bbb爽爽视频 | 久久tv| 激情视频二区 | 久久国产精品影片 | 国产一性一爱一乱一交 | 狠狠色综合网站久久久久久久 | 在线观看中文字幕2021 | 激情小说 五月 | 国产香蕉视频在线观看 | 国产日产高清dvd碟片 | 91av在线免费播放 | 成人国产在线 | 四虎永久免费在线观看 | 亚洲午夜av | 日韩中文在线字幕 | 夜夜视频 | 日韩电影中文字幕在线观看 | 一区二区三区在线观看免费视频 | 久草网免费 | 在线日韩精品视频 | 国产精品破处视频 | 国产一区二区在线免费 | 久久久久电影网站 | 国产成人久久精品77777 | 国内免费久久久久久久久久久 | 中文字幕网站视频在线 | 91精品国产乱码在线观看 | 国产视频1 | 日韩亚洲欧美中文字幕 | 视频在线观看入口黄最新永久免费国产 | 精品麻豆入口免费 | 日韩网站视频 | 欧美一区二区精美视频 | 欧美日韩国产精品一区 | 成人av免费网站 | 91av精品| 久久99免费 | 日韩影视在线 | 国产成人精品一区二区三区网站观看 | 成人免费一级片 | 国产69精品久久久久99 | 成人黄色小视频 | 中文字幕二区三区 | 日韩欧美综合 | 久久精品视频中文字幕 | 免费99精品国产自在在线 | 一本一本久久a久久精品牛牛影视 | 精品一区在线看 | 国产黄网站在线观看 | 国产高清视频免费观看 | 美女久久99| 在线亚洲激情 | 日韩欧美大片免费观看 | 操操色| 久久精品国产一区二区三区 | 国产视频一区二区在线播放 | 中文字幕中文字幕在线中文字幕三区 | 欧美日韩国产在线一区 | 在线观看视频 | 国产精品成人一区二区三区吃奶 | 亚洲专区在线播放 | 亚洲精品在线一区二区三区 | 久久免费在线观看 | 日女人免费视频 | 一级做a爱片性色毛片www | 久久综合色综合88 | 中文字幕av免费 | 麻豆影视在线观看 | 丰满少妇在线观看网站 | 丝袜足交在线 | 91精品国产自产在线观看永久 | 亚洲va欧美va国产va黑人 | 美女网站视频色 | 狠狠色婷婷丁香六月 | 精精国产xxxx视频在线播放 | 97影视 | 久久久久精 | 免费色网 | 天天色中文| 天天色天天射天天综合网 | 黄色免费高清视频 | 久久经典国产 | 久草资源免费 | 免费在线看v | 天天色天天操综合 | 久久精品视频在线播放 | 日韩一片| 天天色天天爱天天射综合 | 日韩专区一区二区 | 超碰97成人| 成人av网站在线 | 超碰97av在线| 久久成人精品视频 | 丁香视频全集免费观看 | 日韩免费电影网 | 精品国产自 | 色橹橹欧美在线观看视频高清 | 国产手机在线播放 | 成人av电影在线播放 | 波多野结衣电影一区 | 97视频在线免费播放 | 黄色av电影免费观看 | 在线91色 | 久久国产精品色婷婷 | 婷婷丁香自拍 | 免费亚洲婷婷 | 久久综合精品国产一区二区三区 | 狠狠狠狠狠狠狠狠 | 国产亚洲一区 | 在线视频观看你懂的 | 99欧美| 91九色porny在线| 五月天视频网站 | 人人射网站 | 久久精品欧美一 | 六月丁香激情综合色啪小说 | 久久久蜜桃一区二区 | 国产精品女视频 | 麻豆传媒在线免费看 | 69av网| 日韩精品综合在线 | 四虎4hu永久免费 | 九九视频免费在线观看 | av黄色亚洲 | 欧美久久久久久久久久久久 | 免费日韩一区二区三区 | 国产成人av福利 | 日韩欧美一级二级 | 国产免费影院 | 婷婷色站 | 成人毛片在线观看 | 亚洲欧美少妇 | 日本一区二区高清不卡 | 亚洲精品字幕在线 | 亚洲天堂网在线观看视频 | 香蕉色综合 | 天天天综合 | 一区二区视频免费在线观看 | 视频精品一区二区三区 | 亚洲国产精品成人av | 国产精品在线看 | 免费在线观看日韩视频 | 欧美亚洲精品一区 | 国产丝袜制服在线 | 亚洲精品日韩在线观看 | 国产精品欧美日韩 | 人人插人人搞 | 免费视频成人 | 国产在线观看你懂的 | 欧美一级特黄aaaaaa大片在线观看 | 日韩午夜一级片 | 欧洲一区二区在线观看 | 久久久久久久久久久久久久免费看 | 色综合天天射 | 五月在线视频 | 日本中文字幕观看 | 国产视频精选在线 | 亚洲精品免费观看视频 | 日韩特级片 | 超碰在线最新地址 | 一本一本久久a久久精品综合妖精 | 在线观看视频色 | 91福利影院在线观看 | 欧美日本不卡视频 | 欧美最猛性xxxxx亚洲精品 | 国产精品久久久久久欧美 | 最新国产在线 | 怡红院成人在线 | 久久九九久久精品 | 天天色天天草天天射 | 国产视| 黄色在线观看网站 | 午夜美女wwww| 激情视频在线观看网址 | 久久国产精品视频观看 | www.午夜视频 | 久久婷婷精品 | 亚洲精品在线免费 | 成人小视频在线观看免费 | 女人18精品一区二区三区 | 91久久久久久久一区二区 | 波多野结衣视频一区二区三区 | 亚洲免费在线观看视频 | 亚洲欧美视频网站 | 手机色在线 | 日韩午夜电影 | 正在播放日韩 | 亚洲精品777 | 99性视频 | 亚洲精品乱码久久久久久按摩 | 午夜精品剧场 | 日韩精品国产一区 | 精品一区二区在线免费观看 | 国产.精品.日韩.另类.中文.在线.播放 | 久草在在线 | 丁香五月缴情综合网 | 久久桃花网 | avcom在线| 麻豆一二三精选视频 | 91九色蝌蚪视频在线 | 久久99久久99精品免观看粉嫩 | 国产精品综合在线 | 一区二区不卡视频在线观看 | 久久久久国产精品免费免费搜索 | 日韩影视在线观看 | 国产精品久久久久久久久岛 | 手机在线看永久av片免费 | 久久99国产精品免费网站 | 国产激情免费 | www.伊人网.com | 97国产超碰在线 | 97超碰资源网 | 狠狠色噜噜狠狠狠合久 | 日日操夜 | 久久中文字幕视频 | 91重口视频 | 久久久久久久久精 | 久久精品视频中文字幕 | 欧美日韩在线视频一区二区 | 国产免费亚洲 | 一色屋精品视频在线观看 | 久久精品99久久久久久2456 | 99国产高清 | 丁香 婷婷 激情 | 97夜夜澡人人爽人人免费 | 亚洲精品伦理在线 | 日本精品久久久一区二区三区 | 91精品久久香蕉国产线看观看 | 日韩欧美成人网 | 国产午夜精品久久 | av黄网站 | 中文字幕 影院 | 天天色天天色天天色 | 激情综合网五月激情 | 国产成人免费网站 | 手机在线观看国产精品 | 国产成人精品午夜在线播放 | 久久视频在线观看免费 | 欧美少妇xx | 亚洲精品一区二区三区在线观看 | 99 色| 91视频免费观看 | 国产自产在线视频 | 麻豆国产网站入口 | 国产福利在线不卡 | 99免费看片 | 成人亚洲免费 | 国产护士在线 | 久久美女高清视频 | 天天干,天天射,天天操,天天摸 | 久久人人添人人爽添人人88v | 狠狠干婷婷色 | 国产精品999久久久 久产久精国产品 | 亚洲国产人午在线一二区 | 又黄又爽又无遮挡的视频 | 九九九九热精品免费视频点播观看 | 中文日韩在线 | www.国产毛片 | 操操操人人人 | 四虎在线免费视频 | 国产伦精品一区二区三区高清 | 婷婷在线视频观看 | 日本在线h| 一级片视频免费观看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产精品久久久久久久久久三级 | av免费看看| 日本中文一区二区 | 91视频免费看片 | 在线亚洲小视频 | 亚洲精品视频免费观看 | 免费看v片网站 | av免费在线网站 | 婷婷看片| 国产99久久久精品视频 | av在线看片 | 亚洲成色 | 日本系列中文字幕 | 国产精品普通话 | 一区二区三区日韩在线 | 操综合| 成人资源在线观看 | 国产伦理久久精品久久久久_ | 久久精品久久久精品美女 | 国产999在线 | 色综合天天狠狠 | 久久天堂影院 | 日韩簧片在线观看 | 四虎国产精品免费观看视频优播 | 午夜av免费在线观看 | 亚洲精品天天 | 久久人网 | 国产成人久久精品77777综合 | 日韩免费一区二区 | 免费视频二区 | 99热在线观看免费 | 好看av在线 | 特黄一级毛片 | 色在线免费| 国产精品久久久久久久久免费看 | 91色在线观看 | 婷婷午夜天 | 国产黄色在线看 | 操操操夜夜操 | 在线激情网 | 黄色免费网站下载 | 亚洲午夜精品一区二区三区电影院 | 久久久国产精品电影 | 香蕉视频在线免费看 | 日韩欧美视频一区二区 | 国内久久久 | 93久久精品日日躁夜夜躁欧美 | 日韩中文在线视频 | 中文字幕影片免费在线观看 | 成年人视频在线免费播放 | 黄色精品在线看 |