chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

高端芯片中中斷系統(tǒng)的基本操作方法

嵌入式開(kāi)發(fā)愛(ài)好者 ? 來(lái)源:嵌入式開(kāi)發(fā)愛(ài)好者 ? 作者:嵌入式開(kāi)發(fā)愛(ài)好者 ? 2022-12-06 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,我是ST。

今天主要和大家聊一聊,如何使用高端芯片的中斷系統(tǒng)的方法。

第一:中斷的基本簡(jiǎn)介

中斷系統(tǒng)是一個(gè)處理器重要的組成部分,中斷系統(tǒng)極大的提高了CPU的中斷執(zhí)行效率。芯片本身也有中斷向量表,中斷向量表也是在代碼的最前面。A7內(nèi)核有8個(gè)異常中斷,這8個(gè)異常中斷的中斷向量表如圖:

1f87d83a-74b5-11ed-8abf-dac502259ad0.png

中斷向量表中都是中斷服務(wù)函數(shù)的入口地址,因此芯片有什么中斷都是可以從中斷向量表中看出來(lái)的。難道A7系列只有7個(gè)中斷嗎?顯然是不可能的。A內(nèi)核的CPU所有的外部中斷都屬于這個(gè)IRQ中斷,當(dāng)任意一個(gè)外部中斷發(fā)生的時(shí)候都觸發(fā)這個(gè)IRQ中斷。在IRQ中斷服務(wù)函數(shù)里面就可以讀取指定的寄存器來(lái)判斷發(fā)生的具體是什么中斷,進(jìn)而根據(jù)具體的中斷做出相應(yīng)的處理。

1faf2322-74b5-11ed-8abf-dac502259ad0.png

在左側(cè)都是Software0_IRQn~PMU_IRQ2_IRQ都是外設(shè)IRQ中斷,中斷任意一個(gè)發(fā)生的時(shí)候IRQ中斷都會(huì)被觸發(fā),需要在IRQ中斷服務(wù)函數(shù)中判斷究竟是哪個(gè)中斷發(fā)生了,然后再做出具體的處理。

常用的復(fù)位中斷和IRQ中斷,需要編寫(xiě)這兩個(gè)中斷的中斷服務(wù)函數(shù),稍后會(huì)講解如何編寫(xiě)對(duì)應(yīng)的中斷服務(wù)函數(shù)。首先要來(lái)編寫(xiě)中斷向量表:

.global _start
_start:
ldrpc,=Reset_Handler/*復(fù)位中斷
ldr pc, =Undefined_Handler /* 未定義指令中斷 */
ldrpc,=SVC_Handler/*SVC(Supervisor)中斷*/
ldrpc,=PrefAbort_Handler/*預(yù)取終止中斷*/
ldrpc,=DataAbort_Handler/*數(shù)據(jù)終止中斷*/
ldrpc,=NotUsed_Handler/*未使用中斷*/
ldrpc,=IRQ_Handler/*IRQ中斷*/
ldrpc,=FIQ_Handler/*FIQ(快速中斷)未定義中斷*/
/* 復(fù)位中斷 */ 
Reset_Handler:
/*復(fù)位中斷具體處理過(guò)程*/
/*未定義中斷*/
Undefined_Handler:
ldrr0,=Undefined_Handler
bxr0
/*SVC中斷*/
SVC_Handler:
ldrr0,=SVC_Handler
bxr0
/*預(yù)取終止中斷*/
PrefAbort_Handler:
ldrr0,=PrefAbort_Handler
bxr0
/*數(shù)據(jù)終止中斷*/
DataAbort_Handler:
ldrr0,=DataAbort_Handler
bxr0
/*未使用的中斷*/
NotUsed_Handler:


ldrr0,=NotUsed_Handler
bxr0
/* IRQ 中斷!重點(diǎn)?。。。?!*/
IRQ_Handler:
/*復(fù)位中斷具體處理過(guò)程*/

/*FIQ中斷*/
FIQ_Handler:
ldrr0,=FIQ_Handler
bxr0

