Applilet EZ PL for RL78 V1.0J, V2.00J を試してみました。
デジタル回路版電子ブロックという感じで興味深いツールと思いましたが、少々使いづらい点もあったので改善要望として挙げておきます。
> 本ツールは評価版です。本ツールに関するテクニカルサポートは受け付けておりません。
と明記されていることは理解しており、返答等を求めているものではありません。
・生成時に出力される「使用ROMサイズ」が分かりにくい
生成を行い、
コンパイルを開始します。 ---------- Pass1 ---------- ---------- Pass2 ---------- ---------- Pass3 ---------- コンパイルが終了しました。 使用ROMサイズ 2790byte
生成が成功して上記のメッセージが出力された場合の .map ファイル中の Mapping List が以下の通りです。
*** Mapping List *** SECTION START END SIZE ALIGN .vect 00000000 0000007f 80 0 .const 00000080 0000008f 10 2 .constf 00000080 00000080 0 2 .sdata 00000080 00000080 0 2 .option_byte 000000c0 000000c3 4 1 .security_id 000000c4 000000cd a 1 .textf 000000c4 000000c4 0 1 .data 000000ce 00000140 73 2 .text 00000141 00000aaf 96f 1 .RLIB 00000ab0 00000b15 66 1 .bss 000ffce0 000ffced e 2 .dataR 000ffcee 000ffd60 73 2 .stack_bss 000ffd62 000ffda1 40 2 .sbss 000ffe20 000ffe28 9 2 .sdataR 000ffe2a 000ffe2a 0 2 *** Total Section Size *** RAMDATA SECTION: 000000ca Byte(s) ROMDATA SECTION: 00000111 Byte(s) PROGRAM SECTION: 000009d5 Byte(s)
「使用ROMサイズ」の 2790byte は ROMDATA SECTION: の 0x00000111 Byte(s) と PROGRAM SECTION の 0x000009d5 Byte(s) の合計に等しく、使用されている領域 0x00000~0x0008f と 0x000c0~0x00b15 の合計にも等しく数字としては正しいのですが、この場合 RL78/G10 と CC-RL のメモリ配置の制限により 0x00090~0x000bf に使われなかった領域が存在するため、開始アドレス~終了アドレス の 0x00000~0x00b15 とは「使用ROMサイズ」は異なる値となっています。
使用 ROM サイズを出力する目的はユーザーにあとどれだけ使えるかを伝えることだと思いますが、現在の出力ではRL78/G10 と CC-RL の組み合わせでの使用では避けることが難しい使われない領域はユーザーに伝わらないため、開発を進めるている内に使用しているマイコンの容量いっぱいまで使用する前にメモリが足りなくなる状態に遭遇する可能性が考えられます。
先の場合、開始アドレス~終了アドレス の 0x00000~0x00b15 を使用 ROM サイズとし
コンパイルを開始します。 ---------- Pass1 ---------- ---------- Pass2 ---------- ---------- Pass3 ---------- コンパイルが終了しました。 使用ROMサイズ 2838byte
上のように出力するか、使われなかった領域とまだ使える領域も併せて出力し
コンパイルを開始します。 ---------- Pass1 ---------- ---------- Pass2 ---------- ---------- Pass3 ---------- コンパイルが終了しました。
使用ROMサイズ 2790byte 非使用ROMサイズ 48byte 未使用ROMサイズ 1258byte
上記等とするのが良いのではないでしょうか。