STM32是有GCC支持的(STM32F0系列是arm-none-eabi-gcc),编译之后会显示一些信息,比如 text data bss dec hex filename 8460 1088 2016 11564 2d2c STM32_PD.elf下面就来说受每个字段的含义以及它们与bi…
dec是text+data+bss的大小,hex就是dec转成16进制的值,并不是ROM占用哦,实际的比这个少。 所以最后bin文件的大小是text+data区域的大小,去看看STM32_PD.bin的大小,发现正好是9.32 KB (9,548 bytes),这些东西是要被写入单片机的ROM的。
size build/kernel/src/memheap.otext data bss dec hex filename 6730 0 0 6730 1a4a build/kernel/src/memheap.o 我们需要对比每一个object文件的size,找出有差异的那些object文件。 最后一步,把所有的object文件执行链接(注意:obj的链接顺序也有可能会引起elf文件的变化,后面细讲),才是得到编译输出的固...
text data bss dec hex filename 121252 576 2984 124812 1e78c firmware.elf...
text data bss dec hex filename 1183 552 8 1743 6cf hello $ ldd h...
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 789 256 4 1049 419 test.o 在这里我们列出了目标文件test.o的文件大小。我们发现文本尺寸(指令和常量)是789字节,data段是 256字节,bss段(初始时自动设置为0)是4字节。如果我们要知道更为详细的内容,我们可以使用
text data bss dec hex filename 26684 52 22736 49472 c140 evkmimxrt1060_igpio_led_output.axf 折腾了两个多小时,不断尝试和查找资料,终于完成了,可喜可贺。 如有需要使用这个代码做参考的,可以到我的gitee仓库去获取: https://gitee.com/walker2048/rt1060_play/tree/gn%2Bninja/...
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 ...
text data bss dec hex filename 140 0 0 140 8c avrledtest.out 在AVR上工作你必须特别注意.text+data+bss不超过4K,data+bss+stack(你可以不考虑stack的大小,它取决于有多少嵌套调用)不能超过128字节. 下面这个命令也非常有意思: avr-objdump -S avrledtest.out ...