• 検索結果がありません。

アボー ト モデル

ドキュメント内 Cortex-M3 Technical Reference Manual (ページ 130-135)

フ ォ ール ト を生成す る 可能性があ る イ ベン ト は 4 つです。

• 命令フ ェ ッ チ ま たはベ ク タ テーブル ロ ー ド のバ ス エ ラ ー

• デー タ ア ク セ ス のバ ス エ ラ ー

• 未定義命令や、 BX 命令に よ る 状態変更の試みな ど、 内部で検出 さ れた エ ラ ー。 NVIC の フ ォ ール ト ス テー タ ス レ ジ ス タ に フ ォ ール ト の原因が 示 さ れ ます。

• 特権違反ま たは管理 さ れていない領域が原因の MPU フ ォ ール ト フ ォ ール ト ハン ド ラ には次の 2 種類があ り ます。

• 固定優先度のハー ド フ ォ ール ト

• 優先度を設定で き る ロ ーカルフ ォ ール ト

5.12.1 ハー ド フ ォ ール ト

固定優先度のハー ド フ ォ ール ト は、 リ セ ッ ト お よ び NMI のみが横取 り で き ま す。 ハー ド フ ォール ト は、 リ セ ッ ト 、 NMI、 他のハー ド フ ォ ール ト を除 く す べての例外を横取 り で き ます。

Note

FAULTMASK を使用す る コ ー ド はハー ド フ ォ ール ト と し て動作 し 、 ハー ド フ ォ ール ト と 同 じ 規則に従い ます。

横取 り を し てい る 同 じ タ イ プの フ ォ ール ト は自分自身を横取 り で き ないため、

派生 し たバ ス フ ォ ール ト は昇格 さ れ ません。 つま り 、 破損 し た ス タ ッ ク に よ っ て フ ォ ール ト が発生 し た場合、 その フ ォ ール ト ハン ド ラ は ス タ ッ ク への プ ッ シ ュ が失敗 し た場合で も 実行 さ れ ます。 フ ォ ール ト ハン ド ラ は動作で き ますが、 ス タ ッ ク の内容は破損 し てい ます。

5.12.2 ロー カル フ ォ ール ト と 昇格

ロ ーカルフ ォ ール ト は、 原因に よ っ て分類 さ れ ます。 テーブル 5-10 p. 5-31 を参照 し て下 さ い。 ロ ーカルフ ォ ール ト ハン ド ラ が許可 さ れてい る 場合、 こ のハン ド ラ が通常の フ ォ ール ト をすべて処理 し ます。 ただ し 、 ロ ーカル フ ォ ール ト は次の条件でハー ド フ ォ ール ト に昇格 さ れ ます。

• ロ ーカルフ ォ ール ト ハン ド ラ で、 処理中の も の と 同 じ 種類の フ ォ ール ト が発生 し た場合

• ロ ーカルフ ォ ール ト ハン ド ラ で、 同 じ ま たは よ り 優先度の高い フ ォ ー ル ト が発生 し た場合

• 例外ハン ド ラ で、 同 じ ま たは よ り 優先度の高い フ ォール ト が発生 し た場合

• ロ ーカルフ ォール ト が許可 さ れていない場合

ロ ーカルフ ォール ト の一覧を、 テーブル 5-10 に示 し ます。

テーブル 5-10 フ ォ ール ト

フ ォ ール ト ビ ッ ト 名 ハン ド ラ 注 ト ラ ッ プ イ ネー

ブル ビ ッ ト リ セ ッ ト リ セ ッ ト の原因 リ セ ッ ト 任意の形式の リ セ ッ ト RESETVCATCH ベ ク タ 読み出 し エ ラ ー VECTTBL HardFault ベ ク タ テーブル エン ト リ の読

み出 し 時にバ ス エ ラ ーが返 さ れま し た。

INTERR

uCode ス タ ッ ク プ ッ シ ュ エ ラ ー

STKERR BusFault ハー ド ウ ェ ア を使用 し て コ ン テ キ ス ト を保存す る と き に、

バ ス エ ラ ーが返 さ れま し た。

INTERR

uCode ス タ ッ ク プ ッ シ ュ エ ラ ー

MSTKERR MemManage ハー ド ウ ェ ア を使用 し て コ ン テ キ ス ト を保存す る と き に、

