LLILUM SDK公開
LLILUM(リリューム)はMicrosoft社の.NET Micro Framework (NETMF)開発チームが2015年に開発を始めた、新しいオープンソースの組込みシステム開発環境である。
簡単に説明するとC#のコードをWindows上にインストールしたVisual Studioでコンパイルしてmbedの各種ボードで動作するbin形式バイナリを開発する。ILをインタプリタ実行するNETMFとは異なる。ビルド完了後、F5押下でbin形式マシン語コードをローカルマシンに接続したUSB経由でターゲットボードのmbedポートに直接送り込み、C#ソースコードデバッグを開始できる。
いい事ずくめではあるが、多数の欠陥がある。正式リリース版V1.0を2016年4月に公開したが、動作が安定しない。
- main branchが実質的に空なので、dev branchをさかのぼって自分で安定動作するバージョンを探すしかない。
- 利用時のコンパイルに多大な時間を要す。一つのソースコードに対して、VC#とLLVMとgccの3回コンパイラを通すのだか仕方ない。
- 開発ツールのコンパイルに莫大な手間と時間を要す。
- 開発向けドキュメントがメンテナンスされてないので作り方や使い方がよくわからない。ヒントはIssuesにあるので、よく読む必要がある。
いろいろ試したが、結局は5月に作ったバージョンが少しだけ雰囲気が味わえるので、インストール方法と合わせて公開する。
必要なもの
- Windowsマシン
- mbed ボード NXP LPC1768
- Visual Studio 2015 Update 3
- Launchpad gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe
(5.x 以降はメモリ不足のエラーになる) - llilum-160528.zip
インストール手順
- Visual Studioを落とした状態で、LLILUM SDK (LlilumSDK.msi) をインストールする。
- 続いてLlilumApplication.vsixをインストールする。
- さらにgcc-arm-none-eabi-4_9をインストールする。
- システム環境変数のPATHにC:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\binを追加する。
- システム環境変数のGCC_BINにインストール先Short File Name(SFN) C:\PROGRA~2\GNUTOO~1\4195F~1.920\bin\ を設定する。
- gccインストール時にインストール先を空白を含まないフォルダー名にして、それをシステム環境変数のGCC_BINに設定する。
その際gccインストール先の
C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin
(64bit環境の場合)
をシステムパスに設定する。設定方法はだいたい次の3通り、お好みで。
使い方
- mbedボードをUSB接続後、Visual Studioを起動して、Solution Wizardの先頭にできたLliumApplicationを選択して始める。
- まずビルドとデバッグを分けて、先にビルドだけを行う。決してF5やデバッグを最初から行ってはいけない。
- 運よくビルドがエラー無しに終わったら、F5やデバッグをメニューから選択してデプロイができる。その際に次のダイアログが表示されるが、ここは必ず「いいえ」で答える。
- GitHubのソースにはC#アプリケーションのサンプルがあり、コンパイルが通るので試してみても良いだろう。以下はシリアルポートのサンプルプログラムをテストしているところ。
注意点
注意点としては恐ろしく不安定だということ。恐らくSDKが正しく出来てないのが原因だと思うが、現在はコンパイルが終わるバージョンを作るのが精一杯である。今まで4回イベントデモを行ったうち、本番でまともに一発動作したのは1回だけである。練習の時は勿論9割方それなりに動作する。その他、ブレークポイントで止まらない、コンパイル途中で止まる、LPC1768以外のボードがうまく行かないなど、問題は多数ある。
LLILUMに関して時々聞かれるので、怖いモノ見たさのモノ好きの皆様向けに今回、参考までに公開した。決して軽はずみな気持ちで試さないで頂きたい。勿論運用結果は保障できないし、恐らく質問にも答えることが出来ないだろう。一度触るとハマるので、健全な方はなるべく関わらないことをお勧めする。
- Atomu Hidakaさんのブログ
- ログインしてコメントを投稿