« 作りながら学ぶPICマイコン入門のフォロー(22) | メイン | 78KマイコンでLED温度計  »

OSBDMで使うデバッグ・モード導入装置 (1)


デバッグモード導入装置

 OSBDMを使っていると,時々,デバッグモードに入らない場面に出くわします.モード遷移のための条件が揃っていないのが原因です.そこで,遷移条件を整えてやるための装置,デバッグ・モード導入装置を作成します.

デバッグモードへの入り方

 HCS08マイコンは,バックグラウンド・デバッグ・モード(BDM)と呼ばれるデバッグ・モードを装備しており,原則マイコンの動作を妨げることなくマイコンの内部状態を調べることができます.まずは,デバッグ・モードへの入り方から調べます.

電源投入時のBKGD/MS端子の状態でモードが決まる

 HCS08マイコンは,電源投入時のBKGD/MS端子の状態によって,動作モードを切り替えるようになっています.BKGD/MS端子をLOWにしておくと,BDMモードに遷移しデバッガとの通信を始めます.また,HIGHにしておくとユーザ・モードに遷移し,ユーザが書き込んだプログラムの実行が始まります.

電源投入とBKGD/MS端子の関係

 電源投入時というのは,曖昧な表現ですが,いつBKGD/MS端子の状態を取り込むかというのは,外部からは観測できないのが実情です.端子の状態を取り込むタイミングは,VDDの電圧がVPORを超えて,パワーオン・リセットから解除された時とされています.

パワーオン・リセットとは,何だろう?

 マイコンには,電源電圧を監視する回路が入っています.電源電圧が低くなると,マイコンは正常動作状態を保てなくなります.そこで,パワーオン・リセットというイベントが発生し,マイコンはリセットされ,停止します.そして,電源電圧が回復すると,パワーオン・リセットが解除されて,リセット・ベクタからプログラムの実行が開始されます.

パワーオンリセットとマイコンの動作

 パワーオン・リセットを発生させるには,電源をOFF/ONするより方法がありません.電源のOFF/ONに連動して,必要な時間,BKGD/MS端子がLOWになっていれば,マイコンは,デバッグ・モードに入るはずです.

BKGD/MS端子は,出力専用?

 BKGD/MS端子は,デバッグが終わって,最終製品に組み込まれたら使われなくなります.使わない端子があるなんて,もったいない話です.HCS08マイコンの仕様書を読むと,BKGD/MS端子は,デバッグが必要ないのであれば,通常のI/Oとして使うことができます.しかし,その用途は,出力専用となっています.つまり,パワーオン・リセットの時には入力として動作するけれど,ユーザのプログラムが走り始めたら,出力になってHIGH/LOWをドライブするようになってしまいます.

 もし,デバッグ・モードに入らず,ユーザのプログラムが走り始めて力強くHIGHをドライブしたら,BKGD/MS端子の出力ドライバに過大な電流が流れて破壊してしまう可能性もあります.こういった事情から,デバッグ・モードに入れる時にBKGD/MS端子をLOWにする装置には注意が必要です.

 次回は,パワーオン・リセットの動作について,実験により確認していきます.

田中範明(noritan.org)

カテゴリ:

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/3759





カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1
/*yahoo remove*/