GR-KURUMI書き込みTOOLベリーシンプルライターソース(暫定版)(転載)

「GR-RL78G13プロデューサーの小部屋 - Blog」からの転載です。添付のソースコードは、MacOSX用に作成したもので、Linux系では、有志のコメントを参考に改造が必要です。とは言っても、Unix系の標準Cライブラリによって実現されています。あくまでも、参考で、動作を保証するものではありません。使用許諾は、添付ファイルの中に記載があります。未サポート無保証&BSDライセンスとしています。


MacOSXで書き込むツールを、とりあえず、C言語270行程度で、やっつけですが作れました。動作保証できるほどテストもできなんので、ソース コードで開示致します。また、本家本元のGUI版と区別するために、名前を、Very Simple Writer for Cとしときます。

コンパイルには、xcode 4.5.2を使用してます。xcodeは、App Storeからダウンロードします。また、C言語コンパイラを使うには、さらに、xcodeを起動後、Preferencesを開いて、Download アイコンのComponentsタグを選択して、Command Line Toolsをダウンロードして下さい。ソースコードmain.cのコンパイルは、terminalから、ソースコードのあるフォルダーへカレントディレク トリを移して、「cc main.c」と実行すると、「a.out」という実行ファイルは生成されます。

使い方は、ターミナルから、「./a.out (COMポートのパス) < (sketch.binファイルのパス)」と打って実行します。COMポートのパスは、ターミナルから、「ls /dev/cu.u*」と打てば、それらしいものが、出てきます。

Linuxでも使用しているシステムコールでは、同じと思うので、どなたか試していただけるとうれしいです。Linuxでは、gccでコンパイルできると思います。

あと、ときたま、KURUMIのリセットがかからないで、止まるときがあります。そのときは、KURUMIをUSBへ再接続して、再度、このツールを実行してください。


とりあえず、ご参考です。


from :

Windows Vista 64bit版上のCygwin環境で試してみました。

gccでコンパイルしたところ、cfsetspeed()という関数がリンクでエラーになったので、ぐぐったところTERMIOSに非標準だかなん だかだったので、cfsetispeed()とcfsetospeed()を呼び出すよう変更したところリンクも成功しました。

./a /dev/ttyS4 < sketch.bin

と実行すると、ブロックイレース → データライト と進行するのですが、データライトの途中でステータスが返ってこなくなるのか途中で止まってしまいます。

止まった状態でGR-KURUMI(仮称)のRESETボタンを押すとsketch.binの内容によってはプログラムが動作するものがあるので、書き込み動作は行えているようです。

本来想定していないであろうCygwin環境固有の問題であれば意味はなさげですが、折角なのでちょっと追っかけてみようかと思います。


from :

Linux(Fedora 17, x86)の上でコンパイルしてみましたが、 sys/ioctl_compat.h が無いためにコンパイルが通りませんでした。 このファイルはFreeBSDやapple では存在しているようですが、Linuxの環境では一般的に存在しないようです。 この行を削除するとコンパイルは通りました。 試用はこれから行いま す。

Linux(Fedora17, x86) と Linux (Fedora 15, x86_64) でコンパイルしてソースに添付されていたsketch.bin (220kb) と 本日コンパイルして出来上がった kurumi_sketch.bin (49kb) の両方を書き込み、問題なく書き込めました。 ソースの中で気になった些細な点としては、44行目と4行目に使われていない変数が残っています。また、オ プションを付け忘れた時に出るメッセージは Missing args とか Missing options あたりはどうでしょうか?  書き込み時のメッセージの "Done data write (ret=%d) の部分は  %d bytes written  とかはどうでしょうか?


以上、重要なコメントのみ、抜粋しました。もし、追加すべき内容があれば、コメントで追加をお願い致します。

Anonymous
  • こんにちは、先週初めて KURUMI を触った初心者です。

    下記環境で動作しましたので報告します。

    Vine Linux 6.3

    kernel 3.4.106-3vl6

    gcc version 4.4.5

    上記の記事のとおり、main.c のソースを少し変更して動作させ、GR-KURUMIにbinファイルを書き込むことができました。