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

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

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

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

ARM處理器中斷向量表

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-10-30 17:19 ? 次閱讀

ARM處理器中,當一個中斷信號被觸發(fā)時,中斷控制器會發(fā)出一個中斷請求,并將該請求傳遞給CPU

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

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

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

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

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

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

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

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

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

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

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

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

Raw Interrupt和Masked Interrupt

Raw Interrupt和Masked Interrupt是兩種中斷類型,它們在ARM處理器中被用來處理中斷。

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

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

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

    關(guān)注

    68

    文章

    19178

    瀏覽量

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

    關(guān)注

    134

    文章

    9057

    瀏覽量

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

    關(guān)注

    5

    文章

    895

    瀏覽量

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

    關(guān)注

    1

    文章

    510

    瀏覽量

    25451
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    ARM中斷向量表問題

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

    MM32 IAP中斷向量表重定義

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

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

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

    怎么理解中斷向量

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

    中斷號定義與中斷向量表

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

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

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

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

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

    ARM中斷向量表異常處理過程解析

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

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

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

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

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

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

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

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

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

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

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

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

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