您好。
我使用命令
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ARMofd" "${CG_TOOL_ROOT}/bin/ARMhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
将 .out 文件转化为 .bin文件。 其中生成 .out文件 3M左右,生成.bin文件 12M . bin文件里头有很多至少有 11M是 0 ,怀疑生成.bin文件将 bss段写入了。
如何减小.bin文件大小?
芯片是 am335x, compiler version TI v5.02 . output format eabi(ELF).
CCS版本为 5.3.0
Yaoming Qin:
你查查,是不是有很大的静态的全局变量数组什么的
longdm long:
回复 Yaoming Qin:
您好!
我们的程序里是有很多较大的全局全量。但是 一般这些变量会放到 .bss段时里吧?
在一般的编译器里.bss段也不会写入.bin文件里头。
我们的程序里从RVDS里移植过来的。 RVDS生成的.bin文件只有500多K.
TI 的工具将 .bss段写入了.bin文件?
longdm long:
回复 Y tck:
没错将 在CMD .bss : type = NOLOAD就可以了。
startware2.0.00.01.01有些例子就是这样的设置的。
以前的版本都没有。
估计TI自己也发现这个问题了,所以才修改的。