Getting Started - Lチカのコードを見て、動かしてみる
さて、Installが終わったら実際に何か動かしてみる事にしたい。PSoC Creatorを立ち上げ(Photo12)、まずはLチカのコードを見てみる事にする。Start Pageの中にExamples and Kitsという項目があるので、これを展開すると出てくる"Blinking LED.cywrk"がLチカのプロジェクトである(Photo13)。そこでこれをクリックすると"Exampleのプロジェクトをどこに展開するか"を聞かれる(Photo14)ので、適当なディレクトリを選ぶと、ファイルが全部コピーされ、自動的にファイルが構成される(Photo15)。
Photo14:Exampleそのものは直接アクセスするのでなく、指定したディレクトリにそのExampleをコピーして、これを触る形になっている。デフォルトはマイドキュメントの下 |
Photo15:右側のWorkspace Explolerに注目。"Generated Source"の下に、関連するソースが全部展開される |
次に実際にソースを見てみるわけだが、まず最初に見るべきは「TopDesignタブ」(Photo16)。これはPSoCの内部デバイスをどのように有効化し、どんな結線で使っているかを示している
今回の場合、PWMユニットを1つ有効化し(Clockソースは内部の10KHz)、PWM出力をオンボードのLEDに繋いでいる事が判る。そこで詳細パラメータを見てみると(Photo17)、今回の場合、10KHz入力をカウントしながら次第に出力を上げてゆき、10000になったら0に戻すという三角波を発生させている。10KHzで1万カウントだから、要するに毎秒1回づつの頻度で0に戻るわけだ。
次にBlinkng LEDを開いてみると(Photo18)、ピンの接続具合が判る。今回の場合、Photo16でPWM出力にあたるPin_BlueLEDが、P0(3)に割り当てられているのが判る。
この割り当ては、Photo18の左にある割付画面(Photo19)で、ここで任意に設定できるというわけだ
ということで最後にプログラムを見てみると(Photo20)、非常にシンプルであることが分かる。スタートアップルーチンがmain()であるが、ここでまずClockStart()でクロック信号の送出を開始、次いでPWMStart()でPWMブロックも稼動を開始する「だけ」である。後はLEDの点滅はPWMブロックが勝手にやってくれるので、CPUは何もせずに無限ループしている、というきわめてわかり易いコードである。
ちなみにプログラムのBuildは、Build→Build Blinking LED(Photo21)で行なえる。問題なくBuildできたら、単独で走らせるならDebug→Program(Photo22)、デバッガを使って追いかけるならDebug→Debug(Photo23)でそれぞれ行なえる。
PSoC Creatorのデバッガは標準的なIDEとして機能的にはまったく問題を感じないもので、ステップ動作やブレーク/トレース/ウォッチなどがきちんと行なえる。必要ならメモリダンプとかレジスタの値も参照できるし、アセンブラレベルでのソース追跡も可能だ。
このLチカコードことBlinkg LEDの場合、デバッグ情報を含まないRelease BuildでFlash占有が1264バイト(Flashそのものは32KB搭載)、SRAM使用量が228バイト(同4KB)、デバッグ情報を含むDebug Buildでもそれぞれ2567バイト/285バイトとかなりコンパクトに収まっている。