1

ファームウェアで使用されているフラッシュ(ROM)とRAMのサイズを確認するにはどうすればよいですか?ファームウェアはC++を使用して実装されています。また、Keilmicrovision4もあります。ROMとRAMのサイズを見つけるのに役立ちますか?

または、ファームウェアのMAP(.M51)ファイルを調べてメモリサイズを見つける必要がありますか?

または、16進ファイル(.hex)ファイルのサイズを伝えるだけでROMのサイズを見つけることができますか?

4

1 に答える 1

5

いくつかのコメント:

  1. 16進ファイルのサイズは、多くの情報を提供しません。例:RAM使用量は提供されません。デバイス上にある画像のサイズがわからない場合もあります(NORおよびNANDフラッシュに書き込んでいますか?フラッシュブロックのサイズなどは何ですか)。
  2. マップファイルは、メモリのレイアウトとサイズを理解するための優れたツールです。すべてのセグメント割り当て情報を提供する必要があります。Keilプロジェクトマネージャーは非常に優れているため、ビルドオプションをチェックして、詳細なマップファイルを生成していることを確認してください。
  3. リンカディレクティブファイルを調べて、これらのセグメント(bss、データなど)がどのように割り当てられ、メモリに配置されているかを理解してください。
  4. マップファイルには、動的(ヒープ)メモリ割り当てに関連する多くの情報が含まれていないことに注意してください。
于 2010-12-27T03:49:16.523 に答える