RL78開発に使っていたCA89K0Rコンパイラから、新登場のCC-RLコンパイラへの移行に関して、コンパイラ表記混在が可能で、多くの既存ルネサスサンプルソフトや、将来のCC-RLサンプルソフトも使える「CS+移行支援機能を使った方法2が適している」ことを前回示しました。
方法2では、移行のために多くのオプションを設定しました。これらを設定しないCC-RLネイティブオプションとRAM/ROMサイズを比較し、移行オプションの設定が、サイズや処理速度に影響を与えないことを検証しました。
CC-RLネイティブオプションプロジェクト
最も基本的なオプションのみを設定したネイティブオプションのプロジェクトとして、CS+ for CC付属のサンプル・プロジェクトRL78_G13_Tutorial_Basic_Operation_CCを使います。
これは、CPUボードQB-R5F100LE-TBで動作可能なプロジェクトです。GOボタンを押すと、指定フォルダにRL78_G13_Tutorial_Basic_Operation_CC プロジェクトが作成されます。ネイティブのままでは、RAM/ROMサイズ出力がありませんので、合計セクション・サイズ表示のみを追加設定します。
リビルト・プロジェクト実行で、ネイティブオプションでのRAM/ROMサイズが出力されます。
RAMDATA SECTION: 00000002 Byte(s)
ROMDATA SECTION: 00000298 Byte(s)
PROGRAM SECTION: 000001b4 Byte(s)
移行支援機能オプションのプロジェクト
ネイティブオプションプロジェクト作成時と別フォルダを指定しGOボタンを押し、もう1つ別のRL78_G13_Tutorial_Basic_Operation_CC プロジェクトを作成後、下記移行支援機能オプションと、前回プログ設定のオプションを追加設定します。
- コンパイラの移行支援機能:-convert_ccオプション
- アセンブラの移行支援機能:-convert_asmオプション
- セクションの自動配置:いいえ
- メモリモデル:スモール・モデル
- 合計セクション・サイズ表示:はい
コンパイラ表記の混在可能を試すため、CC-RL表記をCA78K0R表記へ変更します。
リビルト・プロジェクト実行で、移行オプションでのRAM/ROMサイズが出力されます。
RAMDATA SECTION: 00000002 Byte(s)
ROMDATA SECTION: 00000298 Byte(s)
PROGRAM SECTION: 00000 1af Byte(s)
PROGRAM SECSIONに5バイト差分、減少が生じますが、これは、セクション自動割付けを行わなかったためです。
コンパイラ表記が混在してもビルドできますし、移行オプションを追加設定しても、RAM/ROMデータサイズは変わりません。ネイティブ1b4=436バイトに対して、5バイト程度の増減であれば、処理速度への影響もないことが確認できます。もちろん、CPUボードQB-R5F100LE-TBで正常動作します。