(toppers-users 1844) Re: ARM対応の割り込みとディスパッチについて
seiichi_horie
seiichi_horie @ yahoo.co.jp
2005年 1月 8日 (土) 00:16:13 JST
こんにちは。
ARMはチラッと見たことがあるだけですが、わかるところだけコメントします。
Masafumi YASHIKI wrote:
>シナリオ
>1. 実行できる状態のタスクがない
>2. dispatcher_1 と dispatcher_2 をループし,割り込み待ち
>3. 割り込み発生
>
>dispatcher_2 を処理中は,sp はタスクスタックを指しています.この状態で,
>interrupt_count = 1 とし,割り込みを待つと,割り込みハンドラで使用され
>るスタックが割り込みスタックとならず,タスクスタックが使用されることに
>なります.
>
>
>
確かにタスクスタックが使われていますが、ディスパッチ関数内部の割り込みで
はタスク
切り替えが発生しないため、スタックが切り替えられることもありません。その
ため、タスク
スタックをそのまま使っているのだと思われます。
ただし、今のままだとすべてのタスクスタックに割り込み分の余裕を持たせる必
要がある
ので無駄ですね。
>り,interrupt_count = 1 とするのは,dispatcher_2 処理中に発生する割り
>込みに対して,割り込みの出口でのディスパッチを禁止するためとの理解でよ
>ろしいでしょうか.
>
>
>
私もそう理解しています。
酔漢/堀江
__________________________________
Do You Yahoo!?
Upgrade Your Life
http://bb.yahoo.co.jp/