楽墨堂ソフトウェア研究室:Digi Connect ME:開発環境の準備(ソフトウェア編) |
ここではソフトウェアのセットアップとプログラム作成、デバッガを用いた起動について記述する。 1.デベロップメントキットに付属しているCDからNet+Works6.3をインストールする。 この時、同時にCygwinもインストールされる。 インストールしたハードディスクのルートディレクトリにnetos63_gnuというディレクトリが作成されているのを確認。 ディスクトップにnetos63_gnuのリンクを作っておくと便利。 コンパイルやリンクは後で述べる "NET+Works 6.3 Build Environment" という環境でおこなうこととなる。 これはCygwinコンソールなのでLinuxのコマンドを知っておくと役に立つ。 2.付属のNet+Works6.3は少し古くバグもあるので最新版にアップデートする。 Digi社のトップページ(http://www.digi.com/)に行く。 上部の "Support" にカーソルを合わせ "Drivers" をクリック。 "Select Your Product for Support" に "Digi Connect ME" を選択。 "SUBMIT" ボタンをクリック。 "Patches (Embedded Only)" をクリック。 "Please choose an OS…" に "NET+OS 6.3" を選択。 一番下付近にある "netos63gnu_patch.zip" をクリックしてダウンロード。 これを /netos63_gnu に展開。(上書き) 3.bsp作成 ディスクトップ上にある "NET+Works 6.3 Build Environment" アイコンをクリックして起動。 カレントディレクトリが /cygdrive/c/netos63_gnu となっているのを確認し以下のコマンドを入力し実行。 $ cd src/bsp $ make PLATFORM=connectme clean all これでDigi Connect ME用のbspが作成される。 "NET+Works 6.3 Build Environment"を終了するには以下のコマンドを入力。 $ exit 補足: マニュアルには PLATFORM=connectme とする部分が異なった記載となっている。 bspに限らずアプリ作成時のmakeでは必ずPLATFORM=connectmeを指定する必要がある。 対象がDigi Connect MEなのでそうするのだが、最初は何にしたら良いか解らなかった。ハマる部分である。 bspはライブラリ集みたいなもので、作成するアプリの必要に応じてリンクするものである。 4.サンプルプログラム作成 ディスクトップ上にある "NET+Works 6.3 Build Environment" アイコンをクリックして起動。 テンプレート(アプリ作成の雛形)をコピーするために以下のコマンドを入力。 $ cd src/apps $ cp -r template test 次にビルドして実行ファイルを作成。 $ cd test/32b $ make PLATFORM=connectme clean all これでエラーが無ければimage.elfという実行ファイルが出来ている。 確認するために以下のコマンドを実行。 $ ls 補足: ROMに書き込むための実行ファイルrom.*は普通は使用しないので32bディレクトリのmakefileを編集して BUILD_ROM_IMAGE= 1 となっているのを BUILD_ROM_IMAGE= 0 としておくと良い。flash書込み用実行ファイルはimage.binなのでこのようにしておいてもOK。 5.デバッグ準備 RS232CケーブルとJTAGデバッガケーブルが正しく接続されていることを確認。 モニター用にハイパーターミナル等を起動しシリアルポートの設定を 9600bps / 8bit data / 1stop bit / none parity / none flow control に設定する。当研究室ではモニター用にTeraTermを利用している。とても便利だ。 ボード本体の電源を入れる。 しばらくするとモニターにNET+WORKS起動メッセージが表示される。 ここで表示文字列がめちゃくちゃな場合、シリアルポートの設定が合っていないことが考えられるので再チャック して、ボードのリセットボタン(写真:中央あたりの黒ボタン)を押してメッセージ表示を再確認すること。 メッセージ表示が確認できたらJTAGデバッガの電源を入れる。 すると、ボードが自動的にリセットされて再び起動メッセージが表示される。 この状態でディスクトップにある "Ocd Remote for NS7520" アイコンをクリックして起動。 問題が無ければ JTAG SDO <-| CPU(1 NS7520 : listening on port 8888 |<- JTAG SDI と表示される。ここでエラーが出る場合はJTAGデバッガとPC、ボードが正しく接続されていないので確認。 エラーが無ければこのウィンドウを最小化しておくのが良いであろう。 次にデバッグ用設定ファイルを実行ファイルがある場所にコピーする。 現在 test/32b ディレクトリに居るとするとコピーコマンドは次のようになる。 $ cp /cygdrive/c/netos63_gnu/debugger_files/gdbconnectme.ravan ./.gdbinit .gdbinit が設定ファイルであり、他のアプリを作成したおりには32bディレクトリ にコピーしてデバッグ時にはいつも使うこととなる。 いよいよ作成したアプリを実行する準備が整った。 6.デバッグ デバッガを起動し作成したアプリを起動するには以下のコマンドを使用する。 $ gdbtk -se image.elf 別ウィンドウ(Console Window)が開かれ、ダイアログが表示されるので「はい」をクリックする。 しばらくすると、また別ウィンドウ(Source Window)が開かれる。この状態ではプログラムは停止している。 そこでSource Windowのコンティニューボタン(→{})をクリックする。 問題なければモニターに再び起動メッセージが表示され、しばらくすると Hello World! と表示される。 終了するにはデバッガの終了ボタン(X)を押し、表示されるダイアログで「はい」をクリックすればよい。 7.補足: デバッガでコンティニューボタンが押せない場合や押しても反応しないケースもたまにある。そんな時は デバッガを一旦終了し、ボード上のリセットボタンを押し、起動メッセージの表示を確認してからデバッガ を再起動してみること。このような場合、"Ocd Remote for NS7520"の再起動は必要ない。 プログラムを変更した場合、4と6を繰り返す。 当研究室ではプログラム作成等はWindowsからエディタとしてTeraPadを利用し行なっている。 |
Copyright© 2006 Laksmi-Do Corp. All rights reserved. |
連絡先(@を半角に) develop@laksmido.com |