RX64Mフラッシュ書き込みプログラム

RX24Tに続き、RX64Mでも、フラッシュへの書き込みが出来るようになった。

RX64Mは、RX24Tとは、全く違うプロトコルで、機能も増えている為、かなり
の部分が作り直しとなった。

RX63T、RX24Tでは、接続が確立され、コマンドを受け付けるようになった時
には、フラッシュは自動で消去されている為、「--erase」動作は必要無いのだが、
RX64Mでは、消去は、個別に対応する必要がある。

また、デバイスを自動で認識する訳では無い為、書き込み時、デバイス種別を選択する
必要がある。

./rx_prog -d RX64M -P COM11 --verbose --progress --erase --write --verify uart_sample.mot
# Platform: 'Cygwin'
# Configuration file path: 'rx_prog.conf'
# Device: 'RX64M'
# Serial port path: 'COM11'
# Serial port speed: 115200
# Input file path: 'uart_sample.mot'
# Motolola Sx format load map: (exec: 0x00000000)
#   0xFFE00000 to 0xFFE00FCB (4044 bytes)
#   0xFFFFFFD0 to 0xFFFFFFFF (48 bytes)
#   Total (4092 bytes)
# Serial port alias: COM11 ---> /dev/ttyS10
# Serial port path: '/dev/ttyS10'
# Connection OK.
#01/01: Device Type OSA: 16000000
#01/01: Device Type OSI: 16000000
#01/01: Device Type CPA: 120000000
#01/01: Device Type CPI: 120000000
#01/01: Endian is little.
#01/01: System clock: 120000000
#01/01: Device clock: 60000000
#01/01: Change baud rate: 115200
#01/01: ID: Disable
Erase:  ###############################################
Write:  ###############################################
Verify: ###############################################

RX Flash Programmer

RXマイコン用 gcc-6.2.0 の構築

以前に、gcc-6.2.0 で、RL78 の gcc をビルドした時、C++ の構築時に
失敗した(16ビットCPUだとポインターが16ビットなのが原因の
よう)ので、試さなかったが、RXマイコンは純粋な32ビットなので、
ビルドできるよなと思い、やってみた。

普通に成功した・・・
※6系は、ビルドも速い気がする。

5.4.0 では、「-flto」でビルドすると、ソースによっては、リンク時に
gcc がクラッシュする事があった、6.2.0 だと、今のところ、クラッシュ
しない~
バイナリーも小さくなる~
これは、もしかしたら、「良い」のかもしれない・・・

6系は、主に、C++1z に向けた、コンパイラと思っていたのだが、色々と
改修が進んでいるのかもしれない。

gcc-6.2.0 でコンパイルしたRXマイコンのプログラムも普通に動作する
ようだ。