[[Arduino勉強会]]


#contents


2015/02/15からのアクセス回数 &counter;


ここまで、
[[Arduino勉強会/0F-lbeDuino誕生]]、
[[Arduino勉強会/0G-lbeDuinoシールドを作る]]、
[[Arduino勉強会/0H-アイロンプリントのすすめ]]
とlbeDuinoのハード関連の説明をしてきましたので、
lbeDuinoの開発環境について説明します。

lbeDuinoの最大の特徴は、同じソース、同じシールドをArduinoとlbeDuinoで使え、LPCXpressoを使ってデバッグできる点にあります

** 準備するもの [#i602ad0a]
開発に必要なものは、以下の2つです。
- トラ技ARMライタ
- LPCXpresso IDE(CMSI-DAPに対応したVersion6以降を使用して下さい)

*** トラ技ARMライタ [#i0083ab2]
プログラムの書き込みとデバッグには、CQ出版の
[[トランジスタ技術2014年3月号>http://toragi.cqpub.co.jp/tabid/710/Default.aspx]]
の付録のトラ技ARMライタを使っています。((バックナンバーの在庫があり、1048円でリーズナブルです))

&ref(Trg_ARM_Writer.png);



これにL字のピンとジャンバーピン(タクトスイッチの代用)
((秋月の[[表面実装用タクトスイッチ>http://akizukidenshi.com/catalog/g/gP-06185/]]が使えるみたいです))
を付けて使っています。ブレッドボードに差すこと考えメスのL字コネクターではオスのL字ピンを使いました。

トラ技ARMライタの書き込みは、トラ技で紹介されています。


*** LPCXpresso IDE [#o1a3fae0]
LPCXpresso IDEを
[[ダウンロードページ>http://www.lpcware.com/lpcxpresso/download]]
からダウンロードします。
[[トラ技のサポートページ>http://toragi.cqpub.co.jp/tabid/440/Default.aspx]]
に手順が詳しく載っていますので、参考にしてください。


ダウンロードしたLPCXpressoは、フリー版でもアクティベートが必要です。


最初に、シリアル番号を取得します。
LPCXpressoを起動して、HelpメニューからActivate LPCXpresso (FreeEdition)→Create Serial number and Activate...のメニューを選択します。

Copy Serial Number to Clipboardにチェックを入れてOKボタンを押します。

アクティベートには、以下のページでregisterからユーザ登録して、loginしてください。
[[LPCXpresso Key Activation>http://www.lpcware.com/lpcxpresso/activate]]

&ref(th_login.jpg);



ログインに成功すると以下のアクティベーションページに移ります。

&ref(th_activate.jpg);


先ほどのシリアルナンバーをペーストし、
Register LPCXpressoを押すとしばらくしてユーザ登録したメールアドレスにアクティベーションキーが送られてきます。


HelpメニューからActivate→Activate (FreeEdition)を選択し、シリアルナンバーを入力すれば完了です。

** lbeDuinoソースのダウンロード [#ydfda34b]
最新のソースは、Githubからダウンロードすることができます。
LBEDはまだ開発途中なので、更新が必要なのでgitを使って最新のページにすることをお薦めします。

ソースを保存するディレクトリに移動した後、ターミナルソフトで、以下のコマンドを入力してください。

#pre{{
$ git clone https://github.com/take-pwave/lbed
}}

ソースを最新に更新するには、lbedのディレクトリで、以下のコマンドを入力してください。
#pre{{
$ git pull
}}

gitが使えない場合には、以下のURLでGithubのlbedのページを表示して、Download ZIPボタンからzipファイルをダウンロードしてください。
- https://github.com/take-pwave/lbed


** LPCXpressoへのプロジェクトのインポート [#n8e2d7fc]
lbedのディレクトリには、他のボードのlbedが含まれています。lbeDuinoでインポートするプロジェクトは以下の4つです。


- CMSISv2p00_LPC11xx
- LBED_lbeDuino
- LBED_lbeDuino_USERLIB
- LBED_lbeDuino_MAIN


*** プロジェクトインポート手順 [#b16c3839]
LPCXpressoを起動してProject Explorerのタブで右クリックすると以下のポップアップメニューが表示されます。


&ref(th_import_menu.jpg);




GeneralのExisting Projects into Workspaceを選択します。


&ref(th_import.jpg);



Select root directoryのBrowse...ボタンでgitコマンドでダウンロードしたlbedの必要なプロジェクトのディレクトリを
選択し、Finishiボタンを押します。




&ref(th_import_projects.jpg);




インポートされたプロジェクトがProject Exploreに追加されます。


&ref(th_after_import.jpg);




これを必要な4つのプロジェクトに対して繰り返します。


&ref(th_import_finished.jpg);


** Blinkを動かしてみる [#df154358]
lbeDuinoのメインのプロジェクトは、LBED_lbeDuino_MAINです。プロジェクトを展開すると、
以下の様になります。

&ref(th_lbeDuino_MAIN_dir.jpg);





ユーザの使用するのは、srcと Examplesの2つだけです。srcには、最新版でチェックしたスケッチが入っています。
これとExampleのBlink.cppを入れ替えます。

*** Blinkのビルド [#td85c30d]
ビルドは、LBED_lbeDuino_MAINプロジェクトを右クリックして、Clean Projectを実行した後、Build Projectを選択します。

&ref(th_Build.jpg);



Consoleに以下の様にBuild Finishedが表示されればビルドの完成です。


&ref(build_finished.png);






*** Blinkの書き込み [#q9c0c8d3]
トラ技ARMライタをlbeDuinoのソケットに差します。


&ref(lbeDuino_ARMWriter.png);






初回だけデバッグ用の設定を作成するために、Quickstart PanelからDebug 'LBED_lbeDuino_MAIN'[Debug]を選択します。
2回目以降は、メニューアイコンの虫をクリックするだけです。



&ref(Quickstart Panel.png);



最初は、トラ技ARMライタが認識できずに、以下のダイアログが出ます。


&ref(th_error_dialog.jpg);


ここで、Search for any enabled emulatorボタンをクリックすると、Toragi_LPC Writer CMSI-DAPが見つかりますので、
ここで、OKボタンを押します。

&ref(th_Connect_to_emulator.jpg);






プログラムが無事lbeDuinoにダウンロードされたら、以下の様にデバッグ画面が表示されます。
ここで、RunメニューからResumeを選択するとBlinkが動き出します。

&ref(th_debug_main.jpg);







まだ、デバッガが有効なので、好きなタイミングでブレークポイントをセットして止めることができます。

デバッグを終了するには、RunメニューからTerminateを選択します。


** lbeDuinoのデバッグ [#d08abf93]
プログラムの書き込みとデバッグ開始手順は同じなので、ここからはデバッグの手順について説明します。

ユーザがsrcディレクトリに作成したスケッチは、src_baseにあるプログラムによって起動前の処理を行った後、
呼び出されます。
デバッガでは、src_base/Main.cppのmain関数で止まるように設定されています。

ユーザの作成したスケッチ(ここではBlink.cpp)で止めるには、2つの方法があります。

- デバッガのstep into機能を使って、setupやloop関数の内部に移動する
- ユーザのスケッチにブレークポイントをセットする

*** デバッグアイコンの使い方 [#d6226891]
デバッグには、上部アイコンメニューのデバッグアイコンを使用します。

&ref(debug_icon.png);



右から
- 終了(Terminate)
- 一時停止(Suspend)
- 続けて実行(Resume)
- Step Into
- Step Over
- Step Return
- Use Step Filter

があり、通常は、終了、続けて実行、Step Into、Step Over、Step Returnを使います。

main関数の最初のstep()で止まったところで、右から4番目のStep Intoを実行して下さい。
Blink.cppが開き、step()関数の最初(以下の図では6行目)で止まります。

&ref(th_step_into.jpg);



プログラムのチェックが終わり、処理の途中で関数の呼び出し元まで進めたいときには、
Step Returnを使用します。


今度は、Main.cppの21行目で止まりますので、またStep Intoを実行します。今度は、Blink.cppの9行目で止まります。


変数の値を見たいときには、変数の上にマウスを移動すると、変数の値が表示されます。


&ref(value.png);






1行ずつ実行するには、Step Overを使用し、指定した行まで実行するには、止めたい行をマウスでクリックし、右クリックでRun to Lineを実行します。


** Arduinoでlbedライブラリを使う [#p7826410]
lbedのダウンロードした時に作成されたArduinoの中のLbedをユーザのドキュメントディレクトリ/Arduino/librariesにコピーしてください。


Arduinoでlbedライブラリを使用する方法は、
[[Arduino/Arduinoでmbedユーザライブラリーを動かす]]
に紹介しています。



** コメント [#bc6b8ae8]
#vote(おもしろかった[0],そうでもない[0],わかりずらい[0])
#vote(おもしろかった[1],そうでもない[0],わかりずらい[0])


皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。

スパム防止に画像の文字列も入力してください。
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc