[H8-ML(5657)] 割り込み停止
From: "Henry of OB." <ob_henry@xxxxxxxxxxxxxxxx>
Date: 2005年08月13日(土)07時48分49秒
SH3 7705 の割り込みを、ICUの
割り込みレベル変更で停止すると、
たまたま、割り込み要求開始直後
のタイミングだと、暴走してしまって
います。 H8(3003,3048,3052,306x
2378),SH2(7045)では、経験してい
ないのですが、皆さん、これって経
験していますか?  (IRQ2)

H8Sシリーズで泣いた事ってなかった
ですかぁ?

マニュアルのICU部分の最後のとこに
注意書きがある奴だと思うのですが、
リセットじゃなくって、暴走してしまいま
す。 
ふつ〜なら、ハードで遅延、ラッチさ
せて、問題が起きないように作りこん
であるものだと思っていましたが、80
85や8048(割り込み信号をクロック
で同期させないと暴走していました)を
思い返してしまいました。

解決のため 

wi_intE :割り込み制御フラグ
wi_ints :割り込みサービスフラグ

を使い、割り込みサービスを停止したい
場合には wi_intE を禁止に倒して、
割り込みそのものは許可したままとし
割り込みが起きた時点で、割り込みソー
スを切り離し、wi_intsに割り込みサービス
停止を通知し何もせずにリターンさせる
事で割り込み禁止に替えています。
割り込み再開はwi_intsを見れば、再開
処理の必要の有無がわかります。


  オンボード 杉本 秀夫

スレッド概略
[表示中](起点)


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]