Comments
Description
Transcript
2006 年 12 月 18 日 LB から NB への移植のポイント への
2006 年 12 月 18 日 LB から NB への移植のポイント エシェロン・ジャパン㈱ FAE 堀江 LonBuilder3.1 で開発したお客様の Neuron C のソースコードを、Node Builder3.1 で再コンパイ ルする際の、操作例を以下にまとめる。 以下の例では、LonMaker を起動せず、コンパイルのみを目的としている。コンパイル後に実際 にダウンロードしてデバッグするときなどは、LonMaker でネットワークを開いて、LonMaker メニューバーから、Node Builder を起動してください。 1.新規プロジェクト作成 1. Create Project を選び新規プロジェクト作成を作成する。下図ではプロジェクト名 LB2NB 2.ハードウエアテンプレートの定義 ターゲットのハードウエアの定義(Neuron chip 種類、クロック、トランシーバ種類、メモリ配 置など)を行う。 (1)下のように Hardware Template の User Template を右クリックし Insert を選択する (2)下のようにハードウエアテンプレートを定義します。デフォルトのファームウエアは、3150 では Node Builder のサービスパック 3A を適用していれば、Ver16 になります。 意図的に Ver13 など古いものを選ぶときは、System image version を手動で選ぶことができます。 3.デバイス・テンプレートの定義 製品1つ1つの定義をデバイス・テンプレートで定義します。ハードウエアテンプレートはプリ ント基板を定義しますが、同じ基板でもユーザ・アプリケーションが異なる場合は別の製品なの で、ハードウエア定義とユーザ・アプリケーションをセットで定義したものがデバイス・テンプ レートです。 上ではこのデバイス・テンプレートを MyHVAC1 と名前を付けています。 上の Folders の NodeBuilder device template が、ソースコード(*.nc)のフォルダ位置です。 デフォルトでは、c:¥Lm¥Source¥プロジェクト名¥デバイス・テンプレート名 は、c:¥Lm¥Source¥LB2NB¥MyHVAC1 です。操作例で です。 下で Calculator ボタンを押して、Program ID を設定して置いてください。 LonMark 協会(または LonMark Japan)の会員なら会社コードの割当てがありますが、そうでな いときは、会社コードとして Examples を選択して置いてください。 下でデバイス・テンプレートが参照するハードウエアテンプレートを設定します。 上の段の Development・・・は、デバッグカーネル有りのデバッグ環境のハードウエアです。 例えば、LTM10A はフラッシュメモリと RAM をもち、RAM は書き込みが早く書き込み回数制 限がありませんが,電源を切ると消えてしまいます。フラッシュは電源を切っても内容が保持され ますが、書き込み 1 万回の制限があります。 下の段の Release・・・は、製品ハードウエアです。 下のコードウイザードは使いませんので、Close ボタンでウイザードを終了します。 今までの設定を保存しますので、はい(Y)を選択します。 4.ソースコードの配置 ソースコードの置き場所は、デフォルトでは c:¥Lm¥Source¥ プ ロジ ェ クト 名¥ デバ イ ス・ テン プ レー ト名 c:¥Lm¥Source¥LB2NB¥MyHVAC1 です 。こ の 操作 例で は 、 です。 この場所に、既存の Lon Builder のソースコードを置いてください。 また、ヘッダファイルのインクルードを最初にすべきソースファイル(*.NC)のファイル名を、 デバイス・テンプレート名.NC に変更してください。この操作例では、MyHVAC1.NC です。 5.インクルードパスの設定 インクルードすべきヘッダファイル(*.H )が、上のソースコードのフォルダとは別にある場合、 下のようにして、そのフォルダパスを設定します。 デバイス・テンプレートを右クリックして、Settings を選択します。 Paths タブを選択し、登録するヘッダファイルのフォルダ位置を設定します。フォルダ名は半角 英数字のみとし、日本語は使わないでください。 (下図は c:¥MySource フォルダに、ヘッダファイルがある例です。) 6.ソースファイルの登録 下のように、Source Files を右クリックして Insert を選びます。 下のように、ファイル選択ダイアログにて、ソースコードがあるフォルダを開き、選択して、開 くボタンを押すと登録されます。 (複数ファイルを選ぶときは、1つ目を左クリックしたあと、最 後の行のファイルをシフトキーを押しながら左クリックします。) 下のように、追加されたファイルが Source Files のツリーに表示されているのを確認します。 同様に、ヘッダファイル(*.h)も登録します。 7.コンパイル 下のように、デバイス・テンプレートを右クリックして、Build を選ぶと、コンパイルされる。 下のように、Node Builder の下段の Results ペインに、ビルドメッセージが表示される。 Error 内容を見て、コンパイルが通るようにソースコードを修正します。 LonBuilder のコードを NodeBuilder でコンパイルしたときに、よく検出されるエラーは つぎの2つがあります。 (1)エイリアステーブルの宣言が無いとき というエラーが表示されます。 #pragma num_alias_table_entries 15 を、デバイス・テンプレート名.NC のファイル(例では MyHVAC.nc)の先頭に追加して見てください。 後ろの方の行に置いても、エラーがでないようなら、後ろに書いても良いでしょう。 (2)プロググラム ID を#pragma を使って宣言しているとき Node Builder ではこれは禁止されています。”//”を行の頭に付加してコメントにするか、行を削 ってください。 これ以外でエラーが検出されるときは、Node Builder Users Guide のAppendix B “Converting a Node Builder 1.5 Project to a Node Builder 3.1 Project “ にて、移植上の詳細な説明がありま すので参照してください。 8.出力されたアプリケーション・イメージファイル コンパイルが成功すれば、以下のように、 c:¥Lm¥Source¥プロジェクト名¥デバイス・テンプレート名¥Development にデバッグ環境の ハードウエア用のイメージファイルが出来ます。このイメージには、デバッグカーネルが含まれ ており、デバッガを使うことができますがサイズが少し大きくなっています。 c:¥Lm¥Source¥プロジェクト名¥デバイス・テンプレート名¥Release に製品ハードウエア用イ メージファイルが出来ます。こちらにはデバッグカーネルは含まれません。 9.LonMaker 9.LonMakerでのコミッション LonMakerでのコミッション 上でコンパイルしたイメージをデバイスにダウンロードするにはつぎのようにします。 (1)いったんNode Builderを終了後、LonMakerを起動し、新規ネットワークを、Node Builderの プロジェクト名と同じ名前で(上の例では LB2NB )で作成します。 (2)下のようにNodeBuilder Basic Shapesの中の Development Target ステンシル、または Release Targetステンシルを、右側の白紙のワークペインへドラッグ・ドロップします。 (3)下でDevice名を適宜変えて、Nextを押す (4)下でStart NodeBuilderボタンを押す (5)下で Open an existing NodeBuilder project を選び、Nextを押す。 (6)下でProject fileとして、上で作ったProjectのプロジェクトファイル(拡張子がNbPrj )を選 択する。(例では、C:¥Lm¥Source¥LB2NB¥ LB2NB.NbPrj ) (7)下のように、NodeBuilderのプロジェクトが開くので、再度コンパイル(Build)を行う (8)下のように、上の(4)に戻ると、NodeBuilder Device Templateに、NoedBuilderで作ったデバ イス・テンプレート名が選択できるようになる。 その後Nextボタンを何回か押し、コミッショ ンをしてください。 (9)下の絵のようにデバイスシェープが作成された (注:下の絵はNetworkを接続してない絵です。本来は黄緑色になります) -以上-