MPU ア ク セ ス違反が発生 し ま し た。

INTERR

uCode ス タ ッ ク ポ ッ プ エ ラ ー

UNSTKERR BusFault ハー ド ウ ェ ア を使用 し て コ ン テ キ ス ト を復元す る と き に、

バ ス エ ラ ーが返 さ れま し た。

INTERR

uCode ス タ ッ ク ポ ッ プ エ ラ ー

MUNSKERR MemManage ハー ド ウ ェ ア を使用 し て コ ン テ キ ス ト を復元す る と き に、

MPU ア ク セ ス違反が発生 し ま し た。

INTERR

ハー ド フ ォール ト への 昇格

FORCED HardFault フ ォール ト が発生 し 、 ハン ド ラ の優先度が現在の も の と 同 じ か、 よ り 高い。 優先度が許 可 さ れていない と き に フ ォー ル ト 内で フ ォール ト が発生 し た場合や、 構成可能な フ ォー ル ト が禁止 さ れてい る 場合を 含みます。 SVC、 BKPT、 その 他の フ ォール ト を含みます。

HARDERR

MPU 不一致 DACCVIOL MemManage デー タ ア ク セ ス の結果、 MPU にア ク セ ス違反ま たはフ ォー ル ト が発生 し ま し た。

MMERR

MPU 不一致 IACCVIOL MemManage 命令ア ド レ ス が原因で、 MPU にア ク セ ス違反ま たはフ ォー ル ト が発生 し ま し た。

MMERR

プ リ フ ェ ッ チエ ラ ー IBUSERR BusFault 命令フ ェ ッ チでバ ス エ ラ ーが 返 さ れま し た。 実行 さ れ る 場 合のみ、 フ ォール ト が発生 し ます。 分岐シ ャ ド ーでは、

フ ォール ト が発生 し て も 無視 さ れ る こ と があ り ます。

BUSERR

正確なデー タ バ ス エ ラ ー

PRECISERR BusFault デー タ ア ク セ ス の結果バ ス エ ラ ーが返 さ れま し た。 こ のエ ラ ーは正確で、 命令を指 し 示 し てい ます。

BUSERR

不正確なデー タ バ ス エ ラ ー

IMPRECISERR BusFault デー タ ア ク セ ス の結果、 遅れ てバ ス エ ラ ーが返 さ れま し た。

正確な命令は も はや不明です。

こ の フ ォール ト は保留 さ れ、

非同期です。 FORCED を起 こ し ません。

BUSERR

コ プ ロ セ ッ サな し NOCP UsageFault コ プ ロ セ ッ サが実際に存在 し ないか、 存在ビ ッ ト がセ ッ ト さ れてい ません。

NOCPERR

未定義命令 UNDEFINSTR UsageFault 未定義命令 STATERR

無効な ISA 状態、 例え ば Thumb でない状態か ら 命令の実行が試み ら れた

INVSTATE UsageFault 無効な EPSR 状態で実行が試み ら れま し た。 例えば、 BX タ イ プの命令で状態が変更 さ れた 後な ど が挙げ ら れます。 こ れ には、 イ ン タ ワ ーキ ン グ状態 を含む、 例外か ら の復帰後の 状態が含まれます。

STATERR

許可 さ れていない、 ま たは無効なマジ ッ ク ナ ンバーを持つ、

PC=EXC_RETURN への 復帰

INVPC UsageFault 不正な EXC_RETURN の値、

EXC_RETURN と ス タ ッ ク さ れ てい る EPSR の値の不一致、 ま たは現在の EPSR が現在ア ク テ ィ ブな例外の一覧に含まれ ていない と き の終了に よ り 発 生 し た、 不正な終了

STATERR

テーブル 5-10 フ ォ ール ト (続 く )

フ ォ ール ト ビ ッ ト 名 ハン ド ラ 注 ト ラ ッ プ イ ネー

ブル ビ ッ ト

デバ ッ グ フ ォール ト を、 テーブル 5-11 に示 し ます。

5.12.3 フ ォ ール ト ス テー タ ス レ ジ ス タ と フ ォ ール ト ア ド レ ス レ ジ ス タ

各フ ォール ト について、 フ ォ ール ト ス テー タ ス レ ジ ス タ に対応す る フ ラ グが 存在 し ます。

不正な ア ン ア ラ イ ン ド ロ ー ド / ス ト ア

