text data bss dec hex filename 8460 1088 2016 11564 2d2c STM32_PD.elf 下面就来说受每个字段的含义以及它们与bin文件大小的关系。 text区是代码区,就是程序编译之后源码的区域,在烧录之后一直位于Flash ROM中 data和bss都是指的全局变量以及函数内static的变量,区别是data是有初始值的而bss没有。data的初始...
dec是text+data+bss的大小,hex就是dec转成16进制的值,并不是ROM占用哦,实际的比这个少。 所以最后bin文件的大小是text+data区域的大小,去看看STM32_PD.bin的大小,发现正好是9.32 KB (9,548 bytes),这些东西是要被写入单片机的ROM的。
跳过对比 汇编代码,我们直接对比汇编代码之后的生成文件,叫object文件,这类文件基本就已经把各个C文件的函数给捆起来了,我们是可以通过linux下的命令行工具size来查看的,类似会有这样的输出: size build/kernel/src/memheap.otext data bss dec hex filename 6730 0 0 6730 1a4a build/kernel/src/memheap.o ...
这条指令会显示*.elf中.text段、.data段和.bss段的大小 text data bss dec hex filena...
text data bss dec hex filename 1183 552 8 1743 6cf hello $ ldd h...
gcc和binutils是开发工具链中常用的工具,用于编译、链接和调试程序。在这个问答内容中,你想要了解如何使用gcc或binutils来查找正在消耗.bss(Block Started by Sym...
text data bss dec hex filename 789 256 4 1049 419 test.o 在这里我们列出了目标文件test.o的文件大小。我们发现文本尺寸(指令和常量)是789字节,data段是 256字节,bss段(初始时自动设置为0)是4字节。如果我们要知道更为详细的内容,我们可以使用
recan@ubuntu:~$ size test_app_*.elf text data bss dec hex filename 19174 2 5572 24748 60ac test_app_19KB.elf 35225 2544 5708 43477 a9d5 test_app_37KB.elf 我们可以看到 37KB的这个elf文件在 text 代码段中,明显比 19KB 这个elf文件大了很多。由于我们的bin文件就是由elf文件转换来的,所以...
text data bss dec hex filename 121252 576 2984 124812 1e78c firmware.elf 1. 2. ROM占用为.text+.data,RAM占用为.data+.bss 导出*.bin命令arm-none-eabi-objcopy arm-none-eabi-objcopy -O binary -S *.elf *.bin 1. -O binary表示导出二进制文件,-S表示去除所有符号和重定位信息,因为这些信息...
text data bss dec hex filename 1565 600 4194336 4196501 400895 test deng@itcast:~/test$ deng@itcast:~/test$ ls -lh test -rwxrwxr-x 1 deng deng 17K 6月 18 22:31 test deng@itcast:~/test$ # 使用strip去掉符号 deng@itcast:~/test$ strip test -o test_strip ...