IMX6ULLmini ベースの Linux ベアメタル開発シリーズ 6: 割り込みベクタ テーブル

ARMv7-A

レベル 1 テーブル ルックアップ

実際に割り込みが発生すると、指定した位置(ベースアドレス+オフセット)に自動的にジャンプします。

コードの先頭に配置するのが一般的で、リセット割り込みはコードのゼロ アドレスに配置され、定義された指定された割り込みはコードの 4 バイト目に配置されます。

アドレス タイプ 関数 モード
0x00 リセット リセット割り込み SVC
0x04 未定義の命令 未定義命令ブレーク 未定義
0x08 スーパーバイザーコール ソフト割り込み SYC
0x0C プリフェッチの中止 命令プリフェッチ中断割り込み ABT
0x10 データの中止 データアクセス中断割り込み ABT
0x14 予約済み 未使用 未使用
0x18 IRQ割り込み IRQ割り込み IRQ
0x1C FIQ割り込み FIQ割り込み FIQ

さまざまなタイプの割り込みをトリガーすることにより、システムは対応する動作モードに入ります。

さまざまな操作モードについて説明します

B1.3.1 ARM プロセッサ モード (ARMv7-A アーキテクチャ マニュアル)

さまざまな割り込みタイプについて説明します

B1.8.1 例外ベクタと例外ベースアドレス (ARMv7-A アーキテクチャマニュアル)

 

二次テーブルの検索、割り込み関数の実行

事前登録、コールバック実行

 

3.2 Cortex A7 割り込み (チップ データシート)

 

 32ユニットのオフセットはデータシートと1対1対応

 

...

おすすめ

転載: blog.csdn.net/qq_51519091/article/details/132367192