RAMの使用量
こんにちは
久しぶりに大会以外の更新です.
今回はRAMの使用量について.
さきほどツイッターにてアドバイスを頂いたので書きます.
CS+向けに書いているので,読んでも意味無いかも知れませんが,まあ参考までにどうぞ.
プログラムをビルドすると,フォルダ「DefaultBuild」に拡張子が.mapであるファイルが生成されます.
そのファイルを適当なテキストエディタで開くと,

のように書かれていると思います.
セクションがB_1,R_1,B_2...のように書かれていますが,B_1~SIまでがRAMに確保される領域となります.
各セクションの機能はCC-RXコンパイラのおデータシート参照

セクションRはデータシートに見当たりませんが,セクションDと同じだけの容量がRAMに確保され,プログラム開始時にDのデータがRにコピーされるらしいです.
先ほど述べましたが,B_1~SIまでがRAMに確保される領域なので,RAMの使用量はSIのENDアドレスから分かります.
上のキャプチャの場合,0x0000156bなので,十進で5483
RX62Tの場合,1byteに1アドレスが与えられているので,RAMの使用量は5483KBと分かります.
と,まあ,.mapファイルを見てRAMの使用量を測ることができますが,もっと簡単な方法が有ります.(先書こうぜw)
CS+にもRAMとROMの使用量を見る機能がありました.「メモリ・マッピング・プロファイラ」という機能です.

ここをクリックし(↑の図),プロファイルをクリック(↓の図)するとRAMの使用量を見ることができます.(始めて使うとき,何らかのダイアログが出るかもしれませんがOKで大丈夫です.)

下のほうのタブでセクションをクリックすると,セクションごとの容量を調べることができます.

自分は今まで,まだRAMの容量だいじょうぶだろう(勘)でプログラムしていたので,常にRAM容量のオーバーを怖がりながら開発していました.怖がった時点で調べ方を学べってことですが(笑)
経路導出アルゴリズムなどメモリをたくさん使いそうなプログラムを作るときは,是非RAM容量を気にしながらプログラミングしましょう!
RX631以降のルネサス製マイコンではRAMがとても多くなっているので,これからは余り気にする必要がないかもしれませんが.
ただ,RAMの残り容量を知ることによって,あまっている領域をログ用の領域として有効活用することができるのでオススメです.
久しぶりに大会以外の更新です.
今回はRAMの使用量について.
さきほどツイッターにてアドバイスを頂いたので書きます.
CS+向けに書いているので,読んでも意味無いかも知れませんが,まあ参考までにどうぞ.
プログラムをビルドすると,フォルダ「DefaultBuild」に拡張子が.mapであるファイルが生成されます.
そのファイルを適当なテキストエディタで開くと,

のように書かれていると思います.
セクションがB_1,R_1,B_2...のように書かれていますが,B_1~SIまでがRAMに確保される領域となります.
各セクションの機能はCC-RXコンパイラのおデータシート参照

セクションRはデータシートに見当たりませんが,セクションDと同じだけの容量がRAMに確保され,プログラム開始時にDのデータがRにコピーされるらしいです.
先ほど述べましたが,B_1~SIまでがRAMに確保される領域なので,RAMの使用量はSIのENDアドレスから分かります.
上のキャプチャの場合,0x0000156bなので,十進で5483
RX62Tの場合,1byteに1アドレスが与えられているので,RAMの使用量は5483KBと分かります.
と,まあ,.mapファイルを見てRAMの使用量を測ることができますが,もっと簡単な方法が有ります.(先書こうぜw)
CS+にもRAMとROMの使用量を見る機能がありました.「メモリ・マッピング・プロファイラ」という機能です.

ここをクリックし(↑の図),プロファイルをクリック(↓の図)するとRAMの使用量を見ることができます.(始めて使うとき,何らかのダイアログが出るかもしれませんがOKで大丈夫です.)

下のほうのタブでセクションをクリックすると,セクションごとの容量を調べることができます.

自分は今まで,まだRAMの容量だいじょうぶだろう(勘)でプログラムしていたので,常にRAM容量のオーバーを怖がりながら開発していました.怖がった時点で調べ方を学べってことですが(笑)
経路導出アルゴリズムなどメモリをたくさん使いそうなプログラムを作るときは,是非RAM容量を気にしながらプログラミングしましょう!
RX631以降のルネサス製マイコンではRAMがとても多くなっているので,これからは余り気にする必要がないかもしれませんが.
ただ,RAMの残り容量を知ることによって,あまっている領域をログ用の領域として有効活用することができるのでオススメです.
スポンサーサイト