GR-SAKURAで外部バスを利用する

GR-SAKURAはRXマイコンを使った小型マイコンボードです。

がじぇっとるねさす | ルネサス エレクトロニクス

特にこのボードに依存した話ではない気がしますが、RX63N(R5F563NBDDFP)で外部バスを利用する場合の設定をメモです。

設定内容は

16ビットバス(PE7-0 : PD7-0をD15-0に割り当て)
WRはP50、RDはP52
CS3空間を利用 CS3はPC4
アドレスバスはA17だけ出力

LCDをメモリマップドI/Oで接続するような用途です

あくまで個人的なメモなのでご利用は自己責任で…

設定

 SYSTEM.SYSCR0.WORD = 0x5a03;    //ROM enable EXBus enable

MPC.PWPR.BIT.B0WI = 0;    //PFSWE write enable
MPC.PWPR.BIT.PFSWE = 1;    //PFS write enable

MPC.PFCSE.BIT.CS3E = 1;    //CS3 enable
MPC.PFCSS0.BIT.CS3S = 2;    //PC4=CS3
MPC.PFAOE1.BIT.A17E = 1;    //A17 enable
MPC.PFBCR0.BIT.DHE = 1;    //D8-D15(PE0-PE7)enable

BSC.CS3CR.WORD = 0x0001 | (0 << 4);    //16bitBUS
BSC.CS3MOD.WORD = 0x8001;
BSC.CS3WCR1.LONG = 0x01010101;
BSC.CS3WCR2.LONG = 0x11110111;
BSC.CS3REC.WORD = 0x0000;

データ出力の例

*(volatile unsigned short*)0x05000000 = data1;
*(volatile unsigned short*)0x05020000 = data2;

アドレスが0x05000000ならA17=0、0x05020000ならA17=1です。

速度ですが、GR-SAKURAでフルに回した場合12MHzぐらいの周期で書き込み動作が行われました(実験値)。

こちらのソースを参考にさせていただきました。(オリジナルは8ビットバス)

GR-SAKURA用ソフトウェアとシールド