【TI-CCS笔记】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总

news2024/11/16 13:42:00

【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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/887475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

J‘meter 连接 MySQL 数据库脚本

1、创建线程组 2、创建 JDBC Connection Configuration 3、创建 JDBC Request 4、最终创建的目录 5、重点来了 5.1 在百度中下载个 MySQL-connector-Java-8.0.28.jar,放在 jmeter 的 bin 目录下 5.2 在测试计划中,将 jar 包添加到脚本中 5.3 输入参…

如何查看mysql中各个表的数据大小

1.SHOW VARIABLES LIKE datadir; 这会显示 MySQL 数据目录的路径。在这个路径下,你可以找到每个数据库的文件夹,每个数据库文件夹中会包含各个表的 .ibd 文件。 2.进入对应的目录 3.进入对应的db,例如我自己的db为test 4.如果我们想以M为单…

在Gazebo中添加悬浮模型后,利用键盘控制其移动方法

前段时间写了文章,通过修改sdf、urdf模型的方法,在Gazebo中添加悬浮模型方法 / Gazebo中模型如何不因重力下落:在Gazebo中添加悬浮模型方法 / Gazebo中模型如何不因重力下落:修改sdf、urdf模型_sagima_sdu的博客-CSDN博客 今天讲…

2401. 最长优雅子数组;1111. 有效括号的嵌套深度;2134. 最少交换次数来组合所有的 1 II

2401. 最长优雅子数组 核心思想:滑动窗口。如何知道当前值与以前的值是否and为0很重要,这是这道题目的关键,and操作会把1变成0,但是不会把0变成1,所以当前值x要和前面的值两两and为0意味着,你要使前面的值…

Vim的插件管理器之Vundle

1、安装Vundle插件管理器 Vim可以安装插件,但是需要手动安装比较麻烦,Vim本身没有提供插件管理器,所以会有很多的第三方的插件管理器,有一个vim的插件叫做 “vim-easymotion”,在它的github的安装说明里有列出对于不同…

比ChatGPT更强的星火大模型V2版本发布!

初体验 测试PPT生成 结果: 达到了我的预期,只需要微调就可以直接交付,这点比ChatGPT要强很多. 测试文档问答 结果: 这点很新颖,现在类似这种文档问答的AI平台收费都贵的离谱,星火不但免费支持而且效果也…

vue项目报错:node:internal/modules/cjs/loader:1080

运行项目报错: 原因: 看划线的地方,中文乱码导致找不见模块了 解决方案 将路径上的中文改为英文即可,项目命名最好只有英文、下划线(_)、数字、横杠(-)等英文符号组成

MATLAB图形窗口固定

起因是上次作图的时候写了: clc clear close all 这三个典型的刷新语句 清空工作区、命令行并且关闭图窗 就导致每次我把图窗拉到合适的位置观察,再一次点击运行都会重新刷新在出生点(x) 所以想把图窗固定在某个位置 显然更…

解决爬虫上下行传输效率问题的实用指南

嗨,大家好!作为一名专业的爬虫程序员,我们经常会面临上下行传输效率低下的问题。在处理大量数据时,如果传输效率不高,可能会导致爬虫任务速度慢,甚至中断。今天,我将和大家分享一些解决爬虫上下…

深度优先搜索(DFS、深搜)和广度优先搜索(BFS、广搜)

目录 深度优先搜索(DFS、深搜)和广度优先搜索(BFS、广搜) 深度优先搜索(简称“深搜”或DFS) 广度优先搜索 总结 深度优先生成树和广度优先生成树 非连通图的生成森林 深度优先生成森林 广度优先生成…

Python系统学习1-9-类(一)

一、类之初印象 1、类就是空表格,将变量(列名)和函数(行为)结合起来 2、创建对象,表达具体行 3、创建类就是创建数据的模板 --操作数据时有提示 --还能再组合数据的行为 --结构更加清晰 4、类的内存分配…

人工智能原理(5)

目录 一、不确定性推理 1、不确定性推理含义 2、知识不确定性的来源 3、不确定推理要解决的基本问题 4、不确定性推理方法分类 二、主观贝叶斯方法 1、主观贝叶斯方法 2、知识不确定性的表示 3、证据 4、不确定性的更新 三、可信度方法 1、可信度模型 2、性质 3、…

RK3588平台开发系列讲解(AI 篇)RKNN C API 详细说明

文章目录 一、API 硬件平台支持说明二、API 函数介绍2.1、rknn_init2.2、rknn_destroy2.3、rknn_query2.4、rknn_inputs_set2.5、rknn_run2.6、rknn_outputs_get2.7、rknn_outputs_release沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解 RKNN C API 详细…

DAY3,ARM(LED点灯实验)

1.汇编实现开发板三盏灯点亮熄灭&#xff1b; .text .global _start _start: /**********LED123点灯**************/RCC_INIT:1使能PE10 PF10 PE8RCC..寄存器,E[4]1 F[5]1 0x50000a28ldr r0,0x50000a28ldr r1,[r0]orr r1,r1,#(0x3 << 4)str r1,[r0]LED1_INET:2初始化LED…

保险龙头科技进化论:太保的六年

如果从2013年中国首家互联网保险公司——众安在线的成立算起&#xff0c;保险科技在我国的发展已走进第十个年头。十年以来&#xff0c;在政策指引、技术发展和金融机构数字化转型的大背景下&#xff0c;科技赋能保险业高质量发展转型已成为行业共识。 大数据、云计算、人工智…

通用Makefile的使用及解析

文章目录 前言一、源码使用1、工程预览2、使用通用 Makefile 方法 二、源码编译1、编译2、EXTRA_CFLAGS 和 CFLAGS_xxx.o 三、通用 Makefile 的解析1、Makefile.build 文件2、通用 Makefile 的设计思想&#xff1a;3、情景演绎 四、资源自取 前言 欣赏一下韦东山老师写的通用 …

爬虫逆向实战(六)--猿人学第四题

一、数据接口分析 主页地址&#xff1a;猿人学第四题 1、抓包 通过抓包可以发现数据接口是api/match/4 2、判断是否有加密参数 请求参数是否加密&#xff1f; 无请求头是否加密&#xff1f; 无响应是否加密&#xff1f; 响应数据无加密&#xff0c;但是返回的却是html代码…

【iMessage苹果推?IM推送】群控脚本当Apple APNS推送服务器从您的应用程序接吸收注册消息时,它将为您回到一串devicetoken

推荐内容IMESSGAE相关 作者✈️IMEAE推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者✈️IMEAE推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者✈️IMEAE推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者✈️IMEAE推荐内容3.日历推 *** …

Azure创建自定义VM镜像

创建一个虚拟机&#xff0c;参考 https://blog.csdn.net/m0_48468018/article/details/132267096&#xff0c;入站端口开启80&#xff0c;22 进行远程远程连接 使用CLI命令部署NGINX,输入如下命令 sudo su apt-get update -y apt-get install nginx git -y最后的效果 4. 关闭…

AD域控制器将辅域控制器角色提升为主域控制器

背景 域控服务器迁移&#xff0c;已将新机器添加为该域的辅域控制器。 主域控制器&#xff1a;test-dc-01 辅域控制器&#xff1a;test-dc-02 需求将主辅域的角色进行互换&#xff0c;test-dc-01更换为辅域&#xff0c;test-dc-02更换为主域。 操作步骤 方法1 命令行修改AD域…