俺の電子工作室
 俺の電子工作室 ⇒ はじめに
 ⇒
新しいプロジェクトを作る
本文へジャンプ
 
 [1] 新しいプロジェクトを作る

  ここでは、ダウンロードしたサンプルプロジェクトをもとに新しいプロジェクトを作ってみます。前回使用したサンプルプロジェクトは、Build して余分なファイルが出来ていて紛らわしいので、デスクトップにあるプロジェクトから作り直します。ここまで進めば、デスクトップのファイルは消すなり、別の場所に移動するなりしてデスクトップから消しても構いません。
(1-1) デスクトップから新しいプロジェクトを作成する。
 デスクトップのCY8CKIT-049-42xx Example Projects.zip をダブルクリックするとWindows エクスプローラーで表示される。SCB_Bootloader_42xxを適当な名前に変更したいがこのままだと変更できないので、これを一時的なフォルダ(例 D:\Users\PSoC_Creator\)にコピーする。最終的に温泉卵を作るのでフォルダ名を「OnTama」に変更する(右クリック⇒「名前の変更」)。名前を変更したら正規のワークスペースフォルダ(例 D:\Users\PSoC_Creator\WorkSpace_4\)に移動する。

(1-2) PSoC Creator から新しいプロジェクトを開く。
 今回はWindows エクスプローラーからファイルを指定して開く方法ではなく先にPSoC Creator を起動しておいてプロジェクトを開く方法を覚える。スタートメニューから「プログラム」⇒「Cypress」⇒「PSoC Creator 3.0」⇒「PSoC Creator 3.0」を選んで起動する(「PSoC Creator 3.0」のショートカットをデスクトップなどに作っておくとよい)。PSoC Creator の画面が表示されたら左上の「File」メニューから「Open」⇒「Project/Workspace」を選ぶ。「開く」ダイアログボックスが表示されるので ...\Ontama \SCB_Bootloader.cywrk を選んで開く。「Component Update Tool」ダイアログボックスが開くので「Archive before committing」のチェックを外して「Next」ボタンをクリックする。次のダイアログボックスでは「Finish」ボタンをクリックして終了する。
 ここから (7) で Build をするまで少し長い作業になるので、途中で中断する場合は「File」メニューから「Save All」で保存してから中断すること。

 UART_Bootloader には間違っても変更を加えてはいけないので、初めに
隠しておく。
 PSoc Creator の画面左窓が左側の図の様な表示であればUART_Bootloaderの部分のマイナス印をクリックしてツリー型の表示を隠す。もし右図の様ならPSoC4 のマイナス印をクリックすると左の様になる。右の表示とも異なる場合は「Source」タブを選ぶ。



 次にUART_Bootloader の回路図を隠して編集が出来ない様にする。右上の方にTopDesign. cysch というタブが二つあるので右図の回路が表示される方のタブを選ぶ。下の方にページ名「UART Bootloader」が表示されるので確認してほしい。
 こちらのタブを右クリックして「Close」を選ぶとタブ自体が消えて編集できなくなる。







(1-3) プロジェクトの名前を変更する。
  プロジェクトを格納するフォルダの名前はさっき変えたがPSoC_Creator が認識しているプロジェクトの名前は以前と変わっていないので変更する。
  1. ワークスペース名を変える。図の(1)の部分を右クリックして「Rename」を選択すると「SCB_Bootloader」の文字が選択表示になるので OnTama と書き換える。
  2. プロジェクト名を変える。図の(2)の部分を右クリックして「Rename」を選択すると「Bootloadable Blinking LED」の文字が選択表示になるので OnTama と書き換える。
  3. その下の「TopDsign.cysch」をダブルクリックした後、(3)の「Bootloadable Project」を右クリック⇒「Rename」で「OnTama」に変える。ページの名前の変更である。
  4. ここまでの作業でプロジェクト名がOntamaに変わったのでこれ以降プロジェクトを開くときはOntama\ OnTama.cywrk を選んで開く
(1-4) 余分な回路を削除する。
 ここまできたらページ名OnTamaの回路を大胆に変更しよう。
 変更してはならないBootloadableコンポーネントとLED関連の回路を残して、回路も説明文も枠も全部消す。消したい部分をクリックしてDeleteキーを押せば気持ちよく消えていく。
 最後に、変更してはならないBootloadableコンポーネントをドラッグして右上の隅に退避する。結果回路図は下の様になる。






