如何查找固件使用的Flash和RAM的大小?

时间:2010-12-27 03:09:42

标签: c++ memory-management firmware keil

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

或者我是否需要查看固件的MAP(.M51)文件才能找到内存大小?

或者只是告诉hex文件(.hex)文件的大小是否足以找到ROM的大小?

1 个答案:

答案 0 :(得分:5)

一些评论:

  1. hex文件的大小不提供大量信息。例如:它不会提供任何RAM使用。它可能甚至没有告诉你图像的大小,因为它驻留在设备上(你写的是NOR和NAND闪存?什么是闪存块大小等)。
  2. 地图文件是了解内存布局和大小的好工具。它应该提供所有段分配信息。 Keil项目经理非常好,所以请检查您的构建选项,以确保生成详细的地图文件。
  3. 查看您的链接器指令文件,以确保您了解这些段(bss,数据等)如何在内存中分配和布局。
  4. 请注意,映射文件不包含与动态(堆)内存分配有关的大量信息。