連載
フォールト(Fault)って何? 〜 種類と解析方法:Q&Aで学ぶマイコン講座(44)(4/4 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。44回目は、初心者から中級者の方からよく質問される「フォールト」(Fault)についてです。
フォールトの解析方法
ユーザーからの問い合わせで、フォールト関係のものは、ほとんどが「解析方法を教えてください」という内容です。「製品の開発中に、マイコンが止まってしまい、原因不明である。どうもフォールトが引き起こされたようだが、どのように原因追及をすればよいのか分からない」という問い合わせが多いです。そこで、フォールトの解析方法を簡単に解説します。
【1】
まずは、プラグラムを実行し、フォールトが引き起こされたと考えられる時にプログラムを中断します。
フォールトのハンドラの中にブレークポイントを置いておくと、確実にフォールトを検出することができます。
【3】
ハードフォールト呼び出し前の状態がスタックポインタの中身にストアされています。
【4】
図4の場合、PCは0x00000100からプログラムが実行されようとしています。
【5】
一方、LRはサブルーチンコールの戻り値を指します。この例の場合、0x080001a9の前からサブルーチンコールされています。
【6】
逆アセンブラで0x080001a9をチェックすると、その直前に不正なサブルーチンコールがあるのが分かります。
以上から、0x0800019eの不正なサブルーチンコールがフォールトの原因であることが分かります。
(次の記事を読む)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ラッチアップって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。4回目は、「ラッチアップ」に関する質問です。ラッチアップの仕組みと対策もご紹介します。 - マイコンとEEPROMを接続する方法を教えて
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。11回目は、上級者の方からよく質問される「マイコンとEEPROMを接続する方法」についてです。 - オーバーランエラーの原因
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、中級者の方からよく質問される「オーバーランエラーの原因」についてです。 - ウォッチドッグタイマーって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「ウォッチドッグタイマーって何?」についてです。 - チャタリングの原因と対策
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「チャタリングの原因と対策」です。 - 割り込みハンドラとは?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初心者の方からよく質問される「割り込みハンドラ/ハンドラモードとは?」です。