Cプログラムを作ろう

VisualDSP++3.0対応 2002.Sep

とりあえず何かプログラムを作ってみましょう。

プロジェクトを作る

プログラムを作るにはVisualDSP++を立ち上げてプロジェクトを作ります。プロジェクトとはプログラム作成に必要なソースコードやライブラリ、設定などを集めたものです。プロジェクトを作るにはメニューバーProjectNew...を実行してください。するとSave New Project Asダイアログが開き、プロジェクトの作成位置を聞いてきます。

プロジェクトを作るディレクトリはなるべく次のようなところにしてください。

2番目はそれほど重要じゃないのですが、あまりProgram Filesの下にデータを置くのは気持ちよくないでしょう。Windows2000の場合はマイ ドキュメントフォルダの実際のパスが英語なのでここの下に作るのが一番簡単です。

何にせよ、ディレクトリを一つ作って他のファイルと混じらないようにしておきましょう。プロジェクト名は好きなものにしてください。

プロジェクトオプションの設定

プロジェクトを保存すると、プロジェクトウィンドウにプロジェクト名とフォルダーツリーが現れ、Project Optionsダイアログがオプション設定を促します(下図)。オプションで重要なのはProcessorです。ここは初期値がぜんぜん関係ないプロセッサになっていますので、ADSP-2191を選びましょう。

プロジェクトオプション設定

ここでOKを押します

VisualDSP++カーネル

すると、新しいダイアログがあわられ"Would you like to add support for the VisualDSP++ Kernel to this project?"と聞かれますのでNOと答えます。

VisualDSP++カーネルというのはDSP用のリアルタイムカーネルですが、EZ-KIT Liteの制限下で走らせるには大きすぎますので必ずNOと答えてください。まちがってYESを押してしまったら取り消しは効きません。あきらめて別のプロジェクトを作りましょう。

ソースの入力

つぎにソースコードを入力します。まずファイルを作るためにメニューバーFileNewを実行します。そうして現れたウインドウに下のようなプログラムを入力してください。

ソースプログラム

そしてこのウインドウを保存します。名前は適当なファイル名.cとしてください。拡張子は必須で、.cにします。保存するとそれまで黒一色だった文字に色がつきます。これはユーザー支援用の色つけ機能です。便利な機能ですのでソースコードを少し入力した段階で積極的に保存するといいでしょう。

ソースのプロジェクトへの登録

ソースを作ってもそのままではプロジェクトでは使えません。プログラム構築に使うために、ソースをプロジェクトに登録します。登録するはメニューProjectAdd to ProjectFile(s)...を実行します。ダイアログが現れますので、今作ったファイルを選んでOKをおします。すると、プロジェクトウインドウの中のツリーにファイルが登録されます(下図)。

ソース登録

ビルド

さて、いよいよプログラムを作ります。VisualDSP++ではプログラムを作る作業をビルドと呼んでいます。ビルドするにはメニューバーProejctBuild Projectを実行します。ソースに間違いがなければビルドは問題なく完了し、プログラムがEZ-KIT Liteにダウンロードされて実行準備完了状態になります。このとき、下図のようにウインドウが開き、ソースコードでの実行位置が表示されます。

ビルド完了。デバッグ開始

このような表示が行われるのはデフォルトのプロジェクト・オプションではコンパイラにデバッグ情報を吐き出すよう指定しているからです。

変数を覗く

せっかくソースコードデバッグが用意されていますので、変数の内容を覗いてみましょう。ローカル変数を見るには、メニューバーViewDebug WindowsLocalsを実行します。するとlocalsウインドウが開きます(下図)。まだプログラム実行前ですので変数の値はごみの値です。また、基数は16進です。基数や表示フォーマットを変えるときは右クリック希望する表示方法を実行して変更できます。また、変数のValue欄をクリックして値をタイプすると好きな値に変更できます。

ローカル変数

グローバル変数を見るには、メニューバーMemoryDataを実行します。するとDMウインドウが開きます(下図)。グローバル変数はソースコードで初期値を指定しなくてもリンカーが勝手に0を初期値にします。もし、開いたウインドウに希望する変数が表示されていない場合には、移動しなければなりません。

メモリーダンプ

移動は右クリックgo toを実行します。あらわれたダイアログに変数名(この場合sum)を入力すると、その変数のアドレスにウインドウが移動します。

基数や表示フォーマットを変えるときには右クリックSelect Format希望する表示方法を実行して変更できます。また、表示されている値をクリックして値をタイプすると好きな値に変更できます。

ステップ実行

つぎはステップ実行してみましょう。ステップ実行には三つの方法があります。

どれも効果は同じです。ステップ実行はソース・ウインドウ上でもディスアセンブル・ウインドウ上でも行えます。ソース・ウインドウ上の場合は行単位、ディスアセンブル・ウインドウの場合は命令単位でステップ実行します。実行はどちらかフォーカスのあるほうで実行しますが、ややわかりにくいのが難点です。

さて、早速ステップ実行してみましょう。実行につれて変数の値が変化しているのがわかりますね。

ステップ実行の種類

ついでですのでステップ実行の種類を説明しておきます。以下のうちディスアセンブリ・ウインドウでも使用できるのはStep Intoだけです。

Step Into 基本的なステップ実行
一番基本的なステップ実行です。ソースコードでユーザー・ルーチをコールする地点に差し掛かると、ステップ実行もユーザー・ルーチンに移動します。
Step Over 関数を飛び越えるステップ実行
Step Intoと似ていますが、ユーザー・ルーチンのコールがある場合、ルーチンの実行を行って帰ってきた点からステップを再開します。
Step Out ルーチン脱出
現在実行中のルーチンを抜け出て呼び出したルーチンに戻り、停止します。
Run to Cursor カーソルまで実行
カーソルが置かれた行まで実行します

説明が長くなりましたが、これでVisualDSP++に関しては基本動作を理解できたのではないかと思います。

⇒次はC++言語に挑戦

2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |