訪れるたびに必ず迷子になるというNXP社の迷宮のようなサイト(笑)から必要なツールをDLできない人がいるようなので、DLしやすいEclipse-CDTとモノワイヤレス社の最新のMWSTAGEを組み合わせた開発環境を作ってみた。これなら誰も困らないだろう。
Eclipse CDT (C/C++ Development Tooling)
TWELITE® STAGE 評価開発環境
Eclipse-CDTとMWSTAGEをインストール後に下記開発用プロジェクトをインポートし原本とする。プロジェクトを新規に作るときは開発用プロジェクトをコピー&ペーストして作成すればOKだ。ちなみに含まれているライブラリ・ソースは前投稿で紹介したものと同じもの。
【注意事項】
■MWSTAGEはC:\に配置されていると仮定している。違う場所にするにはプロジェクト・プロパティの下記項目を適切に変更すること。
・C/C++ビルド->環境->SDK_BASE_DIR
・C/C++ビルド->設定->Cross Settings->パス
・C/C++一般->Linuxツール・パス ※またはPATH環境変数で検索するようにしても良い。
■デバイス書き込みは、MWSTAGE\Tools\TWE-Programmer\TWE-Programmer.exeを起動し、プロジェクトのDebug or Releaseフォルダの.binファイルをマウスでドラッグ&ドロップすれば書き込める。
■MWSTAGEに含まれるNXP社のSDKのみを利用している。ターミナル機能が便利なProgrammerを提供しているモノワイヤレス社に感謝!少しケバッぽいのが気になるが。(-_-;)
【修正履歴】
2022-05-17
OTA対応により無線でファームウェア更新が可能に。OTA更新処理中にリセットがかかるがその直前でWPanOTAStartCallbackが定義されていれば呼び出される。アプリは新設したreTransmit()を利用するだけで再送処理が行えるようになった。
2022-05-04
divu64u64()がまだバグッてたので再修正。
2022-05-03
TickTimerクラスとdivu64u64()の致命的なバグ修正。その他いろいろ修正したり改良してみた。
2022-04-27
インクルードの循環参照による不具合を避けるためコードを.cppに移動。プロジェクト・プロパティの設定ミスの修正。muldivとtaskライブラリの追加。バックグランド処理のマルチタスク対応など大幅改修。
それとJN5164では_stack,endシンボルが未定義というリンクエラーが出ることがある。JN5164用のSDKのリンカーファイルに不備があるためで開発用プロジェクトに含まれているAppBuildEnd.ldを使用することで解決できる。readm.txtを見てSDKのファイルを更新してほしい。
【JN5164用の開発用プロジェクト一式】
JN5164-MWSDK-eclipse.zip
【JN5169用の開発用プロジェクト一式】
JN5169-MWSDK-eclipse.zip
【MONOSTICK-RED(JN5169)】
とりあえず通信とLチカはOK!
【関連投稿】
NXP JN516X (TWELITE) をプログラミングする(開発環境の構築)
NXP JN516X (TWELITE) をプログラミングする(メイン・ルーチン)
NXP JN516X (TWELITE) をプログラミングする(TICKTIMER)
NXP JN516X (TWELITE) をプログラミングする(UART)
NXP JN516X (TWELITE) をプログラミングする(SYSTEM)
NXP JN516X (TWELITE) をプログラミングする(GPIO)
NXP JN516X (TWELITE) をプログラミングする(TIMER)
NXP JN516X (TWELITE) をプログラミングする(ALARM)
NXP JN516X (TWELITE) をプログラミングする(WAKETIMER)
NXP JN516X (TWELITE) をプログラミングする(WATCHDOG)
NXP JN516X (TWELITE) をプログラミングする(I2C)
NXP JN516X (TWELITE) をプログラミングする(SPI)
NXP JN516X (TWELITE) をプログラミングする(ADC)
NXP JN516X (TWELITE) をプログラミングする(COMPARATOR)
NXP JN516X (TWELITE) をプログラミングする(CLOCK)
NXP JN516X (TWELITE) をプログラミングする(BROWNOUT)
NXP JN516X (TWELITE) をプログラミングする(PULSCOUNTER)
NXP JN516X (TWELITE) をプログラミングする(INFRARED)
NXP JN516X (TWELITE) をプログラミングする(RANDOM-GENERATOR)
NXP JN516X (TWELITE) をプログラミングする(FLASH)
NXP JN516X (TWELITE) をプログラミングする(EEPROM)
NXP JN516X (TWELITE) をプログラミングする(WPAN)
NXP JN516X (TWELITE) をプログラミングする(Eclipse-CDT+MWSTAGE)
NXP JN516X (TWELITE) をプログラミングする(乗算と除算)
NXP JN516X (TWELITE) をプログラミングする(マルチタスク)
NXP JN516X (TWELITE) をプログラミングする(フラッシュ・プログラマー)
NXP JN516X (TWELITE) をプログラミングする(OTA UPDATE)
NXP JN516X (TWELITE) をプログラミングする(TWELITE CUE/MC3630)
NXP JN516X (TWELITE) をプログラミングする(LED)
NXP JN516X (TWELITE) をプログラミングする(AES)
NXP JN516X (TWELITE) をプログラミングする(Downloads)