割込み要因のクリアの方法

106 views
Skip to first unread message

pq9f0...@gmail.com

unread,
Feb 15, 2019, 2:12:41 AM2/15/19
to KOZOS友の会
現在,7thステップを読んでおります.
p.243に,一般的な割込み処理の説明として,「割込みハンドラ内で割込み要因のクリアを行う必要がある」と書かれています.
しかしながら,Kozosのソースコード内で,どこにそのような処理が書かれているのかが,わかりません.

7thステップのソースコードのどの箇所(関数)で,割込み要因のクリアを行っているのか教えていただけますでしょうか.

ご教授いただければ幸いです。

queret...@gmail.com

unread,
Feb 18, 2019, 8:23:12 AM2/18/19
to KOZOS友の会
275ページに「プログラムの実行」例で、
 kozos boot succeed!
    > echo test
       test
のようにあります。

上で、ユーザが 'e' と打った時、kozos/H8 の関数の流れは次のようになります。
 [受信割り込みから]
    intra_scrintr()
       interrupt()
          intra()
             getc()
                 serial_recv_byte()

serial_recv_byte()の中で、
 scr->ssr &= ~H8_3069F_SCI_SSR_RDRF;
をしていますが、これが「割り込み要因のクリア」と思います。例えば、この1文をコメント・アウト、または削除などして動かしてみると、243ページの「割恋要因のクリア忘れ」を起こして、期待どうり無限ループに陥ります。

pq9f0...@gmail.com

unread,
Mar 17, 2019, 8:59:24 AM3/17/19
to KOZOS友の会
お返事が大変遅くなってしまい申し訳ございません.

割込み要因のクリアについて理解できました.
ありがとうございます.
2019年2月15日金曜日 16時12分41秒 UTC+9 pq9f0...@gmail.com:
Reply all
Reply to author
Forward
0 new messages