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

6-4 プログラムの実行

ドキュメント内 CSIDEチュートリアルブック (ページ 31-35)

プログラムをダウンロードできましたら、基本動作の確認を行っていきます。

プログラムの動きを見るためのウィンドウが、コード・ウィンドウです。まずはウィンドウの見方から説明します。

表示メニュー[コード]を選択し、コード・ウィンドウを開きます。

ソース表示

黄色い帯が表示されている行が、現在のプログラム・

カウンタの位置を示しています。

このマークの付いている行は、デバッグ情報が 出力されていることを示しています。

コード・ウィンドウ上でポップアップメニュー[ミックス 表示]、もしくは、F3 キーを押すことで、ソース表示 とミックス表示を切り替えることが出来ます。

ミックス表示

・ソース表示は、デバッグ情報を元に表示を行うため、デバッグ情報が読み込まれていなければ表示する ことはできません。

・正しくソース表示が行われていても、ターゲットの初期化状態やロード・アドレスの間違い等により、プロ グラムが正しくダウンロード出来ているとは限りません。ミックス表示にてご確認ください。

注意

Note

CSIDE の実行方法には、大きく分けて、実行、トレース実行、ステップ実行、カム実行の 4 種類があります。

まずは、トレース実行/ステップ実行で動作を確認します。

①トレース/ステップボタンを押します。

どちらも 1 行(ミックス表示時は 1 命令)を実行しブレークする実行方式 ですが、両者はサブルーチン・コール時の動作が異なります。

トレース実行

ソース表示でトレース/ステップ実行を行った場合、C ソース 1 行に対応するアセンブラ・コード数命令を実 行するということになります。ミックス表示では、アセンブラ・コードを1命令単位で実行します。

細かな動作を確認するには、ミックス表示にて確認してください。

Note ステップ実行

③ステップ実行は、サブルーチン内は実 行を行い、次の行でブレークします。

図では、_INITSCT()内は実行を行い、

次の行にてブレークしています。

②トレース実行は、サブルーチン・コール時 には、関数内に入って先頭行でブレーク します。図では、_INITSCT()関数の先頭 行でブレークします。

次にカーソル位置まで実行できる”カム実行”を見てみます。

ここでは main 関数の先頭まで実行しブレークさせる例を示します。

①コード・ウィンドウ上の適当な個所にカーソルを置き、呼び出し たい関数名を入力します。ここでは”main”と入力します。

(ダイレクト・データ・チェンジ機能)

②表示が main()関数に切り替わりました。

③ブレークさせたい行にカーソルを置いてください。

④[カム]ボタンを押してください。

⑤プログラムが実行され、カーソルを置いた行でブレークします。

Note

トレース/ステップ/カム実行を行った際に、実行状態となりブレークしない場合には、[ブレーク]ボタンを押し てブレークさせてください。ブレークしない場合には、ハードウェアの初期化を行ってください。これは割り込

実行を確認してみます。

②[ブレーク]ボタンを押すと、強制ブレークがかかりま す。プログラム停止後、ステータス・バーが停止状態 の表示に切り替わります。

①[実行]ボタンを押すと、現在プログラム・カウンタがセットさ れている位置から実行されます。

ステータス・バーが実行状態の表示に切り替わります。

ステータス・バーは、CSIDE 画面左下に表示されます。

プログラム実行中 ブレーク中 ステータス・バ

Note

空白行にデバッグ情報が表示されることは、通常 ありません

4.生成されたオブジェクト・ファイルを再選択し、ロードオブジェクト選択ダイアログのロード環境[全ての デバッグ情報をクリアしてからロードする]にチェックを入れてロードを行ってください。

3.コンパイラで再度ビルドを行い、オブジェクト・ファイルが生成されることを確認する。

2.CSIDE 上でロードを行います。削除または移動しているので、ファイルが見つからないというエラー が表示されるかを確認します。

1.マイコンピュータ等でダウンロードしているオブジェクト・ファイルを削除または、他のフォルダに移動 する。

空白行にも関わらずデバッグ情報を示すマークが表示される、逆にマークが表示されるはずの行に無いと いった場合、何らかの原因でロードしているオブジェクト・ファイルとソース・ファイルが一致していないと考 えられます。この様な場合、下記の方法を試してください。

ドキュメント内 CSIDEチュートリアルブック (ページ 31-35)

関連したドキュメント