【TI-CCS笔记】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总
TI编译器分类在CCS按照目录下 有个名为${CG_TOOL_ROOT}的目录 其下就是当前工程的编译器 存放目录为:
C:\ti\ccs1240\ccs\tools\compiler按类型分为五种:
ti-cgt-arm_20.2.7.LTSti-cgt-armllvm_2.1.3.LTSti-cgt-c2000_22.6.0.LTSti-cgt-c6000_8.3.12ti-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"