中斷服務(wù)函數(shù)都是用匯編編寫(xiě)的,我們實(shí)際需要編寫(xiě)的只有復(fù)位中斷服務(wù)函數(shù) Reset_Handler 和 IRQ 中斷服務(wù)函數(shù) IRQ_Handler,其它的中斷沒(méi)有用到,所以都是死循環(huán)。

第二:GIC控制器介紹

GIC是ARM公司給Cortex-A內(nèi)核提供的一個(gè)中斷控制器,類(lèi)似Cortex-M內(nèi)核中的NVIC。目前有4個(gè)版本:V1~V4,V1是最老的版本,已經(jīng)廢棄。GIC V2 是給 ARMv7-A 架構(gòu)使用的,比如 Cortex-A7、Cortex-A9、Cortex-A15 等,V3 和 V4 是給 ARMv8-A/R 架構(gòu)使用的,也就是 64 位芯片使用的。GIC V2 最多支持 8 個(gè)核。ARM 會(huì)根據(jù) GIC 版本的不同研發(fā)出不同的 IP 核,那些半導(dǎo)體廠商直接購(gòu)買(mǎi)對(duì)應(yīng)的 IP 核即可,比如 ARM 針對(duì) GIC V2 就開(kāi)發(fā)出了 GIC400 這個(gè)中斷控制器 IP 核。當(dāng) GIC 接收到外部中斷信號(hào)以后就會(huì)報(bào)給 ARM 內(nèi)核,但是ARM 內(nèi)核只提供了四個(gè)信號(hào)給 GIC 來(lái)匯報(bào)中斷情況:VFIQ、VIRQ、FIQ和IRQ,他們之間關(guān)系如圖。

1fd28470-74b5-11ed-8abf-dac502259ad0.png

GIC接收眾多的外部中斷,然后對(duì)其處理,最終就只通過(guò)四個(gè)信號(hào)報(bào)給ARM內(nèi)核,這四個(gè)信號(hào)的含義如下:

VFIQ:虛擬快速 FIQ。VIRQ:虛擬外部 IRQ。FIQ:快速中斷 IRQ。IRQ:外部中斷 IRQ。VFIQ 和 VIRQ 是針對(duì)虛擬化的,我們不討論虛擬化,剩下的就是 FIQ 和 IRQ 了。

1fe70148-74b5-11ed-8abf-dac502259ad0.png

GIC將眾多的中斷源分為三類(lèi):

①、SPI(Shared Peripheral Interrupt),共享中斷,顧名思義,所有 Core 共享的中斷,這個(gè)是最常見(jiàn)的,那些外部中斷都屬于 SPI 中斷(注意!不是 SPI 總線那個(gè)中斷) 。比如按鍵中斷、串口中斷等等,這些中斷所有的 Core 都可以處理,不限定特定 Core。

②、PPI(Private Peripheral Interrupt),私有中斷,我們說(shuō)了 GIC 是支持多核的,每個(gè)核肯定有自己獨(dú)有的中斷。這些獨(dú)有的中斷肯定是要指定的核心處理,因此這些中斷就叫做私有中斷。

③、SGI(Software-generated Interrupt),軟件中斷,由軟件觸發(fā)引起的中斷,通過(guò)向寄存器GICD_SGIR 寫(xiě)入數(shù)據(jù)來(lái)觸發(fā),系統(tǒng)會(huì)使用 SGI 中斷來(lái)完成多核之間的通信。

總結(jié):高端芯片中斷系統(tǒng)非常復(fù)雜,分析到這里還有很多細(xì)節(jié)沒(méi)有分析,等到下回分解,感興趣的可以研究一下。中斷系統(tǒng)對(duì)后面靈活使用功能非常有用。

審核編輯:湯梓紅

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

    關(guān)注

    68

    文章

    20069

    瀏覽量

    242851
  • 中斷系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    96

    瀏覽量

    61591
  • 高端芯片
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    3907

原文標(biāo)題:高端芯片中中斷系統(tǒng)的基本操作方法

