R8Cの書き込みにはいくつか方法がありますが、 ここではシリアルライタを使った方法を説明します。 R8C側に必要なのは、下図のようななげやりレベル変換回路のみです。 (本当は、RS232Cレベル変換ICを使うべき)レベル変換回路を介して R8CのTxD1/RxD1とパソコンのシリアルポートをつなぐだけで書き込みができます。 書き込みには、ルネサスが配布しているFlashStarterを使用します。
R8CにはIDコードチェック機能があります。フラッシュメモリがブランクではない場合、 ライタから送られてくるIDコードとフラッシュメモリに書かれている7バイトのIDコードが一致するか判定します。 コードが一致しない場合、書き込みはおろか、消去すらできなくなってしまいます。 領域は、1バイト目から00FFDFh、00FFE3h、00FFEBh、00FFEFh、00FFF3h、00FFF7h、00FFFBh 番地です。 KPIT GNUの場合、プログラムでIDを指定しなかった場合、"00 00 00 00 00 00 00"になるようです。 また、指定番地に値が存在しなかった場合FlashStaterは"FF FF FF FF FF FF FF"を書き込むそうです。