(1-5) 回路図をつなぎ合わせる。
 今の状態は変更が中途半端な為、ビルドしようとするとエラーが発生する。少し手を加えて動くプロジェクトを作る。先ほど使った資料「・・・・使い方」の P.35 にボードの回路図が示されているので、併せて見て欲しい。Bootloader 切り替え用のスイッチがSW_1, User Button という名前で回路図中央あたりにあって、右側がグランドに接続されていて左側は「P0_7」となっている。つまり、PSoC(左上の大きな箱)の 31 ピンにつながっている。
 こちらの OnTama プロジェクトではこのスイッチは使っていないのでこれと LED をつないでみる。
 PSoC Creatorの画面右上の方に「Component Catalog」という欄があって、「Cypress」と「off-Chip」という二つのタブがある。この中にここで使える回路部品の一覧があって、ここから部品を選び出し、接続する事で回路を構成することが出来る様になっている。
 「Cypress」のタブにはPSoCの内部に構成出来る部品があり、「off-Chip」のタブには外付けで接続する事の出来る部品が用意されている。外付けなのだからここに用意されていなくてもどんな部品だって接続できるのだけれど、用意されていない部品はここの回路図に表示出来ないだけの話である。見方を変えればPSoC の内部回路だけ設計出来れば開発ツールの役目は果たすけれど、外付け部品まで回路図に表示できれば全体のイメージがつかみやすいでしょ!という意味合いである。

 「Cypress」のタブの中から「Ports and Pins」の下にある「Digital Input Pin」を回路図上にドラッグして配置する。
 配置した後、回路図上でドラッグすると表示位置が変わるので右のLEDなどと上下関係が一直線に並ぶ様に配置する。







 「off-Chip」のタブからは「Electro-Mechanical」の下の「Switch(SPST)」と、「Power」の下の「Ground」を回路図上にドラッグして配置する。
 これらの部品は物理的には評価ボード上に既に実装・配線済の部分である。








 次に配置した部品を配線で結んで回路図を仕上げる。下図左上の「Wire Tool」ボタンにマウスポインタを当てるとショートカットキーなど使い方が英語で表示される。すぐ消えてしまうのでイライラするかも知れないが読んでおくことをオススメする。
 ボタンをクリックするとマウスポインタの形が変わるので一つの部品の端子でクリックし、もう一つの部品の端子でクリックすると配線がつながる。
 外付け回路の部分は青色で表示されて、区別されているのが分かるだろうか。




















 今貼り付けた入力ポートに構成の設定をする。
 回路図上の入力ポートをダブルクリックすると右のダイアログボックスが表示される。
 上の「Name」の欄を「P0-7」と書き換え、「Pins」、「Type」タブを選んで「Digital Input」「HW Connection」「Show External Terminal」にチェックを入れる(デフォルト(初期値)でこう設定されているが)。
 左側「P0_7_0」をダブルクリックする。




 右のダイアログボックスが表示されるので「Pin Alias」に「SW1」と入力して「OK」をクリックする。
 左側の「P0_7_0」の表示が「P0_7_SW1」に変わる。










 「General」タブを選んで、「Drive Mode」プルダウンメニューから「Resistive Pull Up」を選ぶ。
 これで入力端子にプルアップ抵抗が内部的に接続される。プルダウンメニューの下にピンの部分の回路図が表示されるので分かる人は見ておく。
 「OK」ボタンをクリックする。



(1-6) プロジェクトを完成させる。
 見かけ上、回路がつながって、完成した様に見えるがもう少し設定項目がある。あと一息である。
 PSoc Creator の画面左のツリー表示はリソース構成と呼ばれている。プロジェクトを構成するファイルの一覧を示している。右の図では「TopDesign.cysch」というファイルの内容(回路図)が右上の「TopDesign.cysch」というタブのついた窓で表示されている。ツリー表示でその下にある「OnTama.cydwr」は回路図の中に表示しきれない回路情報が入ったファイルである。ツリー表示上の「OnTama.cydwr」をダブルクリックしてみよう。

 「OnTama.cydwr」のタブが表示されて、中央の窓の表示も変わった。
 前章((1-5) 回路図をつなぎ合わせる。)の冒頭に述べた様にボード上のSW1はプリント基板の配線でPSoCの31番ピンに接続されいるのでPSoC内部でもそれに合わせて新しく作った入力ピンを31番ピンに接続する必要がある。これはそのための設定である。

 画面の右の方を見て欲しい。回路図上にある入力ピンと出力ピンが表示されている。元々あった出力ピン(LED1,P1_6)は「Port」の欄に「P1[6]」、「Pin」の欄に「43」と表示されていて43番ピンに接続されている事を示している。新しく作った入力ピン(SW1,P0_7)は接続先を定義していないので空白のままである。
 「SW1」の行にカーソルを当てるとカーソルが手の平の形に変わるのでそこから31番ピンの所へドラッグする。
 「Port」に「P0[7]」、「Pin」に「31」と表示されればピンへの接続ができた事になる。


 画面左側リソース構成のツリーから「main.c」をダブルクリックする。







 下図のように「main.c」というタブが表示され、中央の窓には英文の文章が表示される。この文章はC言語と呼ばれるプログラムになっている。C言語については後に少しずつ説明を加えていくので、よく分からない人も機械的に説明に従って変更しよう。
 この窓はエディターになっていて、一般的なエディターの機能が使えるので以下の変更を加える。
