如何找到固件使用的Flash(ROM)和RAM的大小?使用C ++实现固件。我也有keil microvision4;找到ROM和RAM尺寸会有所帮助吗?

还是我需要查看固件的地图(.M51)文件以找到内存大小?

还是只是告诉十六进制文件(.hex)文件的大小足以找到ROM的大小?

有帮助吗?

解决方案

一些评论:

  1. 十六进制文件的大小没有提供大量信息。例如:它不会提供任何RAM用法。它甚至可能不会告诉您图像所在的图像的大小(您是在写入nor和nand flash吗?
  2. 地图文件是理解内存布局和大小的好工具。它应提供所有细分分配信息。 KEIL项目管理器非常好,因此请检查您的构建选项,以确保您正在生成详细的地图文件。
  3. 查看您的Linker指令文件,以确保您了解如何分配这些段(BS,数据等)并将其放置在内存中。
  4. 请注意,地图文件不会包含与动态(堆)内存分配有关的太多信息。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top