いつもお世話になっております。
表題の通りRL78/G10に外部UARTを通じて書き込みたいと考えているのですが、
プロトコルを記したドキュメントを見つけることができません。
どこかにアプリケーションノート等として公開されているのでしょうか、
それともプロトコルは秘匿されているため外部UART経由の書き込みは事実上不可能ということなのでしょうか。
もしよければ教えてください。
sohc1300さん
試しにRFPとRL78/G10(R5F10Y16)のコマンド通信を見ると結構シンプルなコマンド体系のようでした。 以下にコマンドフローを掲載しておきますね。
●消去後書き込み モード引き込み TX:3AH RX:06H TX:60H 消去後書き込みコマンド RX:06H RX:07H ROMサイズ(07FFh)? TX:06H 消去開始 RX:06H 消去完了 TX:[DATA0000H][DATA0001H][DATA0002H][DATA0003H] 書きこみデータ RX:06H TX:[DATA0004H][DATA0005H][DATA0006H][DATA0007H] 書きこみデータ RX:06H ・・・・ TX:[DATA07FCH][DATA007FDH][DATA07FEH][DATA07FFH] 書きこみデータ RX:06H,06H 書きこみ完了
●CRCチェック モード引き込み TX:3AH RX:06H TX:53H CRCチェックコマンド RX:06H RX:07H ROMサイズ(07FFh)? TX:06H RX:06H RX:53H,F6H CRC
Kirinさん、回答ありがとうございます。
まさかUARTプロトコルの解析までして下さるとは思いませんでした……
基板まで完成して手詰まりになっていたところ、本当に助かりました。
0x3Aを送ってとりあえず引き込みを試みた後0x06が返って来たかどうか記憶が定かでないのですが、
タイミングを調整しながら試してみます。
貴重な時間を割いて迅速に対応して頂いたことに感謝します。
解析は趣味なので、お役に立ててよかったです。
G10の方は、TOOL0のセットアップ時間とか、100msec以内とかタイミングがシビアみたいですね。がんばってください。
RL78/G10って、奇数パリティです。 UMには書いてありませんけども。
Kirinさん
奇数パリティが必要との情報、ありがとうございます!
おかげさまで無事書き込むことができました。
僕はROM1KiBの10Y14を使っていますが、0x07の代わりに0x03が返ってきたのでこのバイトはROMサイズで間違いなさそうです。
また、CRCチェックで返ってくるCRC値はROM全域のデータをRL78/G13搭載の汎用CRCに(ビットエンディアンネスを反転せず)通した場合と同一のものでした。
CRC-16-CCITT(初期値0x0000、左シフト非反転、除数0x11021)です。
追記:
CRCについてですが、汎用CRCではなくG13のフラッシュ・メモリCRCによる結果と同じでした。
0xFFで埋め立てた状態で調べたときにたまたま汎用CRCと同じ値が出たようです。
やりましたね!
CRCも解けたのでバッチリOK