一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

ARM處理器中斷向量表

麥辣雞腿堡 ? 來(lái)源:TrustZone ? 作者:TrustZone ? 2023-10-30 17:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ARM處理器中,當(dāng)一個(gè)中斷信號(hào)被觸發(fā)時(shí),中斷控制器會(huì)發(fā)出一個(gè)中斷請(qǐng)求,并將該請(qǐng)求傳遞給CPU

CPU接收到中斷請(qǐng)求后,會(huì)根據(jù)中斷號(hào)在中斷向量表中查找對(duì)應(yīng)的中斷服務(wù)程序入口地址。

中斷向量表是一個(gè)預(yù)定義的表,其中每個(gè)條目都包含一個(gè)指向特定中斷服務(wù)程序的入口地址。當(dāng)CPU接收到中斷請(qǐng)求時(shí),它會(huì)根據(jù)中斷號(hào)在表中查找對(duì)應(yīng)的條目,獲取對(duì)應(yīng)的入口地址,并跳轉(zhuǎn)到該地址執(zhí)行相應(yīng)的中斷服務(wù)程序。

在這個(gè)過(guò)程中,程序員可以通過(guò)設(shè)置中斷向量表中的條目來(lái)定義不同中斷源的中斷服務(wù)程序入口地址。

這樣可以實(shí)現(xiàn)自定義的中斷處理邏輯,根據(jù)不同的中斷事件執(zhí)行相應(yīng)的操作。

需要注意的是,在ARM處理器中,不同的工作模式(例如User、FIQ、IRQ、SVC等)使用不同的寄存器集和特權(quán)級(jí)別。

當(dāng)中斷發(fā)生時(shí),CPU會(huì)根據(jù)當(dāng)前的工作模式和中斷向量表中的條目,確定要跳轉(zhuǎn)到的中斷服務(wù)程序的入口地址。然后它會(huì)將CPU的狀態(tài)保存到相應(yīng)的棧中,并跳轉(zhuǎn)到該地址執(zhí)行中斷服務(wù)程序。

在ARM處理器中,中斷向量表是一個(gè)預(yù)定義的表,它通常在系統(tǒng)啟動(dòng)時(shí)由引導(dǎo)加載器(Bootloader)或操作系統(tǒng)進(jìn)行定義和初始化。

引導(dǎo)加載器在系統(tǒng)啟動(dòng)時(shí)負(fù)責(zé)加載和啟動(dòng)操作系統(tǒng)的內(nèi)核。在這個(gè)過(guò)程中,它會(huì)讀取存儲(chǔ)器中的中斷向量表數(shù)據(jù),并將其復(fù)制到指定的內(nèi)存地址。

這個(gè)地址通常是在系統(tǒng)配置時(shí)確定的,以確保中斷向量表可以在正確的位置被CPU訪問(wèn)。操作系統(tǒng)在啟動(dòng)后也會(huì)接管中斷向量表的管理和配置。它會(huì)根據(jù)系統(tǒng)中斷控制器和其他硬件設(shè)備的配置,將中斷向量表中的條目映射到相應(yīng)的中斷服務(wù)程序入口地址。

這樣,當(dāng)中斷發(fā)生時(shí),CPU可以根據(jù)中斷號(hào)在中斷向量表中查找對(duì)應(yīng)的條目,并跳轉(zhuǎn)到對(duì)應(yīng)的地址執(zhí)行相應(yīng)的中斷服務(wù)程序。

需要注意的是,中斷向量表的定義方式和具體實(shí)現(xiàn)可能會(huì)因不同的ARM處理器架構(gòu)和系統(tǒng)設(shè)計(jì)而有所不同。

因此,具體的定義位置和方式可能會(huì)因硬件平臺(tái)和操作系統(tǒng)而有所差異。

Raw Interrupt和Masked Interrupt

Raw Interrupt和Masked Interrupt是兩種中斷類(lèi)型,它們?cè)贏RM處理器中被用來(lái)處理中斷。