文章出處:【微信號(hào):嵌入式開(kāi)發(fā)愛(ài)好者,微信公眾號(hào):嵌入式開(kāi)發(fā)愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    GPIO引腳操作方法概述

    :原則 - 不能影響到其他位三、STM32F103的GPIO操作方法1、看原理圖確定引腳2、再看芯片手冊(cè)(1)時(shí)鐘使能(2)設(shè)置GPIOB0為GPIO、用作輸出(3)怎么設(shè)置GPIOB0的輸出電平?四、STM32F103的LED編程1、怎么訪問(wèn)寄存器?2、編寫(xiě)L
    發(fā)表于 01-20 07:38

    RK3288的GPIO操作方法是什么

    GPIO寄存器的操作方法有哪幾種呢?RK3288的GPIO操作方法是什么?
    發(fā)表于 03-09 07:38

    PCB應(yīng)力應(yīng)變測(cè)試操作方法

    PCB應(yīng)力應(yīng)變測(cè)試操作方法
    發(fā)表于 06-12 22:22

    控溫/恒溫烙鐵操作方法及使用說(shuō)明

    控溫/恒溫烙鐵操作方法及使用說(shuō)明 一.
    發(fā)表于 04-18 00:17 ?9430次閱讀

    EWB的基本操作方法

    EWB的基本操作方法 1.創(chuàng)建電路(1)元器件操作  元件選用:打開(kāi)元件庫(kù)欄,移動(dòng)鼠標(biāo)到需要的元件圖形上,按下左鍵,將元件符
    發(fā)表于 03-05 16:10 ?2.8w次閱讀
    EWB的基本<b class='flag-5'>操作方法</b>

    智能儀表組態(tài)操作方法評(píng)述

    智能儀表 的應(yīng)用方興未艾,其組態(tài)操作方法多種多樣。看似儀表的使用細(xì)節(jié)問(wèn)題,確是設(shè)計(jì)中所容易忽略的。本文試就該問(wèn)題進(jìn)行探討評(píng)述,并重點(diǎn)對(duì)智能流量計(jì)幾種常用組態(tài)操作方法
    發(fā)表于 07-21 15:36 ?43次下載

    工業(yè)烤箱操作方法及異?,F(xiàn)象排除

    工業(yè)烤箱操作方法及異?,F(xiàn)象排除
    發(fā)表于 08-23 16:26 ?3550次閱讀

    iphone遠(yuǎn)程控制電腦的操作方法

    iphone遠(yuǎn)程控制電腦的操作方法
    發(fā)表于 02-18 12:53 ?1.4w次閱讀
    iphone遠(yuǎn)程控制電腦的<b class='flag-5'>操作方法</b>

    PROTEL鋪銅操作方法

    PROTEL鋪銅操作方法----鋪銅實(shí)用技巧,有用的資料。
    發(fā)表于 03-11 15:33 ?0次下載

    獨(dú)立按鍵操作方法

    慧凈HL-1 配套C實(shí)驗(yàn)例程100例【實(shí)驗(yàn)11】獨(dú)立按鍵操作方法),很好的C51學(xué)習(xí)資料程序。
    發(fā)表于 03-21 17:01 ?4次下載

    Altium designer阻值圖輸出的詳細(xì)操作方法

    阻值圖輸出的詳細(xì)操作方法
    發(fā)表于 01-08 15:41 ?0次下載

    電子測(cè)力計(jì)的操作方法

    電子測(cè)力計(jì)正確操作方法
    發(fā)表于 04-17 15:57 ?3038次閱讀

    光幕傳感器工作原理及操作方法

    本文首先接介紹了光幕傳感器工作原理,其次介紹了光幕傳感器操作方法,最后介紹了光幕傳感器操作方法
    發(fā)表于 10-12 08:51 ?1.1w次閱讀

    AD18操作方法

    AD18操作方法
    發(fā)表于 03-28 15:04 ?0次下載

    multisim的基本界面與操作方法

    電子發(fā)燒友網(wǎng)站提供《multisim的基本界面與操作方法.pdf》資料免費(fèi)下載
    發(fā)表于 06-24 16:53 ?0次下載