デバッガの使用
デバッガの使用
デバッグの利用は MCUXpresso 上でのビルドを行い、MCU-Link の接続が必要です。
ここでは、MCU-Link を用いたデバッガについて、その起動方法と代表的な操作について紹介します。
- 「バイナリ (
.bin
) の書き込みと実行」で解説した MCU-Link を用いた書き込みと書き込んだプログラムが実行できた前提で記載します。 - デバッガの詳しい利用方法については gdb や Eclipse の解説を参考にして下さい。
- デバッガの本質として、その動作や実行出来る範囲などに制約があります。こういった制限の範囲やその詳細については当社からはご案内できません。
デバッガ画面について
デバッガを開始する際に、MCUXpresso (Eclipse) の画面レイアウトを Develop perspective するようなダイアログボックスが出現する場合があります。このダイアログボックスでは [Switch] を押して切り替えます。切り替えたくない場合は [Remember my decision]を☑したうえで [No] ボタンを押します。

Debugレイアウトへの変更ダイアログ
画面レイアウトは作業の内容に応じて効率的なものがありますので、レイアウト変更の操作に慣れておくことをおすすめします。(参考:画面レイアウトについて)
画面レイアウト関連でよく使用するものは以下です。
- C/C++ Perspective : [Window]>[Perspective]>[Open Perspective] より選択
- Develop Perspective :
- Debug Perspective : [Window]>[Perspective]>[Open Perspective] より選択
- Breakpoints view : Debug Perspective 内にあります。または、メニューより [Window]>[Show View]>[Others…]>[Debug/Breakpoints] を選択
デバッグ前のプロジェクト設定
通常はデバッグを行う場合はプロジェクトのビルド設定で Debug を選択します。Release はデバッグシンボルが含まれませんので、ソースコードを参照したデバッグは行なえません。
また、TWENETライブラリ内のコードも含めてデバッグする場合、これらのプロジェクトを開いておいたほうがスムーズにデバッグできます。([Project Explorer] より TWENTExxx のプロジェクトを選択しておいてから、右クリックメニューより[Open Projecty])
設定済みのブレークポイント
初回利用では設定済みのブレークポイントはないはずですので考慮する必要はありませんが、使用中に経験するトラブルの対処ですので最初に記載しておきます。
デバッガの起動が期待通りではない(main()
の先頭で停止しない)場合は、デバッガ起動前に設定済みのブレークポイントを一度すべて削除したり無効化してみてください。現在のソースと実行バイナリと過去に設定したブレークポイントが矛盾を起こして、デバッガが正常に始動できない場合があります。
デバッガの開始
プログラムファイル .bin
の書き換えと、デバッガの起動の操作については大きくは違いません。エラー発生時の対処など含め、「バイナリ (.bin
) の書き込みと実行」を参照して下さい。
- 最初に Debug 構成でビルドを行いエラーがないことを確認します。
- [MCUXpresso IDE - Quick Start Panel] 上の [Debug] ボタンを押します。
デバッグ・アイコン
- デバッグ用のプログラム書き込みが終了すると
main()
関数の先頭でブレークします。(※ デバッガの設定を変更していない場合)デバッグ-main()
デバッガの操作
ブレークポイントの設定
ソースコードのエディタ上で、ブレークポイントの設定と設定解除を行えます。

ブレークポイント
ソースコードのエディタ上でメニューより [Run]>[Toggle Breakpoint] を選択する方法もあります。
また、Breakpoints View で、ブレークポイント一覧を確認できます。

Breakpoints View
実行の制御
ステップ実行など実行の制御に関連する操作は、メニューより [Run] を開きます。

Runメニュー
通常はキーボードの操作で行う場合が多いので、よく使用するキーを列挙します。
キー | ||
---|---|---|
F5 | Step Into | その行にある関数などもステップごとに実行する。 |
F6 | Step Over | 次の行まで実行するステップ実行する。 |
F7 | Step Return | 現在の関数の Return まで実行する。 |
F8 | Resume | 実行を再開する(次のブレークまで実行を継続)。 |
Ctrl+R | Run to Line | 選択中の行まで実行する。 |
中断・終了
デバッガの中断はメニューより [Run]>[Terminate] または Ctrl+F2 です。
便利な機能
各Viewの表示はメニューより [Window]>[Show View]>[Other…] より開けます。
- Variables : ローカル変数の確認
- Breakpoints : ブレークポイント一覧
- Expressions : 変数等のウォッチ式、値の確認
- Global Variables : グローバル変数のウォッチ式、値の確認
- Heap and Stack Usage : ヒープ、スタック状態
- Memory: メモリ領域のダンプ
- Peripherals: ペリフェラルレジスタの値の確認
- Registers: CPU のレジスタ情報の確認
トラブルシューティング
スリープ復帰後に反応しない
スリープ復帰時の動作をデバッグすることは原則不可能です。
デバッグ時には、アプリケーションではスリープさせず、スリープに見立てた実行中のコードで代替するなど対応が必要です。
直前動いていたがデバッガが開始しない
MCUXpresso を終了し、デバッガの USB の抜き差しを行って下さい。それでも改善しない場合は、PCの再起動、.launch
ファイルの削除を行ってください。
Debug のアイコンがグレーになっていて押せない
TWENETxxx ライブラリのファイルが開かれているような場合は、そのライブラリが [Project Explorer] でも選択された状態になっています。そのライブラリ自体は直接デバッグできるプロジェクトでは有りません。アプリケーションのプロジェクトを選択して [Debug] ボタンを操作します。
Peripherals タブに何も表示されない
MCUXpresso の状況によって表示されないことがあります。MCUXpresso を一旦終了して再度起動することで改善することがあります。
SWO を使用したい
本機能はサポート問い合わせ対象外です
SWOは、高速にマイコンの情報を取り出すための仕組みで、低コストのデバッグメッセージの出力、マイコンの関数呼び出しや割り込み状況などを観察できます。
当社で評価する限り、JN5189上ではデバッガの起動が安定しないといった利用に難があるため積極的な紹介はしませんが、printf について (デバッグ, シリアル出力)に、当社で把握する限りの情報とTWENETライブラリ内の定義や記述について解説しています。