ARM中斷向量表重定位到片外RAM方法

2021-06-20 21:34:40 字數 401 閱讀 4012

1、

2013-01-22:"中斷向量重定位"問題? 

2、cpu user manual

由於arm cpu產生中斷或者異常後,pc指標自動跳轉到0x00位址執行(同時執行一些cpsr暫存器的儲存、執行模式的轉換等),所以要在0x00位址處存放中斷向量表。而如果我們想將中斷向量表重定位到片外ram的 話, 有2中方法:

1、啟用mmu

將片外ram空間隱射到0x00處

2、在0x00(片內ram)位址處存放乙份和片外ram一模一樣的中斷向量表

標準做法是將程式存放在nand flash裡面,s3c2440 cpu啟動後,會將程式複製到片內ram裡面,此時中斷向量表也複製到了iram裡

3、有部分cpu支援設定中斷向量表的暫存器

這樣也可以實現重定位

ARM的啟動和中斷向量表

對於s3c2440而言,啟動的方式有兩種,一是nor flash方式啟動,二是nand flash方式啟動。nor flash的位址範圍如下 0x0000.0000 0x0800.0000 2m nor flash 片內的bootsram位址被置為 0x4000.0000 0x4000.dfff 4...

中斷向量表

中斷向量表 中斷源的識別標誌,可用來形成相應的中斷服務程式的入口位址或存放中斷服務程式的首位址 稱為中斷向量。在pc at中由硬體產生的中斷標識碼被稱為中斷型別號 當然,中斷型別號還有其他的產生方法,如指令中直接給出 cpu自動形成等 即在中斷響應期間 8259a 產生的是當前請求中斷的最高優先順序...

中斷向量表

關於中斷向量的幾點注釋 1.系統引導時,中斷向量表放在記憶體何處?系統剛引導時,記憶體0x00000到0x0003ff共1kb的空間用於存放中斷向量表。每個中斷向量占用4個位元組,共可儲存256個中斷向量。2.系統引導時,處在實模式下,只可定址1mb,為什麼要用4個位元組來定址中斷呢處理程式?剛看到...