◎11行目から52行目までを削除する。
◎「******************」の行の下に「*/」の一行を追加する。
◎「PMW_Start()」の前に「//」を追加する。
◎「for( ; ; )」の下、大かっこで囲まれた部分は全部消す。
 その結果、下図の様になればよい。 




















(1-7) ビルドする
 最後に「Build」メニューから Build All Projects でビルドする。先ほど使った資料「・・・・使い方」の P.16 も参考にして「---Build Succeeded ---」と表示されればひとまず完成である。
 もしエラーが出て「---Built Failed ---」と表示された場合は中央の窓「main.c」タブの横に「Notice List」というタブが表示される。これをクリックすると右側に「File」「Error Location」という欄があるのでどの辺でエラーが発生しているのか見当をつける事が出来る。中央の窓のタブが左側のリソース構成で表示されているファイル名に対応していることを思い出してもらいたい。分からない場合はこのページの最初から読み返して操作に間違いがないかよく調べる。
(1-8) 出来たプログラムをボードに書き込む。
 資料「・・・・使い方」の P.17〜21 を参照してプログラムをボードに書き込む。「Bootloader Host」で指定するファイル名は「・・・\OnTama\OnTama.cydsn\CortexM0\ARM_GCC_473\Debug\OnTama.cyacd」とする。参照ボタンをクリックしてフォルダを辿っていくと入力し易い。Bootloader Host の画面を表示してからボードをパソコンに接続する様にしないと、書き込みに失敗する傾向があるのでご注意!又、Bootloader Host の画面で「Baud」という欄があるがここは 115200 となっていなければならない。いつの間にか別の値に書き変わっていた事がある。書き込みに失敗する場合はこの辺を確認してみる。(正規の設定値は資料P.21の通り)
 書き込みが終わると青色LED が点灯しているはずである。SW1を押している間だけ消灯すればプログラムが意図通りに動作していることになる。
 

   ここまで、使い馴れないPSoC Creator を操作してあちらこちらの設定を行って来たので、今までの作業内容を整理してみます。PSoC Creator の画面中央の窓で「TopDesign.cysch」のタブをクリックして回路図を見て下さい。サンプルプロジェクトを元に、ワークスペース名・プロジェクト名・TopDesign.cyschのページ名を変更し、元々あったPWM や解説文などを消して残ったのが右側の出力ピン・抵抗・LED でした。左側のスイッチ・入力ピンを追加して入力ピンと出力ピンをつなぎました。この時入力ピンにはプルアップ抵抗がつながる様に設定しました。
 スイッチを押していないとプルアップ抵抗を介して出力ピンの左側は5Vになります。出力ピンはバッファになっているので抵抗を通してLED に充分な電流が流れ込み、LED が点灯します。スイッチを押すと0Vに落ちるのでLED は消灯します。(この辺の事は後で詳しく説明するつもりです)
 PSoCはワンチップマイクロコンピュータですからCPUが内臓されています。でも、このプロジェクトではCPU は何の仕事もしていません。が、CPUは止まっているわけではなくて、前のページの「8.Bootloader モードへの切り替え」で説明した様にプログラムを上から順番に実行しています。
 Creator の画面中央の窓で「main.c」のタブをクリックしてプログラムを見て下さい。この中で有効なプログラムは「int main()」と書かれた行から下だけです。それ以外はコメントと呼ばれる注釈文と前置きだけです。「for」というのは命令文で「これに続く { } (大かっこ)で囲まれた命令文を繰り返し実行しろ」という命令です。このプログラムでは大かっこの中には命令文がありません。従ってCPUはここを何もせずに電源が切れるまで永遠に回り続けるのです。
 次のステップでは少しCPU に働いてもらう事にしましょう。


   
inserted by FC2 system