人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ルネサスのSH2におけるTRAPA命令についてです。
H8ではTRAP命令に対して固定の割り込みベクタテーブルが存在しましたが、SH2ではイミディエイトで指定したベクタ番号のアドレスに飛ぶようになっているようです。

この時、TRAPA命令を使った時に使えるベクタは特に制限はないのでしょうか?
割り込みプライオリティを指定して使いたいのでIPRの設定できるベクタで空いているところを適当に使おうと思うのですが・・・。

●質問者: tanpa
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:H8 アドレス エイト プライオリティ ベクタ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pyopyopyo
●100ポイント

http://www.google.com/

Google

ユーザベクタ(ソフトウェア割込)として

利用できるのは32から63までの32個です.

この中のベクタであれば,自由に利用できます.

trapa 命令は 0から255までの番号を

利用できるようになっていますが,

32から63以外のベクタは,ハードウェア割り込み(NMIやリセット,IRQなど)に割り当てられています.

また,割り込みの優先順位ですが,リセット直後の状態では,割り込みベクタ番号が小さいほど優先されます.

SHの仕様書にベクタの一覧があると思いますので,詳細はそちらをみると良いと思います.

◎質問者からの返答

回答ありがとうございます!

ベクタ一覧見つけました。

確かに32〜63がユーザベクタになっていました。

トラップは割り込みと共に、例外処理の仲間という事なんですね。

認識が間違っていました。勉強になります。

簡単なタスク切り替えディスパッチャを作っていて、任意のタイミングでタスク切り替えさせるためにトラップを使おうと思ったのでした。

例外処理の項を見て、割り込み例外よりもトラップ命令例外の方が優先順位が低い事も分かりました。

(ハードウェア割り込み中にトラップでタスクを切り替えられてしまうとおかしな事になるのでIPRで・・・などと考えていましたがはじめから優先順位が低いなら問題なしです)

これで仕事が進みます。

ありがとうございました(^_^)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