やっと、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」を行う必要が
ほぼ無い。
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