有多少 .elf 文件被闪存到目标 MCU 上?

How much of an .elf file gets flashed onto target MCU?

我正在使用 Cortex-M4 MCU,并使用 Jlink 对其进行闪存。

对于这个项目,我的 .bin 文件大约 18k,我的 .elf 文件大约 1.8M。我知道整个 .elf 并没有被闪现到 MCU 上,但有多少是这样的?闪现的只是 .bin 的大小,还是还有一些额外的调试信息?

有没有一种方法可以确定实际闪存到 MCU 上的数据量?

.bin 的大小可能是闪存到 MCU 上的内容的大小。 (我说 "probably" 是因为 .bin 文件可能会填充一些空的 space,具体取决于它的创建方式。)

研究链接器生成的.map 文件。 .map 文件描述了内存中所有内容的地址和大小。 .text 和 .rodata 部分通常在闪存中。 .data 和 .bss 部分通常位于 RAM 中。如果您知道内存的地址范围,那么将很容易识别哪些部分在哪些内存中以及每个内存中使用的范围。