精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ARM中斷體系和ZYNQ中斷體系詳解

電子設(shè)計 ? 來源:FPGA技術(shù)聯(lián)盟 ? 作者:FPGA技術(shù)聯(lián)盟 ? 2020-11-27 11:01 ? 次閱讀

01、ARM中斷體系

① ARM體系中,在存儲地址的低位,固化了一個32字節(jié)的硬件中斷向量表。

② 異常中斷發(fā)生時,程序計數(shù)器PC所指的位置不同,異常中斷就不同。中斷結(jié)束后,中斷不同,返回地址也不同。但是,對于系統(tǒng)復(fù)位中斷,不需要返回,因為整個應(yīng)用系統(tǒng)就是從復(fù)位中斷中開始的。

數(shù)據(jù)訪問終止:數(shù)據(jù)訪問的地址不存在,或者當(dāng)前地址不允許訪問。

快速中斷請求:外部引腳的快速中斷請求,比外部中斷請求等級高,但是一般外設(shè)的中斷請求使用外部中斷請求。

指令預(yù)取終止:預(yù)取指令的地址不存在,或者當(dāng)前地址不允許訪問。

未定義的指令:ARM或協(xié)處理器認(rèn)為當(dāng)前指令未定義。

ARM中斷流程:

首先在主程序中發(fā)生IRQ中斷請求,程序跳到中斷向量表找IRQ中斷對應(yīng)的解析程序地址,然后再跳到中斷解析程序,進(jìn)而執(zhí)行中斷程序。

02、ZYNQ中斷體系

ZYNQ包括三種中斷:私有中斷,軟件中斷和共享中斷。

1)私有中斷:每個CPU連接5個私有中斷,中斷ID27—31。

2)軟件中斷:16個,中斷號:0—15。通過CPU私有總線向ICDSGIR寄存器寫中斷號,并且制定CPU。

3)共享中斷:接收來自如GPIO、DMA定時器等模塊的中斷信號。中斷號32-95。

它們之間的關(guān)系:

03、PL端的一個按鍵,點亮PS端LED

首先還是硬件配置,加入ZYNQ的軟核,配置一下DDRUART

然后,因為要用到PL端的按鍵,所以要建立PL與PS之間的聯(lián)系,通過EMIO或者AXI總線,EMIO能不能中斷還沒有研究,這里用的AXI。

① 加AXI_GPIO IP核,設(shè)置GPIO端口中斷使能,GPIO寬度為1(只用了一個按鍵),設(shè)置方向為全輸入。

(如果想控制PL端LED,就再加一個AXI_GPIO核),設(shè)置輸出就可以了。

② 打開中斷

IRQ_F2P是PL與PS的共享中斷,下面的是兩個ARM核的快速中斷和外部中斷(都來自PL屬于CPU私有中斷),私有中斷如何點亮LED還沒有測試。

③ PS端LED,設(shè)置I/O外設(shè),GPIO里勾選MIO,點亮的LED管腳為MIO0。

然后自動連接,(手動連接AXI_GPIO ip2intc_irpt),綁定gpio_rtl的管腳為T17(按鍵),3.3V,然后輸出,生成HDL Wrapper,導(dǎo)出硬件(包含比特流文件),載入SDK。

04、各種初始化:

① 初始化按鍵:

設(shè)置單通道,方向為輸入。

② 初始化LED:

設(shè)置MIO0為輸出,使能引腳(不使能不能點亮,與AXI接PL端LED有點區(qū)別,后者不需要使能)。然后引腳寫高電平,使LED初始狀態(tài)為滅。

③ 初始化中斷:

中斷初始化寫成一個函數(shù),傳入參數(shù)是中斷的ID,另外以上各種初始化,需要實例化XGpio、XGpioPs、XScuGic類型的變量,直接定義為全局變量,這樣會比較方便。

④中斷函數(shù):

A. 函數(shù)首先是中斷初始化,與先前的按鍵初始化與LED初始化差不多。

B. 接著是定義了一個InterruptSystemSetup函數(shù),定義為:

C.連接,我理解的就是,將這個中斷與按鍵的行為,連接起來。XScuGic_Connect(&gpio_intr, INTR_GPIO, (Xil_ExceptionHandler)BTN_Intr_Handler, (void*)&key),這個函數(shù)中參數(shù)的意思,第一個參數(shù)就是實例化的XScuGic對象了,第二個參數(shù),是對應(yīng)的XPAR_FABRIC_AXI_GPIO_0_IP2INTC_IRPT_INTR,也就是定義的那個中斷IRQ_F2P,定義在xparameters.h里。

定義為61,這也就是IRQ_F2P的中斷號為61-68和84-91,共同組成了IRQ_F2P[15:0]。

第三個參數(shù),調(diào)用的中斷處理函數(shù),發(fā)生的中斷操作寫在里面。第四個參數(shù),連接的對象,這里是按鍵,即將中斷行為與按鍵行為連接起來。

編輯:hfy
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9057

    瀏覽量

    366874
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2254

    瀏覽量

    94371
