This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
采用此方式可在CPU编译时生成bin,在CM中应用不好使
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000" "${CG_TOOL_ROOT}/bin/hex2000" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
在CM中应用不好使
cm是一个ARM内核,您需要使用armofd 和 armhex
Be sure to replace ofd2000 and hex2000 with the respective binaries for your device, for example, ofd6x and hex6x (for c6000) or armofd and armhex (for ARM).
关于应用程序占用的memory size,不是看生成的hex/bin文件的大小,而是在.map文件中查看
您可以使用bin查看工具打开bin文件看看,里面后面大部分内容应该都是0xFF,也就是说生成的bin文件是把整个空间填入的内容,后面全0xFF的空间其实并没有用到
若是对bin文件大小敏感的话,建议您提高编译器优化等级试试
现在有一个现象在CLA中如下写编译BIN是68K,是正常的;
for(i=0;i!=2;i=i+4)
{
CTRL_Run_exe(&ctrlcla.Channel[i+0], cla_para.Period,cla_para.Test_flag);
CTRL_Run_exe(&ctrlcla.Channel[i+1], cla_para.Period,cla_para.Test_flag);
CTRL_Run_exe(&ctrlcla.Channel[i+2], cla_para.Period,cla_para.Test_flag);
CTRL_Run_exe(&ctrlcla.Channel[i+3], cla_para.Period,cla_para.Test_flag);
}
如下写BIN就是1000K;
for(i=0;i!=8;i+)
{
CTRL_Run_exe(&ctrlcla.Channel[i+0], cla_para.Period,cla_para.Test_flag);
}
去掉整个CLA,cla文件不编译也是1000K;所以BIN文件到底跟什么有关?
__interrupt void Cla1Task1 ( void )
{
Uint16 i,pl;
pl = ctrlcla.TADC_Select*2;
GpioDataRegs.GPBSET.bit.GPIO33 = 1;
ADBUS_Refresh_cla();
/*9-16通道控制*/
for(i=0;i!=2;i++)
{
CTRL_Run_exe(&ctrlcla.Channel[pl+0], cla_para.Period,cla_para.Test_flag);
CTRL_Run_exe(&ctrlcla.Channel[pl+1], cla_para.Period,cla_para.Test_flag);
CTRL_Run_exe(&ctrlcla.Channel[pl+2], cla_para.Period,cla_para.Test_flag);
CTRL_Run_exe(&ctrlcla.Channel[pl+3], cla_para.Period,cla_para.Test_flag);
}
// if(ctrlcla.TADC_Select==3)ctrlcla.TADC_Select = 0;
// else ctrlcla.TADC_Select++;
GpioDataRegs.GPBCLEAR.bit.GPIO33 = 1;
}
一个大的 bin 文件通常是由它中间的一个大洞引起的。通常非常大的未初始化部分(或多个部分)位于该中间地址范围内。也许是堆栈、堆或类似的东西。
一种解决方案是更改段分配给内存的方式,以便所有已初始化的代码段和数据段彼此相邻。
您可以参考下
https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/729970/faq-explain-the-format-of-a-binary-bin-file