HEWにおけるROM/RAMサイズ確認方法

総合開発環境HEWで、コンパイラはC/C++ compiler package for the H8, H8S, and H8SX family V.6.02 Release 02を使用して

H8S 2367シリーズのマイコンで開発を行っていますが、現在どのくらいROMやRAMサイズを使っているのか確認方法がわかりません。

mapファイルを見ればわかると記載されていますが、HEWを使用するのは、ほぼ初めてなので教えてください。

  • mapファイルは見てみましたか?
  • mapファイルは見ましたが、
    *** Mapping List ***
    SECTION START END SIZE ALIGN
    $VECT0
    00000000 00000003 4 0



    のSIZEを合計するのでしょうか。
  • 使用されてるマイコンのハードウェアマニュアルを参照して使用されてるモードとそのメモリマップを確認されゝばアドレスのどのあたりがROMやRAMであることか分かると思います。
    mapファイルに出力されている各セクションの意味はコンパイラのマニュアルを参照すれば分かるでしょう。
    使用されてるROM/RAMサイズはmapファイルに出力されてる各セクションのサイズの合計ですが、通常はROMやRAMに配置されてるセクションの最終のアドレスを参照されゝば良いと思います。
  • わわいです
    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サイズの表示が可能です。

    1. HEWのメニューから「ビルド」→「H8S,H8/300H Standard Toolchain...」をクリック
    2. ビルド設定ダイアログの「最適化リンカ」タブ→カテゴリ「その他」→その他のオプションの一番下「合計セクションサイズの画面表示」にチェック

    この設定でビルドすると、ビルド出力に以下のように16進でサイズが出力されます。

    RAMデータ・ROMデータ・プログラムで集計されるので、ROM使用量はROMデータ+プログラムで算出できます。

    ちなみに、HEWでのH8に限らずルネサスのツールチェインにはリンカのオプションに同様の設定項目があります。

    出力されて困る物でもないのでプロジェクト生成時のデフォルトでオンになっていても良いと思いますが。

  • HEWのツールメニューからMapviewが起動できます。
    リンカオプションの設定以上はダメですが、mapファイルを読み込んで情報表示します。
    かなり以前にリリースされたのですがほとんど進化がありません。
    もっと注目が集まれば、デバイス情報も読み込んで使用状況やサイズ不足などのエラーをグラフィカルに表示するようになるのではと期待してます。