Raw Interrupt(原始中斷)是指外部中斷源的狀態(tài),無(wú)論ARM芯片是否屏蔽該中斷源,這個(gè)中斷源的中斷狀態(tài)都會(huì)被寄存器存儲(chǔ),從而可以通過(guò)相應(yīng)的函數(shù)讀取。

Masked Interrupt(屏蔽中斷)是指是否屏蔽的狀態(tài)。在ARM處理器中,每個(gè)中斷源都有一個(gè)與之對(duì)應(yīng)的屏蔽觸發(fā)器,如果該中斷源被屏蔽(即MASK=1),那么即使INTR被置為1,CPU也不會(huì)響應(yīng)這個(gè)中斷請(qǐng)求。換句話說(shuō),屏蔽觸發(fā)器可以阻止特定的中斷源向CPU發(fā)送中斷請(qǐng)求。所有的屏蔽觸發(fā)器組合在一起,構(gòu)成了屏蔽寄存器。

聲明:本文內(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

    文章

    19895

    瀏覽量

    235203
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9352

    瀏覽量

    377539
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    905

    瀏覽量

    42800
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    528

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ARM體系架構(gòu)處理器中斷程序分析

    基礎(chǔ)知識(shí) ARM體系架構(gòu)的處理器中通常將低地址32字節(jié)作為中斷向量表,當(dāng)中斷產(chǎn)生時(shí)會(huì)執(zhí)行以下操作: ① 保存處理器當(dāng)前狀態(tài),設(shè)置
    的頭像 發(fā)表于 11-21 11:10 ?2887次閱讀
    <b class='flag-5'>ARM</b>體系架構(gòu)<b class='flag-5'>處理器</b>的<b class='flag-5'>中斷</b>程序分析

    ARM中斷向量表問(wèn)題

    請(qǐng)問(wèn)圖中代碼時(shí)ARM中斷向量表的實(shí)現(xiàn)嗎?如果是,為何中斷服務(wù)程序中最后都有指令B .它的作用是什么,看不懂它為何要跳轉(zhuǎn)到當(dāng)前地址,這樣不是死循環(huán)了嗎下面這張圖是我找了STM32的啟動(dòng)代碼,也是有B .
    發(fā)表于 02-20 13:55

    MM32 IAP中斷向量表重定義

    = FLASH_BASE | VECT_TAB_OFFSET;該寄存的值來(lái)實(shí)現(xiàn)中斷向量表的重定義。但用戶(hù)反饋在MM32L0xx系列以Cortex-M0為內(nèi)核的單片機(jī)中卻怎么也找不到這個(gè)設(shè)置中斷向量表的寄存
    發(fā)表于 02-01 17:22

    一種基于ARM嵌入式系統(tǒng)的中斷向量表的動(dòng)態(tài)配置方法設(shè)計(jì)

    編代碼編程的程序員尤其如此。當(dāng)需要在程序運(yùn)行過(guò)程中動(dòng)態(tài)修改中斷向量的程序時(shí)會(huì)感到更為不便,不得不增加很多分支處理指令才能實(shí)現(xiàn)。為此本文提出一種簡(jiǎn)便高效的配置方法,實(shí)現(xiàn)了ROM固化程序在運(yùn)行時(shí)動(dòng)態(tài)配置ARM嵌入式系統(tǒng)
    發(fā)表于 06-18 07:20

    怎么理解中斷向量?

    256個(gè)),它的地址范圍是0~3FFH在arm處理器中斷向量的大小為4個(gè)字節(jié)。在中斷向量里面不是存儲(chǔ)的中斷服務(wù)程序的入口地址,而是跳轉(zhuǎn)到
    發(fā)表于 08-27 10:24

    中斷號(hào)定義與中斷向量表

    1、中斷號(hào)定義在stm32f10x.h中定義枚舉類(lèi)型IRQn中,定義了各個(gè)中斷中斷號(hào)。2、中斷向量表嵌套向量
    發(fā)表于 08-13 06:27

    智能設(shè)置中斷向量表的方法

    來(lái)源:公眾號(hào)【魚(yú)鷹談單片機(jī)】作者:魚(yú)鷹OspreyID :emOsprey在有 boot 的情況下,一般需要重新設(shè)置 app 的中斷向量表,使得中斷向量表從 boot 切換到 APP ...
    發(fā)表于 01-21 07:51

    設(shè)置中斷向量表的過(guò)程

    在有 boot 的情況下,一般需要重新設(shè)置 app 的中斷向量表,使得中斷向量表從 boot 切換到 APP 部分,大部分的工程師會(huì)使用類(lèi)似下面這種方式設(shè)置中斷向量表的地址 0x0800 ...
    發(fā)表于 02-14 06:34

    ARM中斷向量表異常處理過(guò)程解析

    現(xiàn)場(chǎng)如果CPU正在處理別的中斷,當(dāng)前中斷不能得到及時(shí)處理,0.5秒后按鍵抬起,中斷消失,解決辦法:CPU通過(guò)
    發(fā)表于 05-05 10:16

    ARM中斷向量兩種設(shè)置方法

    在32位ARM系統(tǒng)中,一般都是在中斷向量表中放置一條分支指令或PC寄存加載指令,實(shí)現(xiàn)程序跳轉(zhuǎn)到中斷服務(wù)例程的功能。
    發(fā)表于 01-12 19:06 ?4790次閱讀

    ARM中斷向量表與響應(yīng)流程的系列資料詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是ARM中斷向量表與響應(yīng)流程的系列資料詳細(xì)說(shuō)明包括了:一首先中斷向量表定義在哪里?如何加載?,二 中斷向量表中斷
    發(fā)表于 07-05 17:41 ?2次下載
    <b class='flag-5'>ARM</b><b class='flag-5'>中斷向量表</b>與響應(yīng)流程的系列資料詳細(xì)說(shuō)明

    一文了解Cortex-M中斷向量表對(duì)齊原則

    來(lái)源 | 痞子衡嵌入式 一、Cortex-M中斷向量表對(duì)齊原則 ? 中斷向量表就是一個(gè)集中保存系統(tǒng)全部中斷處理函數(shù)(xxxIRQHandler)地址的常量數(shù)組(函數(shù)地址要占 4 個(gè)字節(jié)
    的頭像 發(fā)表于 10-19 11:06 ?5653次閱讀
    一文了解Cortex-M<b class='flag-5'>中斷向量表</b>對(duì)齊原則

    【stm32】STM32F0系列MCU中斷向量表的重映射

    【stm32】STM32F0系列MCU中斷向量表的重映射
    發(fā)表于 11-18 16:36 ?13次下載
    【stm32】STM32F0系列MCU<b class='flag-5'>中斷向量表</b>的重映射

    一文了解Cortex-M中斷向量表對(duì)齊原則

    關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容來(lái)源| 痞子衡嵌入式一、Cortex-M中斷向量表對(duì)齊原則中斷向量表就是一個(gè)集中保存系統(tǒng)全部中斷處理函數(shù)(xxxIRQHandler)地址的常量數(shù)組(函
    發(fā)表于 12-01 12:21 ?9次下載
    一文了解Cortex-M<b class='flag-5'>中斷向量表</b>對(duì)齊原則

    如何智能設(shè)置中斷向量表?| 簡(jiǎn)單實(shí)用技能

    在有 boot 的情況下,一般需要重新設(shè)置 app 的中斷向量表,使得中斷向量表從 boot 切換到 APP 部分,大部分的工程師會(huì)使用類(lèi)似下面這種方式設(shè)置中斷向量表的地址 0x0800 ...
    發(fā)表于 12-09 10:36 ?13次下載
    如何智能設(shè)置<b class='flag-5'>中斷向量表</b>?| 簡(jiǎn)單實(shí)用技能