あらすじ
mrubyがIchigoJamで動くらしい 第3回戦の続き。
今回はとりあえずいったん書き込みまで正常にできていた状態までもどしてからmruby-l1vmを導入する。
結果
mruby-1.4.1に戻す
mrubyのバージョンを落とし、書き込みが正常に終了する所まで確認する。
mruby-1.4.1 releasedからコードを落としてビルドとパス設定。
micro_mruby_for_lpc1114をVisual Studioで開き、code.rbをコンパイル。
while true
led 1
wait 10
led 0
wait 10
end
無事にコンパイルできたようなので、TransCoder。
src配下のcode.h,symbol_ids.hを置き換えて
いざ、make
PC,USBシリアル変換モジュール,IchigoJamを接続すし、make writeコマンドを叩く。
syncronizingに入ったらIchigoJamの電源を投入する。
Now launching the brand new codeですって!(2日ぶり2回目)
USBシリアル変換モジュールとIchigoJamを切り離し、電源投入
以上をもって現状(?)復帰終了。
mruby-l1vmを試す
すでにcode.mrbが出来ているので、早速mruby-l1vmを呼び出す。
mruby_l1vm.hを見る限り23はありそうな気がするが、なんか色々あるんだろう。
はたして実行方法は適切か?
ここまで来てもう一度全部ふりかえってみたいと思う。
- 1.環境は一通りそろえた
- 2.ビルドも書き込みも正常に終了した
- 3.電源投入しても動かない
何が悪いのか。今までは1,2をメインで色々やってきた。最後は3だ。
本家ブログのmruby VM level 1 in 2KB / 実用最小限VMとIchigoJam BASICと動かす組込Rubyを見ていただきたい。
なんと、ディスプレイとキーボードがIchigoJamに接続されている!
電源投入するだけではダメな可能性が出てきた。
早速やってみる。
まだまだ、何か見落としがないかRuby on Jam! IchigoJamで動くROM8KBのミニ Ruby VM と、mruby ver2.0対応はじめのいっぽ - mmruby for LPC1114を見てみる。
なんか、make all writeしたらそのまま動き出してる。
じゃぁ、電源投入すると動き出すってのもの間違えてない。
mmruby.binは適切か?
code.mrb自体想定されているべきものが出力されているんだろうかと思い、
test配下のmrbと見比べるもヘッダは特に変な感じではない。
ここで俺に電流が走る。
Makefileをまともな状態にもどして、再度make all writeしたが、変化なし。
よくよくIchigoJamを見てみるとやたらめったらLEDが弱ーく光ってる。
書き込んだ後はUSBシリアル変換モジュールと切り離したうえでIchigoJamの電源を再投入してみる。
ふりかえり
何が原因か特定するまでに時間がかかったがその分かなり多くの知見が得られた。
何をしくじると何が起こるのか大体わかってきた。
あきらめなくてよかった。