« あけましておめでとうございます | トップページ | RX62NのUSBプログラマができた »

2012.01.07

RX62NのUSBプログラマを作る

究極のRX62Nボードや、RaXinoのRXマイコンの内蔵ROMにプログラムをしていただくために「FDTを使用してください」と書いてきました。ただ、FDTは登録してダウンロードしなければなりませんし、高機能すぎて、使うのはちょっと大変です。

そこで、RX62N用に簡易なUSBプログラマを作ることにしました。

RX62Nは、MD0をLに落とした状態でリセットすると、USB ブートモードというのになります。この状態でプログラムを行うためのツールです。

USBブートモードでは、RX62Nは、Generic Boot Deviceとして認識されます。
デバイスドライバが要求されるので、柏野さんの汎用USBデバイスドライバ(UUSBD)を使うことにしました。
(以前、Interface誌の記事を参考にしてlibusbを使おうとしたけど、だめだった。柏野さんドライバなら動いた。)

VID=045B、PID=0025で、このRX62NのGeneric Boot Deviceに結び付けられます。
hWrite = Uusbd_OpenPipe(husb, 0, 0); // パイプ0?
hRead = Uusbd_OpenPipe(husb, 0, 1); // パイプ1?
とやると、書き込みパイプと読み出しパイプのハンドルが取れます。

RX62Nのハードウェアマニュアルの第37章を参考にプログラムを作ってみました。
Usb62nprog_1

まず、0x55というコマンドを送ると、0xE6というレスポンスが返ってきます。
ここからすべてがはじまります。

そして、ハードウェアマニュアルを参考にして、サポートデバイス問い合わせ等のコマンドを発行します。
Usb62nprog_2

最初に0x55を送ることと、チェックサムの読み出しにもう1つのReadFileを行ってやることを除いて、どうやら、RS232C版の書き込みシーケンスとUSB版の書き込みシーケンスは同じようです。

作ったプログラムを動作させてみました。
Usb62nprog_3

とりあえず各種の情報は取得できました。
それほど難しくはなさそうなので、1~2日で作れると思います。
書き込みができるようになったら無償公開する予定です。

どうやってRX62Nに書き込みをしようかとお悩みの方はご期待ください。
FDTを使うのは大変だという方や、MACで書き込みしたいという方はどうぞご期待ください。

|

« あけましておめでとうございます | トップページ | RX62NのUSBプログラマができた »

コメント

マニュアルには256バイト書き込みと書いてありますが、現物は256バイトではありません
問い合わせで返ってきたサイズで書きこめば大丈夫です

投稿: ysato | 2012.01.07 15:21

IDコード照合リトライ回数オーバーフロー時の
ERASE処理後ってIDコード待ちに戻る?

投稿: | 2012.01.08 13:14

ysatoさん
コメントありがとうございます。
確かに問い合わせで返ってきたサイズがマニュアルと違いますね。他にもいくつかマニュアルと違う点はありましたが、なんとかクリアできました。

投稿: なひたふ | 2012.01.09 04:44

コメントを書く



(ウェブ上には掲載しません)




« あけましておめでとうございます | トップページ | RX62NのUSBプログラマができた »