UNALIGNED UsageFault 複数 ロ ー ド / ス ト ア命令で、

ワー ド ア ラ イ ン ド でない位置 へのア ク セ ス を試みた と き に 発生 し ます。 UNALIGN_TRP ビ ッ ト を使用 し て、 サ イ ズに ア ラ イ ン し ていない任意の ロ ー ド / ス ト アについて発生 を許可で き ます。

CHKERR

0 に よ る 除算 DIVBYZERO UsageFault SDIV ま たは UDIV 命令が実行 さ れ、 除数が 0 であ り 、 DIV_0_TRP ビ ッ ト がセ ッ ト さ れ てい る と き に発生 し ます。

CHKERR

SVC - SVCall シ ス テ ム要求 (サービ ス呼び

出 し )

テーブル 5-10 フ ォ ール ト (続 く )

フ ォ ール ト ビ ッ ト 名 ハン ド ラ 注 ト ラ ッ プ イ ネー

ブル ビ ッ ト

テーブル 5-11 デバ ッ グ フ ォ ール ト

フ ォ ール ト フ ラ グ 注 ト ラ ッ プ イ ネーブル

ビ ッ ト 内部停止要求 HALTED ス テ ッ プや コ ア停止な ど か ら の NVIC 要求 -ブレー ク ポ イ ン ト BKPT パ ッ チ さ れた命令や FPB か ら の SW ブ レー ク ポ

イ ン ト

-ウ ォ ッ チポ イ ン ト DWTTRAP DWT での ウ ォ ッ チポ イ ン ト 一致 -外部 EXTERNAL EDBGRQ ラ イ ンがアサー ト さ れま し た。 -ベ ク タ キ ャ ッ チ VCATCH ベ ク タ キ ャ ッ チが ト リ ガ さ れま し た。 対応す る

FSR には、 例外の主な原因が含まれてい ます。

VC_xxx ビ ッ ト ま た は RESETVCATCH がセ ッ ト さ れてい る

こ れ ら は、 次の レ ジ ス タ です。

• 3 つの構成可能な フ ォ ール ト ハン ド ラ に対応す る 、 3 つの構成可能な フ ォ ール ト ス テー タ ス レ ジ ス タ

• 1 つのハー ド フ ォール ト ス テー タ ス レ ジ ス タ

• 1 つのデバ ッ グ フ ォ ール ト ス テー タ ス レ ジ ス タ

原因に応じ て、 5 つのス テータ ス レ ジ ス タ の う ちの 1 ビ ッ ト がセ ッ ト さ れます。

フ ォール ト ア ド レ ス レ ジ ス タ

(FAR) は 2 つあ り ます。

バス フ ォール ト ア ド レ ス レ ジ ス タ

(BFAR)

メ モ リ フ ォール ト ア ド レ ス レ ジ ス タ

(MFAR)

フ ォ ール ト ス テー タ ス レ ジ ス タ の対応す る フ ラ グは、 フ ォ ール ト ア ド レ ス レ ジ ス タ のア ド レ ス がいつ有効であ る か を示 し てい ます。

Note

BFAR と MFAR は同 じ 物理レ ジ ス タ です。 こ のため、 BFARVALID ビ ッ ト と MFARVALID ビ ッ ト は相互に排他的です。

フ ォ ール ト ス テー タ ス レ ジ ス タ と 、 2 つの フ ォ ール ト ア ド レ ス レ ジ ス タ を、

テーブル 5-12 p. 5-34 に示 し ます。

テーブル 5-12 フ ォ ール ト ス テー タ ス レ ジ ス タ と フ ォ ール ト ア ド レ ス レ ジ ス タ

ス テー タ ス レ ジ ス タ 名 ハン ド ラ ア ド レ ス レ ジ ス タ 名 説明

HFSR ハー ド フ ォール ト - 昇格 と 特殊

MMSR メ モ リ 管理 MMAR MPU フ ォール ト

BFSR バ ス フ ォール ト BFAR バ ス フ ォール ト

UFSR 用法フ ォール ト - 用法フ ォール ト

DFSR デバ ッ グモニ タ ま た

は停止

- デバ ッ グ ト ラ ッ プ

ドキュメント内 Cortex-M3 Technical Reference Manual (ページ 130-135)

関連したドキュメント