| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
コンパイル後のmrbファイル(バイトコード)を、シリアル通信を使ってターゲットに転送する。
クロスプラットフォームのために、Qt6 (https://www.qt.io/jp) を使用している。 オンラインインストーラを使って次の項目をインストールする。
次に下記コマンドにてビルドする。
qmake make # or gmake, nmake
mkdir ¥PATH¥TO¥DEPLOY¥mrbwrite copy release¥mrbwrite.exe ¥PATH¥TO¥DEPLOY¥mrbwrite cd ¥PATH¥TO¥DEPLOY¥mrbwrite windeployqt mrbwrite.exe
mkdir -p deploy/mrbwrite/QtFrameworks cp mrbwrite deploy/mrbwrite cp -R ~/Qt/6.8.3/macos/lib/QtCore.framework deploy/mrbwrite/QtFrameworks cp -R ~/Qt/6.8.3/macos/lib/QtSerialPort.framework deploy/mrbwrite/QtFrameworks cd deploy/mrbwrite install_name_tool -change \ @rpath/QtCore.framework/Versions/A/QtCore \ @executable_path/QtFrameworks/QtCore.framework/QtCore mrbwrite install_name_tool -change \ @rpath/QtSerialPort.framework/Versions/A/QtSerialPort \ @executable_path/QtFrameworks/QtSerialPort.framework/QtSerialPort mrbwrite cd .. zip -r mrbwrite.zip mrbwrite
./mrbwrite --showline # show all lines ./mrbwrite -l cu.USBSERIAL -s 19200 PROG1.mrb PROG2.mrb ...
レスポンスは、
となる。
mrbwrite: :TARGET | | | "version" | +------------------------->| | | | "+OK mruby/c v1.00" | |<-------------------------+ | |
mrbwrite(ホストPC)側からターゲットへ空行(CRLFのみ)を送信することで開始される。
ターゲットでは、通常は起動後に書き込み済みのプログラムを実行するため、この参照実装では、起動直後の数秒間にCRLFを受信するか、ボード上のSW1が押されるとコマンド受け付けモードに入る。
以下の例は、mrbファイルのサイズが250バイトの場合であり、トランザクション中に250という数値がでてくる。
mrbwrite: :TARGET | | | CRLF,CRLF,... | 返信があるまで、Syncコードとして何度かCRLFを送信する +----------------------->| | | | "+OK mruby/c" | |<-----------------------+ | | | "clear" | +----------------------->| | | | "+OK" | |<-----------------------+ | | | "write 250" | +----------------------->| | | | "+OK Write bytecode" | |<-----------------------+ | | | (mrb file 250 bytes) | +----------------------->| | | | "+DONE" | |<-----------------------+ | | | "execute" | +----------------------->| | | | "+OK" | |<-----------------------+ | |
応答例は1行目は送信したコマンド行で、2行目以降は受信した行。 一部のコマンドを除き、行頭の +, - で成否を表し、以降のコメントは参考(デバッグ)用と考えて良い。
バージョン表示
次項のバージョンチェックを参照。
応答例
version +OK mruby/c v3.3 RITE0300 MRBW1.2
書き込み済みバイトコードの消去
複数のプログラムが書かれている場合も、すべて消去する。
応答例
clear +OK
mrubyバイトコード書き込み
複数のプログラムを書き込む場合、当コマンドを書き込むプログラムの個数の回数分、連続して発行する。
応答例
write 250 +OK Write bytecode. (バイトコード送信 250 bytes) +DONE
送信したバイトコードが、正しいIREPファイルではなかった場合。
-ERR No RITE code received.
書き込んだプログラムを実行
応答例
execute +OK Execute mruby/c.
ソフトウェアリセット
応答例
reset +OK
コマンド一覧表示(人間用)
人間用なので、実装しなくても良い。
応答例
help +OK Commands: help version reset execute clear write showprog +DONE
書き込み済みプログラムサイズ表示(人間用)
人間用なので、実装しなくても良い。
応答例
showprog idx size offset 0 188 $bd037000 total 256 / 32768 (0%) +DONE
応答例
UNKNOWN_COMMAND -ERR Illegal command. 'UNKNOWN_COMMAND'
version コマンドを送信することによって、ターゲットのバージョンを得ることができる。 そのフォーマットは、1つのスペースキャラクタ区切りによる以下のフォーマットが期待される。
(例)
+OK mruby/c v3.3 RITE0300 MRBW1.2
カラム
| Back | FazBrowse Home | New Git URL |