【TI-CCS笔记】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总
TI编译器分类
在CCS按照目录下 有个名为${CG_TOOL_ROOT}的目录
其下就是当前工程的编译器
存放目录为:
C:\ti\ccs1240\ccs\tools\compiler
按类型分为五种:
ti-cgt-arm_20.2.7.LTS
ti-cgt-armllvm_2.1.3.LTS
ti-cgt-c2000_22.6.0.LTS
ti-cgt-c6000_8.3.12
ti-cgt-msp430_21.6.1.LTS
其中 后缀表示编译器版本号
每个编译器的目录下都有一个bin目录 用于存放各种编译器的可执行文件
另外 在CCS安装目录下还有一个utils目录 其下有一个tiobj2bin
存放的是转为bin文件的脚本和可执行文件
必须同时调用编译器和tiobj2bin文件才可以进行文件转换
工程配置
在工程属性 build-steps下有个post-build 这里就需要写入脚本(中间每个参数以空格隔开 不能换行)
以TI的毫米波雷达的MSS部分为例(一般为ARM Cortex-R4F架构)
如IWR6843AOP:
其编译器采用ti-cgt-arm_20.2.7.LTS
且编译时 采用的是 armofd armhex 两个可执行文件
注意 第二个参数和第三个参数根据工程实际情况来更改
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${PROJECT_LOC}/Debug/IWR6843AOP_Demo.out" "${PROJECT_LOC}/Debug/IWR6843AOP_Demo.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
其中 我的工程名为:IWR6843AOP_Demo
生成的out、bin文件名也为:IWR6843AOP_Demo
首先 需要调用"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin"
脚本
传入的参数文件就是生成的out文件"${PROJECT_LOC}/Debug/IWR6843AOP_Demo.out"
另外指定生成bin文件的目录"${PROJECT_LOC}/Debug/IWR6843AOP_Demo.bin"
以及两个编译器的链接和mkhex4bin脚本"${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
最后编译之后 就能在Debug目录下找到bin文件
当然 还有个前提就是工程建立和环境配置完成 且能够生成.out文件
同样在pre-build中可以填入一些参数 用于预编译(如编译前修改或删除一些文件)
如:
rm -f "${PROJECT_ROOT}/Debug/IWR6843AOP_Demo.bin"
DSS部分代码则为(C6000架构)
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${PROJECT_LOC}/Debug/IWR6843AOP_DSS.out" "${PROJECT_LOC}/Debug/IWR6843AOP_DSS.bin" "${CG_TOOL_ROOT}/bin/ofd6x" "${CG_TOOL_ROOT}/bin/hex6x" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
其用到的编译器为ofd6x和hex6x
Post-build配置
ARM架构
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "out文件路径" "bin文件路径" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
C6000架构
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "out文件路径" "bin文件路径" "${CG_TOOL_ROOT}/bin/ofd6x" "${CG_TOOL_ROOT}/bin/hex6x" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"