以前こちらで RX220 用の書き込み内容等々について書きました。一部情報が古いのですがリンク先の上部リンクも含めて御覧くださいね。
さて、本記事では RX631 の書き込みについて、rx_prog
の改造方法について示します。モチベはRTの青木さんがこちらで記事にし始めているからです。青木さんがどうやるか楽しみですが、僕は僕なりにまとめておきます。
基本的には以前の記事通りです。異なる点のみ示しますね。イチから書くのは面倒なので
rx631_protocol.hpp
コピーするファイルは当然 RX63T のものですが、当然ながらファイル名は RX631 仕様にします。
$ cp rx63t_protocol.hpp rx631_protocol.hpp
rx_prog.hpp
以下ではもともと RX220 用に追加してあります。RX220 を使わない場合は除外して OK です。
30行目付近
using
に追加。
using protocol_type = boost::variant<rx63t::protocol, rx24t::protocol, rx64m::protocol, rx220::protocol, rx631::protocol>;
143行目付近
条件分岐を追加する。
if(rx.cpu_type_ == "RX63T") {
protocol_ = rx63t::protocol();
} else if(rx.cpu_type_ == "RX24T") {
protocol_ = rx24t::protocol();
} else if(rx.cpu_type_ == "RX64M") {
protocol_ = rx64m::protocol();
} else if(rx.cpu_type_ == "RX220") {
protocol_ = rx220::protocol();
} else if(rx.cpu_type_ == "RX631") { // ADD
protocol_ = rx631::protocol();
} else {
std::cerr << "CPU type missmatch: '" << rx.cpu_type_ << "'" << std::endl;
return false;
}
main.cpp
420行目付近
if(rx.cpu_type_ == "RX631") {
rx.master_ = 1200; // 12.00MHz
rx.sys_div_ = 8; // x1 (96MHz)
rx.ext_div_ = 4; // x1 (48MHz)
}
rx_prog.conf
秋月の 100pin を使う方は以下のように追加。その他の人は自分のものにあわせてください。まあなくてもいいですが。
R5F5631FD {
group = "RX631"
clock = 12000
divide_sys = 8
divide_ext = 4
rom = 2048K
ram = 256K
data = 32K
comment = "; RX631 Flash:2048K DataFlash:32K RAM:256K"
rom-area = FFE00000,FFFFFFFF
data-area = 00100000,00101FFF
ram-area = 00000000,00003FFF
}
書き込み
いい感じにやりましょ。
$ ~/RX/rxprog/rx_prog -d RX631 -s 19200 --port=/dev/tty.usbserial-AI0454E0 -w path_to_mot_file --verbose
というわけで終了です。色んな人がこのブログを見てくれているらしい。ありがたやありがたや。