收藏 人收藏

    評論

    相關(guān)推薦

    ARM處理器的異常中斷響應(yīng)過程

    ARM處理器的異常中斷響應(yīng)是嵌入式系統(tǒng)設(shè)計中一個至關(guān)重要的環(huán)節(jié),它確保了系統(tǒng)在面對內(nèi)部或外部事件時能夠穩(wěn)定、可靠地運行。
    的頭像 發(fā)表于 09-10 11:18 ?789次閱讀

    stm32怎樣觸發(fā)軟件中斷

    了解STM32中斷系統(tǒng) STM32微控制器具有豐富的中斷系統(tǒng),包括NVIC(嵌套向量中斷控制器)和SYSTICK定時器。NVIC可以處理多達(dá)240個中斷源,包括外部
    的頭像 發(fā)表于 09-02 09:32 ?689次閱讀

    RISC-V的中斷處理 中斷操作三個步驟

    中斷操作三個步驟: 1、中斷初始化 2、trap處理 3、用戶中斷處理
    的頭像 發(fā)表于 05-20 16:38 ?1109次閱讀

    CPU中斷程序:從硬件看什么是中斷

    CPU響應(yīng)中斷轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前,需要把被中斷程序的現(xiàn)場信息保存起來,以便執(zhí)行完中斷服務(wù)程序后,接著從被中斷程序的斷點處繼續(xù)往下執(zhí)行。
    發(fā)表于 03-26 11:36 ?3182次閱讀
    CPU<b class='flag-5'>中斷</b>程序:從硬件看什么是<b class='flag-5'>中斷</b>?

    什么是中斷向量偏移,為什么要做中斷向量偏移?

    當(dāng)MCU中有兩段或以上程序的時候(第一個程序為用戶BootLoader程序,其他的為APP程序,這個在前期視頻《什么是ISP?什么是IAP》中有講過),APP程序中都需要做中斷向量偏移,那么什么是中斷向量偏移,為什么要做中斷向量
    的頭像 發(fā)表于 01-30 09:47 ?1628次閱讀
    什么是<b class='flag-5'>中斷</b>向量偏移,為什么要做<b class='flag-5'>中斷</b>向量偏移?

    外部中斷的工作原理 外部中斷方式有哪些 為什么要使用外部中斷

    外部中斷的工作原理是單片機(jī)響應(yīng)外部事件的一種機(jī)制** **。
    的頭像 發(fā)表于 01-28 17:37 ?3425次閱讀

    s3c2410中斷控制模塊的中斷源狀態(tài)寄存器是?

    S3C2410是一款由三星電子公司設(shè)計的具有多種功能的嵌入式處理器。其中的中斷控制模塊用于管理系統(tǒng)的中斷請求和中斷服務(wù)程序。在S3C2410中,中斷源狀態(tài)寄存器是用來標(biāo)識當(dāng)前正在發(fā)生的
    的頭像 發(fā)表于 01-05 17:28 ?666次閱讀

    arm中斷是怎么實現(xiàn)的

    ARM中斷的實現(xiàn)是通過中斷控制器和異常模式實現(xiàn)的。ARM處理器通過中斷控制器來接收和處理外部的中斷
    的頭像 發(fā)表于 01-05 15:18 ?846次閱讀

    stm32中斷怎么處理的

    STM32是一款非常強大的微控制器系列,具有豐富的外設(shè)和功能。中斷是STM32中非常重要的部分,能夠幫助我們提高系統(tǒng)的響應(yīng)速度和效率。本文將詳細(xì)介紹STM32中斷的處理方法。 一、中斷的基本概念
    的頭像 發(fā)表于 01-02 17:35 ?2484次閱讀

    FreeRTOS中斷測試避坑指南

    任何調(diào)用中斷安全FreeRTOS API函數(shù)的中斷服務(wù)例程都可以使用的最高中斷優(yōu)先級。不要從任何優(yōu)先級高于此的中斷調(diào)用中斷安全FREERTO
    的頭像 發(fā)表于 12-21 09:04 ?987次閱讀
    FreeRTOS<b class='flag-5'>中斷</b>測試避坑指南

    MCU中斷處理過程,MCU如何處理中斷

    當(dāng)MCU接收到一個中斷信號時,它會暫停當(dāng)前正在執(zhí)行的任務(wù),保存現(xiàn)場,然后跳轉(zhuǎn)到預(yù)設(shè)的中斷處理程序(Interrupt Service Routine, ISR)去處理這個中斷
    的頭像 發(fā)表于 12-13 11:48 ?1557次閱讀

    基于ARM體系架構(gòu)構(gòu)建云服務(wù)

    ,越來越多的云廠商開始選擇基于ARM體系來構(gòu)建云服務(wù)。從AWS發(fā)布的Graviton2,到Apple的M1芯片,到中國電子云十年磨一劍的“PK架構(gòu)”,再到華為鯤鵬體系ARM
    的頭像 發(fā)表于 12-06 10:00 ?559次閱讀
    基于<b class='flag-5'>ARM</b><b class='flag-5'>體系</b>架構(gòu)構(gòu)建云服務(wù)

    8051單片機(jī)中斷系統(tǒng)過程

    8051單片機(jī)是一種經(jīng)典的8位微控制器,它具有一個靈活的中斷系統(tǒng)。在8051單片機(jī)中,中斷是一種非常重要的功能,它允許處理器在執(zhí)行主程序的過程中,響應(yīng)外部或內(nèi)部事件的請求,暫停當(dāng)前的任務(wù),轉(zhuǎn)而去執(zhí)行
    發(fā)表于 12-05 09:15 ?0次下載

    單片機(jī)中斷系統(tǒng)詳解

    單片機(jī)中斷是指在單片機(jī)執(zhí)行程序的過程中,當(dāng)外部設(shè)備或內(nèi)部條件發(fā)生某個特定事件時,能夠暫停當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而去執(zhí)行一個特定的服務(wù)程序(稱為中斷服務(wù)程序或中斷
    的頭像 發(fā)表于 12-05 09:09 ?2875次閱讀

    中斷函數(shù)的基本概念

    單片機(jī):中斷函數(shù)
    的頭像 發(fā)表于 12-05 09:08 ?570次閱讀
    <b class='flag-5'>中斷</b>函數(shù)的基本概念