[H8-ML(4035)] 割り込み処理の手順について
From: fwny3655@xxxxxxxxxxxxxxxx
Date: 2003年10月21日(火)18時37分16秒
 このMLの皆さん、初めまして。鬼海(おにうみ)と申します。
数ヶ月前、秋月で3052F LANキットを購入し、H8のプログラミングの世界へと
足を踏み込み込んだ者です。以後、よろしくお願いいたします。
hamayanさん,Ryzさんには既にお世話になっておりますね。ありがとうございます。

さて、下記の件、ご存じの方がおりましたら、対策をアドバイスして頂けると
助かります。遅ればせながら、モニタを入れてdebugをしてみようとは思って
おります...


【現象】
 割り込み処理からタスクにsendmailをしたところ、リセットしてしまう。

【環境等】
・OS:HOS-H8h(ver0.07)
・ITUはCh0(1ms)とCh1(10ms)が動作し、Ch1でLEDを1S周期で点滅させて、
 動作していることを表示。タイマタスクは実装済みだが、動作は未確認
・UARTから割り込みで文字列を受信し、[CR]でタスクに文字列をsendmailする。
 文字が正常に取り込まれていることは確認。
・割り込み処理では、割り込み・ディスパッチを禁止にしていない。(loc_cpu未使用)
・開発環境未整備のため、モニタは未使用(やっぱ必要か)
・OSにDIP-SWのOnを検出するまで処理を待つというパッチを各所に当て、
 sendmail以降の動作をトレースしてみた。

【解析結果】
・OSの動作は下記の通り
 snd_msg -> wup_dsp -> __tsk_dsp -> _sta_dsp -> reset?
・本来ですと、__tsk_dspのところでsysstatを参照して遅延ディスパッチとなる
 ハズなんですが、すぐにディスパッチしてしまいます。
・割り込み処理内でこの変数を書き換える必要等あるでしょうか。
・割り込みからの通知をイベントフラグに変えたところで、同じように
 ディスパッチしてしまいそうですので、こちらの実装は未確認です。


以上。
よろしくお願いいたします。

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


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


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