ARM Exynos 4412 中斷理論分析

2021-08-04 16:33:03 字數 537 閱讀 7726

中斷在計算機體系結構中具有重要的地位。要進行中斷程式設計,首先要清楚發生中斷時程式的跳轉流程,然後再根據實際的硬體體系結構程式設計。

首先,中斷是異常的一種,因此,中斷發生時,soc實際上是按照異常的標準處理流程來執行的。

由於cpu上電之後執行的第一條**是彙編**,所以我們需要在匯程式設計序中完成異常向量表的裝載,堆疊的初始化等操作,才能執行c語言的程式。

下面是已經啟動的系統在中斷發生時所執行的操作,前半部分是異常處理流程,後半部分為中斷專屬的處理流程。

接觸過arm9或者arm11的人或許更熟悉vic(向量終端控制器),由於exynos 4412是一款四核處理器,因此不同於以往的終端控制器,它使用了gic(通用終端控制器)。管理了160個中斷源,包括software generated interrupts (sgis), private peripheral interrupts (ppis) 和 shared peripheral interrupts (spis)。

我們只討論spi,即共享外圍裝置中斷。整個過程大致如下圖:

exynos4412中斷程式設計

我們知道,arm核能處理的異常有7種,但僅僅區分異常的種類顯然不能夠滿足需求。拿手機來說,觸控螢幕和按下音量鍵可能都是irq異常,但是arm並不能將他們區分開,而事實的情況是針對這兩種中斷,我們的處理方式顯然不同,為此就需要在soc中整合中斷控制器 generic interupt controll...

x86中斷(一) 中斷分類

一 中斷分類 x86系統支援256個中斷源,每個中斷源使用0 255數字標識,該標識稱作中斷向量號 即cpu中斷源的中斷號,要與外部中斷的中斷號irq n相區別 cpu通過獲取中斷向量號識別中斷源。256個中斷源可以分為 其中 1 內部中斷 由cpu內部事件及執行軟中斷指令產生,由除法中斷 溢位中斷...

6 中斷系統

外部中斷0實驗 include reg52.h 此檔案中定義了微控制器的一些特殊功能暫存器 typedef unsigned int u16 對資料型別進行宣告定義 typedef unsigned char u8 sbit k3 p3 2 定義按鍵k3 sbit led p2 0 定義p20口是l...