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

问题描述 投票:1回答:1

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

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

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

c++ memory-management firmware keil
1个回答
5
投票

一些评论:

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