マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。46回目は、初心者の方からよく質問される「マイコンがリセットされる要因」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、初心者から多く寄せられる質問です。
マイコンを使ったシステムを開発していますが、意図しないタイミングでマイコンにリセットがかかる場合があります。
マイコンにリセットをかける要因は、どのようなものがあるのでしょうか? また、リセット要因を調べるには、どうすればよいでしょうか?
マイコンは、一般的に電源が投入された時と外部リセット信号が入った時に内部回路を全て初期状態にします。
このほかにも、マイコンの暴走を防ぐ時や、ハードウェア的に正常に動作できない状態になった時に、強制的にリセットをかけて、初期状態に戻す機能をもっています。具体的な機能はマイコンによってさまざまですので、ここでは32ビットマイコン「STM32F4シリーズ」(STマイクロエレクトロニクス製)を例としてリセット要因を挙げていきます。
ウォッチドッグタイマー*1)とは、マイコンの暴走を監視するタイマーです。ソフトウェアリセットとは、ソフトウェアで強制的にリセットをかけることです。もちろん、リセット後、ソフトウェアは初期状態から再スタートします。低消費電力管理リセットとは、低消費電力モードに遷移する条件の時に、モード遷移の代わりにリセットをかけることです。
電源投入時と外部リセットの場合以外は、リセット要因を示すフラグがありますので、リセット直後に実行されるプログラムの中で、それらのフラグをチェックすれば、リセット要因が判別できます。
Copyright © ITmedia, Inc. All Rights Reserved.