首先,我不是嵌入式工程师,但我在C开发了几年。 我的问题:当我从我的笔记本电脑上的一个嵌入式软件(基于contiki)编译源代码时,我得到的文件大小(222Kb 236Kb)比我们提供的分包商(我无法联系)。我不知道为什么会有这种差异。 我想学习曲目。 - 我有很好的图书馆 - 我使用相同的ARM EABI编译器 - 我使用相同的makefile 我安装了与我们的转包商相同的编译器ARM EABI,所以我认为(可能是错误的)我的输出已经准备好嵌入。我错了吗?
想法?
答案 0 :(得分:1)
这可以归结为许多事情,例如:
答案 1 :(得分:0)
对于每个编译器\链接器,您始终可以通过以下部分找到地图:
text data bss dec hex filename
0x1408 0x18 0x81c 7228 1c3c size.elf
逐一比较这些部分以适应建筑环境,以缩小调查范围。
答案 2 :(得分:0)
也许你应该让你的分包商提供地图文件,并将地图文件与你身边的文件进行比较。
如果您使用的是GCC,请将-Wl,-Map=the_map.map
添加到LFLAGS。
P.S。更重要的是,请确保您具有相同的配置。例如,如果您的分包商执行了#34;发布"构建,你应该与你自己的"发布"也是如此。