はじめに
いろんなマイコンを自分なりに調べたり、教わったりしながら Lチカ してみるのが好きなので RL78/G24 マイコン、R7F101G6E2DSP で L チカしてみました。MicroChip もいいけど、やはり日本メーカーのマイコンを使えるようになりたい。
自分はいろいろな基本的な技術がないので、AVR64DD28 や PIC18F27Q43 みたいに、どんだけシリアル出力しても平気なフラッシュ領域がやたらとあって、適当に測ってもそこそこ測れる 12bit ADC が付いていて、ピンが多すぎもせず、少なすぎもせず、そして、専用ハードを買わなくても USB シリアルでなんとか書き込みできそうなもの、という感じで、これになった。マルツ経由の Digikey で買えた。
回路とプログラマ
USB シリアルによるプログラマは、公式情報 4.2.2 節のスリーステートバッファなる初耳なパーツを使う方法です。
これをダイオードで置き換えた方がいる。
#DTR 等を使わないだけで、AVR64DD28 で使ったシリアル UPDI と同じだ。AVR をやった時は、何やってるのか意味を分かっていなかったが、あれも一線式だし、意図は同じなのだろう。
でシリアルUPDI のときは、おそらくパリティに未対応なため PIC16F1455 では動かなかったので、今回も駄目だろうなと思っていたら、やっぱりだめだった。
FT232RL なら書き込み成功した。
L チカと書き込み
コンフィギュレータでクロックとかの設定をしたあとで、main.c:
#include "r_smc_entry.h"
int main(void);
int main(void)
{
// コンフィグレータを使ったら入ってきたけど、知らない。
//EI();
//P00 兼用ピンなのでデジタル宣言。7.5.1 節参照。
PMCA0=0b11111110;
//出力ピン宣言
PM0_bit.no0 = 0;
while(1)
{
P0_bit.no0 = !P0_bit.no0;
R_BSP_SoftwareDelay(1000,BSP_DELAY_MILLISECS);
}
return 0;
}
Renesas Flash Programmer コマンド。DTR, DTR って言われてるけど、実際には #DTR ですでに引っくり返っているものが出てるので、リセット制御は -dtr-inv となる。
> ./rfp-cli -d RL78/G2x -port /dev/ttyUSB0 -dtr-inv -a ./Blink.srec
Renesas Flash Programmer CLI V1.13
Module Version: V3.20.00.000
Load: "/home/snob/.local/share/renesas/rfp/linux-x64/Blink.srec" (Size=7354, CRC=7EFD4966)
Connecting the tool (COM port)
Tool: /dev/ttyUSB0
Interface: 1 wire UART
Connecting the target device
Speed: 1,000,000 bps
Connected to R7F101G6E
Erasing the target device
[Code Flash 1] 00000000 - 0000FFFF
[Data Flash 1] 000F1000 - 000F1FFF
[Code Flash 1] 00000000 - 00000FFF
[Code Flash 1] 00002000 - 000027FF
Writing data to the target device
[Code Flash 1] 00000000 - 000009FF
[Code Flash 1] 00002000 - 000021FF
Verifying data on the target device
[Code Flash 1] 00000000 - 000009FF
[Code Flash 1] 00002000 - 000021FF
Disconnecting the tool
感想
専用ハードを買わなくても、どの誤家庭にもある FT232RL (RNL) だけで始められるし、公式ドキュメントは日本語だし、フォーラムも日本語だしで、個人のホビー用途に向いていそうだけど、SSOP のはんだがキツいです。



