[[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