Wiki

Clone wiki

CafeOBJ / OSEK / contents / interrupt

割込処理

割込処理は ISR(Interrupt Service Routine) category 1 と, ISR category 2 に分類される.

#!python

module ISR1
{
  imports {
    ex(ISR)
  }
  signature {
    [ ISR1 < ISR ]
  }
}
#!python

module ISR2
{
  imports {
    ex(ISR)
  }
  signature {
    [ ISR2 < ISR ]
  }
}

タスクはスケジューラが起動するが,割込処理はハードウェアが起動する. それゆえ,OSEK/VDX仕様は,割込処理に対しては,タスクの遷移に相当するものを用意していない. しかし,実際に割込処理まで含めて優先度逆転やデッドロックが起こらないことを検証するには, 少なくとも割込処理の活性化と終了に相当するものが必要になる. 本文書では,先に記述したenableとdisableで,割込処理の活性化と終了を表すことにする.

Updated