PSoC 4 を MDK-ARM で使いたい (5) [PSoC]
内蔵 Flash にプログラムが書けるようになったので、次はデバッガの動作を試してみます。
デバッグしようにもソフトウェアがありません
そうなのです。 PSoC 4 のプロジェクトを作成はしましたが、このプロジェクトでは、一行もソフトウェアを書いていないのです。 さすがに、デバッグ対象のソフトウェアが無いのではしょうがないので、まずは、コードを追加します。
左側にある "Project" ペインから "main.c" ファイルを探して、ダブルクリックするとテキスト・エディタが開きます。
エディタが開いたら、 for ループの中にコードを追加します。
for(;;) { /* Place your application code here. */ Clock_1000Hz_Stop(); CyDelay(5000); Clock_1000Hz_Start(); CyDelay(5000); }
このコードによって、ふたつのクロックの片方が5秒動いて、5秒止まって、という動作を繰り返すようになります。 LEDは、クロックが動いている間は明るさが変化し、クロックが止まると一定の明るさを保つようになります。
プロジェクトを Build して Download すると、5秒ごとに異なる動作をするのが観測できます。
デバッグモードに投入
デバッグを開始するには、 "Start/Stop Debug Session" ボタンをクリックします。
すると、このようなダイアログが表示されます。 これは、無償版の MDK-ARM では、 32k バイトのコードサイズ制限があるという事を示す警告です。 PSoC 4200 の場合には、最大 Flash 容量が 32k バイトですので、問題ないでしょう。
"OK" ボタンをクリックすると、デバッグモードに入ります。
ブレークポイントを設定する
デバッグモードに入ったとき、 PSoC の初期化を行う initialize_psoc() の直前で CPU が止まっています。 つまり、 LED を駆動するための信号が出力されておらず、 LED は消灯したままの状態です。
初期化だけを行うためには、 "Step Over" ボタンをクリックして、初期化関数を実行します。 初期化を行うと、 LED の明るさが変化し始めます。
次に "main.c" ファイルを開いて、二か所にブレークポイントを設定します。 それぞれの行の左側で左クリックすると、赤い印が現れ、ブレークポイントが設定されたことがわかります。
ブレークポイントまで実行
"Run" ボタンをクリックすると、次のブレークポイントまで実行されます。 LED は、 "Run" ボタンをクリックするたびに、明るさが変化する状態と変化しない状態を繰り返します。 PSoC の場合、 CPU の動作とディジタルロジックで使用するクロックが連動していないため、このような動作になります。
デバッグモードから抜けるには、ふたたび "Start/Stop Debug Session" ボタンをクリックします。
関連商品
PSoC 4200M CY8CKIT-043 Prototyping Kit
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
コメント 0