1

如何找到固件使用的闪存 (ROM) 和 RAM 的大小?固件使用 C++ 实现。我还有 Keil microvision4;查找 ROM 和 RAM 大小会有帮助吗?

还是我需要查看固件的 MAP(.M51) 文件来查找内存大小?

还是仅仅告诉 hex 文件(.hex)文件的大小就足以定位 ROM 的大小?

4

1 回答 1

5

几点评论:

  1. 十六进制文件的大小并不能提供大量信息。例如:它不会提供任何 RAM 使用。它甚至可能不会告诉您图像驻留在设备上的大小(您是在写入 NOR 和 NAND 闪存吗?闪存块大小是多少等)
  2. 映射文件是了解内存布局和大小的好工具。它应该提供所有的段分配信息。Keil 项目管理器非常好,因此请检查您的构建选项以确保您正在生成详细的映​​射文件。
  3. 查看您的链接器指令文件,以确保您了解这些段(bss、数据等)是如何在内存中分配和布局的。
  4. 请注意,映射文件不会包含很多与动态(堆)内存分配相关的信息。
于 2010-12-27T03:49:16.523 回答