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

Asa*_*sad 1 c++ memory-management firmware keil

请帮我查一下固件使用的Flash(ROM)和RAM的大小.固件使用C++实现.我也有Keil microvision4; 找到ROM和RAM大小会有帮助吗?

或者我需要查看固件的MAP(.M51)文件来查找内存大小?或者只是告诉hex文件(.hex)文件的大小足以找到ROM的大小?

Thr*_*986 5

一些评论:

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