総合開発環境HEWで、コンパイラはC/C++ compiler package for the H8, H8S, and H8SX family V.6.02 Release 02を使用して
H8S 2367シリーズのマイコンで開発を行っていますが、現在どのくらいROMやRAMサイズを使っているのか確認方法がわかりません。
mapファイルを見ればわかると記載されていますが、HEWを使用するのは、ほぼ初めてなので教えてください。
わわいです map ファイルにはプログラムやデータがメモリのどのアドレスに配置されているか、が載っています お使いのCPUのメモリエリア、ROMやRAMがどこからどこまで配置されているかを調べておいて、mapファイルのアドレスを見れば、どれだけ使ってるかがわかります SECTION START END SIZE ALIGN PResetPRG 00000400 00000415 16 2 PIntPRG 00000416 000004af 9a 2 P 00000800 0000088f 90 2 C$DSEC 00000890 0000089b c 2 C$BSEC 0000089c 000008a3 8 2 D 000008a4 000008a7 4 2 B 00ff6000 00ff641f 420 2 R 00ff6420 00ff6423 4 2 S 00ffbdf0 00ffbfef 200 2 map ファイルの内容の一例ですが、H8Sの場合はROMが 0x000000 番地から配置され、RAMは0x00ffxxxx 番地から(機種により違う)配置されてるようなので、その範囲に合うように探していくと、ROMエリアは0x00000400(PResetPRGのSTART) から 0x00000807(D の END)まで使ってるのがわかります RAMはちとむずかしいですが、SセクションはだいたいRAMの最後に合わせて確保されるためこれは計算に入れないようします。と、0x00ff6000(B のSTART) から0x00ff6423(R のEND) まで使ってることがわかります
HEWでは以下の操作でリンク後のROM・RAMサイズの表示が可能です。
この設定でビルドすると、ビルド出力に以下のように16進でサイズが出力されます。
RAMデータ・ROMデータ・プログラムで集計されるので、ROM使用量はROMデータ+プログラムで算出できます。
ちなみに、HEWでのH8に限らずルネサスのツールチェインにはリンカのオプションに同様の設定項目があります。
出力されて困る物でもないのでプロジェクト生成時のデフォルトでオンになっていても良いと思いますが。
HEWのツールメニューからMapviewが起動できます。リンカオプションの設定以上はダメですが、mapファイルを読み込んで情報表示します。かなり以前にリリースされたのですがほとんど進化がありません。もっと注目が集まれば、デバイス情報も読み込んで使用状況やサイズ不足などのエラーをグラフィカルに表示するようになるのではと期待してます。