Part Number:CC2642R
在simple_peripheral示例中,Post-build steps中能够进行 hex转化为bin 的指令是什么?
下述指令为2640的配置指令,在2642中无法使用,应该是工具及使用方式发生了变化,麻烦提供一下关于2642的对应指令,谢谢
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
Nick Sun:
您好,
感谢您的提问。在相关SDK升级的过程中一些文件也被修改,相关命名也有所修改。您尝试输入以下指令:
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/tiarmofd" "${CG_TOOL_ROOT}/bin/tiarmhex" "${CCS_INSTALL_ROOT }/utils/tiobj2bin/mkhex4bin"
希望可以帮助到您。
,
snail leo:
按照您提供的指令,的确可以执行成功并生成bin文件。但是从文件的大小来看,bin文件转化可能是有问题的,因为转化后的bin文件比原来的hex文件还要大一些,是不是转化工具使用的问题呢?
,
Nick Sun:
您好,
这是有可能的,这是因为.bin文件中存在空洞并被填充,您可以参考该文章:
https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1183567/tms320f28035-the-size-of-out-file-bin-is-bigger-than-hex?tisearch=e2e-sitesearch&keymatch=bin%25252525252520hex#
大概意思是memory map里面有空洞,所以会去填充它,所以会导致这种情况。具体你可以查看这篇文档:An Introduction to Binary Files 其中的Holes in a Binary File章节。
解决方法的话可能有些第三方软件能将其中填充为0000或者FFFF的部分进行删除,很抱歉的是TI没有提供类似工具。