スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RAMの使用量

こんにちは

久しぶりに大会以外の更新です.

今回はRAMの使用量について.
さきほどツイッターにてアドバイスを頂いたので書きます.

CS+向けに書いているので,読んでも意味無いかも知れませんが,まあ参考までにどうぞ.

プログラムをビルドすると,フォルダ「DefaultBuild」に拡張子が.mapであるファイルが生成されます.
そのファイルを適当なテキストエディタで開くと,
プログラム2

のように書かれていると思います.
セクションがB_1,R_1,B_2...のように書かれていますが,B_1~SIまでがRAMに確保される領域となります.

各セクションの機能はCC-RXコンパイラのおデータシート参照
プログラム1

セクション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の使用量を見る機能がありました.「メモリ・マッピング・プロファイラ」という機能です.

プログラム4

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

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

プログラム6

自分は今まで,まだRAMの容量だいじょうぶだろう(勘)でプログラムしていたので,常にRAM容量のオーバーを怖がりながら開発していました.怖がった時点で調べ方を学べってことですが(笑)

経路導出アルゴリズムなどメモリをたくさん使いそうなプログラムを作るときは,是非RAM容量を気にしながらプログラミングしましょう!

RX631以降のルネサス製マイコンではRAMがとても多くなっているので,これからは余り気にする必要がないかもしれませんが.
ただ,RAMの残り容量を知ることによって,あまっている領域をログ用の領域として有効活用することができるのでオススメです.





スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

tennisyi

Author:tennisyi
現在、東京理科大学miceに所属しており、マウスを制作しています。
目指せハーフマウス脱初心者!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。