単線UARTの基板を作成して、RL78への書き込みが、rl78flash.exeで行えるようになった。
この際、rl78flash.exeを作成するのに、手間取ったのでその内容を記載しておく。
①msys2をインストール
msys2のサイト(https://www.msys2.org/)からインストーラーをダウンロードし実行する。
②gcc&make&gitコマンドインストール
msys2 mingw64を立ち上げて、
pacman -S mingw-w64-ucrt-x86_64-gcc
pacman -S make
pacman -S git
を実行して、gccとmakeとgitをインストールする。
③gitにてRL78FLASHのソースコードを取り込んでおく
github(https://github.com/msalau/rl78flash)より最新版のソースコードを取り込んでおく。
git clone https://github.com/msalau/rl78flash.gitにて取り込みが可能。
場合によっては、zipファイルの形で取り込んでもらって、展開する形でも構わないと思う。
④make win32を実行する
makeと行きたいところだが、msys2 mingw64上にてmake win32としてTargetをwin32の物とする。
うまくいけば、rl78flash.exeとrl78g10flash.exeが出来上がっているので、lsなどで確認のこと。makeのみだと、termios.hが無いというエラーが出るはずなので、必ずmake win32とする必要がある。
書き込むべきモトローラー形式のファイルと同じフォルダーにrl78flash.exeとrl78g10flash.exeを移動するか、PATHの通っているフォルダーに移動するかしてください。
CS+のデフォルトで生成される形式はINTEL-HEX形式なので、モトローラー形式に変更が必要なので注意のこと。
⑤コマンドの実行
コマンドオプションが色々あるので、rl78flashを実行して表示される内容に従ってオプションを決めてください。通常の消去、書き込み、ベリファイの処理で -a。RESETの極性を反転させるので-n。情報表示のため-v。書き込み処理(単線UART)とRESETの設定で-m 3。今回はCOMポートが7に割り当てられたので、COM7の指定。書き込むファイル名という形で下記画面のようになった。

-b 1000000を指定しても動作は行えた。デフォルトは115200で動作するようだ。
こんなことをしなくてもバイナリーが配布されているので、そちらをダウンロードするのが手っ取り早い(https://github.com/msalau/rl78flash/releases)。
(2023年9月26日追記)
RTS端子は外部に20kΩ未満のプルダウン抵抗が存在するとPCがうまくCH340Eを認識しない。
DTC114EMは便宜上10k+10kの20kΩでプルダウンされているようにRTS端子には見えるので、何とか動いているような状況のようだ。本来なら22k+22kのDTC124EMとか100k+100kのDTC115EMなどを使った方が良いかもしれない。


コメント