こんにちは。NoMaYです。ルネサスさんのクイックコネクトIoTのサンプルプログラムのドキュメントを見ていて気付いたのですけれども、サンプルプログラムでのRXマイコンの使用ROM/RAMサイズがRAマイコン/RL78マイコンと比べてボロ負け感のあるほど大量ですね、、、これは要調査ですね(数値はサンプルプログラムをビルドした素朴な結果ですかね)、、、
ROM / RAM (bytes) RX & CC-RX? RA & GNUARM RL78 & CC-RL? RE & GNUARMHS300x 24,863 / 7,941 6,164 / 1,740 4,046 / 100 74,472 / 7,560FS2012 24,696 / 7,945 7,984 / 1,676 4,792 / 102 -
以下、HS300xサンプルソフトウェアマニュアルの画面コピーです。[関連リンク]RAファミリ、RXファミリ、RL78ファミリ、RE01 256KBグループ HS300xサンプルソフトウェアマニュアルR01AN5897JJ0110 Rev.1.10 September 30.21 www.renesas.com/jp/ja/document/apn/hs300x-sample-applicationRAファミリ、RXファミリ、RL78ファミリ FS2012 サンプルソフトウェアマニュアルR01AN6047JJ0100 Rev.1.00 September 30.21www.renesas.com/jp/ja/document/apn/fs2012-sample-applicationセンサソフトウェア ミドルウェア 製品ページwww.renesas.com/jp/ja/software-tool/sensor-software
こんにちは。NoMaYです。RAマイコンのソフトウェア開発プラットフォームのGNU ARM Embeddedプロジェクトでは、プロジェクト作成時のデフォルトの設定が、未使用の変数/関数を削除する最適化を行う、という設定になっています。そこで、CC-RXでも同様の最適化を施してみました。ただ、現状は、以下のスレッドにあるように単にコンパイルオプションを設定するだけでは効き目が弱いですので、セクション配置順とオブジェクトリンク順も一緒に調整して効き目を強めるようにしてみました。CC-RXの未使用の変数/関数を削除する最適化の効き目がGNURX/ICCRXより歴然と弱いのですが、、、japan.renesasrulz.com/cafe_rene/f/forum21/6403/cc-rx-gnurx-iccrx結果は以下の通りでした。r01an5897xx0110-hs300x_opt_map_files_20211017.zipHS300x_RX65N_NonOS.build.logHS300x_RX65N_NonOS.mapHS300x_RX65N_FreeRTOS.build.logHS300x_RX65N_FreeRTOS.mapNonOS版RX65N: e2 studio 2021-10 & CC-RX V3.03.00施術前
PROGRAM SECTION: 00005ba1 Byte(s) 23457 バイト(10進数)ROMDATA SECTION: 00000e7a Byte(s) 3706 バイト(10進数)RAMDATA SECTION: 00001f2d Byte(s) 7981 バイト(10進数)
施術後
PROGRAM SECTION: 00004343 Byte(s) 17219 バイト(10進数)ROMDATA SECTION: 00000e0a Byte(s) 3594 バイト(10進数)RAMDATA SECTION: 00001b0d Byte(s) 6925 バイト(10進数)
FreeRTOS版RX65N: e2 studio 2021-10 & CC-RX V3.03.00施術前
PROGRAM SECTION: 0000952c Byte(s) 38188 バイト(10進数)ROMDATA SECTION: 00000f2e Byte(s) 3886 バイト(10進数)RAMDATA SECTION: 0000705d Byte(s) 28765 バイト(10進数)
PROGRAM SECTION: 00005e64 Byte(s) 24164 バイト(10進数)ROMDATA SECTION: 00000ec6 Byte(s) 3782 バイト(10進数)RAMDATA SECTION: 00006c29 Byte(s) 27689 バイト(10進数)
以下、CC-RXプロジェクトの設定変更箇所の画面コピーです。(6枚)