提示:本文档提出方法仅供参考。
前言
本文介绍了如何通过配置来合理利用CCS自带工具生成.bin文件和.hex文件,希望对您有所帮助。
一、方法详述
1..out/.hex/.bin的区别
.out文件带了调试信息,主要是下载调试用。.hex文件和.bin文件都可以用于生产下载,但是.hex文件又带了地址信息,crc校验等额外信息,所以.out和.hex都会比.bin文件大很多。因此最理想的生产下载文件其实还是.bin文件。
2.针对DSP2xxx相关配置
2.1 生成.hex文件
a) hex文件的生成比较简单,在CCS中右键单击工程名,选择最后一项Propoties,进入工程属性;
b) 在属性中找到 Build -> C2000 Hex Utility,勾选右边的 Enable C2000 Hex Utility即可。
c) 上图点击确认后返回项目,重新编译,等待以下编译信息出现。
<Linking>
'Finished building target: FLASH.out'
' '
'Invoking: C2000 Hex Utility'
"C:/ti/ccsv6/tools/compiler/c2000_15.12.3.LTS/bin/hex2000" -o "FLASH.hex" "FLASH.out"
Translating to Extended Tektronix format...
"FLASH.out" .text ==> .text
"FLASH.out" .cinit ==> .cinit
"FLASH.out" .econst ==> .econst
"FLASH.out" copysections ==> copysections
"FLASH.out" ramfuncs ==> ramfuncs
"FLASH.out" wddisable ==> wddisable
"FLASH.out" .adc_cal ==> .adc_cal
"FLASH.out" codestart ==> codestart
'Finished building: FLASH.hex'
' '
**** Build Finished ****
d) 返回项目Release目录,可以看到生成好的.hex文件。
2.2 生成.bin文件
说明:bin文件的生成其实也很简单,是利用CCS的post-build命令实现的。在CCS安装时已经自动安装了一个工具叫做mkhex4bin,位于C:/ti/ccsv6/utils/tiobj2bin文件夹下(根据CCS安装路径可能有所不同)。这个工具可以把.out文件转化成.bin文件,我们要做的是在CCS post-build设置中通过命令调用这个工具,具体操作按照以下步骤。
a) 在工程属性(Propoties)中找到 Build -> Steps,在其中的Post-build steps一栏中输入以下命令。
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000" "${CG_TOOL_ROOT}/bin/hex2000" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
b) 上图点击确认后返回项目,重新编译,等待以下编译信息出现。
<Linking>
'Finished building target: FLASH.out'
' '
"C:/ti/ccsv6/utils/tiobj2bin/tiobj2bin" "FLASH.out" "FLASH.bin" "C:/ti/ccsv6/tools/compiler/c2000_15.12.3.LTS/bin/ofd2000" "C:/ti/ccsv6/tools/compiler/c2000_15.12.3.LTS/bin/hex2000" "C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin"
' '
**** Build Finished ****
c) 返回项目Release目录,可以看到生成好的.bin文件。
3.针对DSP6xxx系列相关配置
3.1 生成.bin文件
说明:bin文件的生成其实也很简单,是利用CCS的post-build命令实现的。在CCS安装时已经自动安装了一个工具叫做mkhex4bin,位于C:/ti/ccsv6/utils/tiobj2bin文件夹下(根据CCS安装路径可能有所不同)。这个工具可以把.out文件转化成.bin文件,我们要做的是在CCS post-build设置中通过命令调用这个工具,具体操作按照以下步骤。
a) 在工程属性(Propoties)中找到 Build -> Steps,在其中的Post-build steps一栏中输入以下命令。
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd6x" "${CG_TOOL_ROOT}/bin/hex6x" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
b) 上图点击确认后返回项目,重新编译,等待以下编译信息出现。
<Linking>
'Finished building target: UART.out'
' '
"C:/ti/ccsv6/utils/tiobj2bin/tiobj2bin" "UART.out" "UART.bin" "C:/ti/ccsv6/tools/compiler/c6000_7.4.18/bin/ofd6x" "C:/ti/ccsv6/tools/compiler/c6000_7.4.18/bin/hex6x" "C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin"
' '
**** Build Finished ****
c) 返回项目Debug目录,可以看到生成好的.bin文件。
二、易错点说明
在转换.bin文件时一定要看看写到Post-build steps中的语句是有差异性的,如:
DSP2xxx系列:
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000" "${CG_TOOL_ROOT}/bin/hex2000" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
DSP6xxx系列:
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd6x" "${CG_TOOL_ROOT}/bin/hex6x" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
根据实际情况还可能出现以下配置:
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/tiarmofd" "${CG_TOOL_ROOT}/bin/tiarmhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
或
"${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"
应该根据需要找到*ofd*.exe和*hex*.exe文件,并正确引用其名称才不会出错,否则会出现诸如以下示例的提示:
<Linking>
'Finished building target: UART.out'
' '
"C:/ti/ccsv6/utils/tiobj2bin/tiobj2bin" "UART.out" "UART.bin" "C:/ti/ccsv6/tools/compiler/c6000_7.4.18/bin/armofd" "C:/ti/ccsv6/tools/compiler/c6000_7.4.18/bin/armhex" "C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin"
tiobj2bin.bat failed on C:/ti/ccsv6/tools/compiler/c6000_7.4.18/bin/armofd
Please see http://processors.wiki.ti.com/index.php/Tiobj2bin_Failed
tiobj2bin.bat failed on C:/ti/ccsv6/tools/compiler/c6000_7.4.18/bin/armhex
Please see http://processors.wiki.ti.com/index.php/Tiobj2bin_Failed
C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin failure occurred. Giving up.
' '
'C:\ti\ccsv6\tools\compiler\c6000_7.4.18\bin\ofd470' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
File does not exist: at XML_TI_OFD.pm line 877.
**** Build Finished ****
总结
以上就是今天要讲的内容,本文介绍了如何通过配置来合理利用CCS自带工具生成.bin文件和.hex文件,希望对您有所帮助,资料整理不容易,还请留下小爱心。