RL78/G13のフラッシュ書き込みプログラム

やっと、RL78のフラッシュへの書き込みが出来るようになった。

これで、「Renesas Flash Programmer」に頼る必要が無くなったと言いたいところだけど、
書き込めるのは Windows 環境のみという現状・・・
OS-Xでは、初期のブートモードにエントリーする部分で失敗し、Linux 環境では、初
期設定で失敗する。

調べると、どうも、シリアルドライバーの不具合のように思うが、ドライバーは最新のよ
うでもある・・・
現在USBシリアルチップはFTDIのFT231XSを使っているだが、別のチップで
試してみたいので、中華製のアダプターを複数購入、配達待ちとなっている。

ソースコード共通化の為、「termios.h」の API を使っているけど、逆に Windows 版が、
バグがあり、偶然通信できているだけなのかもしれない。

一番の懸念は、RL78のブートモードで、TOOL端子1本を使う半二重モードは、
PC->RL78は「2ストップビット」、RL78->PCは「1ストップビット」と
変則仕様になっている・・(何故、こんな仕様にしたのか、問いただしたい!)
一般的なシリアルドライバーでは、受信と送信で別々の通信フォーマットを設定できるよ
うには作られていない為、本来なら、これは、フレーミングエラーが発生してまともに通
信できないのだが、termios API で、これを無視する設定があり、Windows では、それが
機能しており、通信ができている。

Linux のドライバーは、無視する設定をしても、無視してくれないようだ・・・

一方OS-Xでは、送信データ出力のレベルを制御する機能が正常に動作していないよう
で、RL78をブートモードに「入れる」事が出来ずに失敗する。

-----

・RL78/G13(128K)のみの検証
・データフラッシュへの書き込みは試していない
・単線式の書き込みモードのみ対応
・リセット制御は、RTS端子を利用

RL78へのフラッシュ・プログラムは、R8CともRXとも違う仕様で(元々メーカー
が違うのでしょうがないのだけど・・・)動くまでに多少時間を要した。

RL78では、以下の特徴がある:
・基本的に内臓フラッシュの読み出しは行えない。
・「Verify」は行える。
・書き込み時に、内部で「Verify」も行う為、書き込み終了時に「Verify」を行う必要が
ほぼ無い。

RL78(GitHub)

Renesas RL78 Series Programmer Version 0.10b
Copyright (C) 2016, Hiramatsu Kunihito (hira@rvf-rc45.net)
usage:
rl78_prog [options] [mot file] ...

Options :
    -P PORT,   --port=PORT        Specify serial port
    -s SPEED,  --speed=SPEED      Specify serial speed
    -d DEVICE, --device=DEVICE    Specify device name
    -V VOLTAGE, --voltage=VOLTAGE Specify CPU voltage
    -e, --erase                   Perform a device erase to a minimum
    -v, --verify                  Perform data verify
    -w, --write                   Perform data write
    --progress                    display Progress output
    --device-list                 Display device list
    --verbose                     Verbose output
    -h, --help                    Display this

RL78_FlashProgrammer

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください