HighTec_TC4 编译器移植 Aurix ADS

ADS 是英飞凌推出的针对 AURIX 芯片的开发平台,该开发环境基于业内流行的 Eclipse 打造而成。

HighTec 作为英飞凌的全球重要合作伙伴和 PDH,作为专业的编译器供应商和嵌入式产品方案提供商,HighTec 早已经为英飞凌最新一代 AURIX TC4XX 芯片开发了支持全部模块的编译器平台,可以全面支持Tricore TC1.8 核,最新 4.1 GTM/MCS 核,和 TC3XX 同源的 SCR 核及用于信息安全的 HSM 核,同时还可以全面支持新增加的 PPU 核。

并可以根据客户需求,提供用于 PPU 计算处理的矢量 DSP 核线性加速运算库,以及 MATLAB plugin 等产品,帮助客户快速利用PPU进行产品的开发。HighTec 也可以支持英飞凌的 ADS 中直接调用 HighTec 编译器。下面介绍如何在 ADS 中直接调用 HighTec 的 TC4xx 编译器。

ADS 的下载和安装可以参考英飞凌官方的文档,这里给出软件的下载网址:
AURIX™ Development Studio - Infineon Technologies

另外,目前只能从AURIX Development Studio limited 版本才能构建和编译TC4xx的demo。下载地址为:
https://download.hightec-rt.com/downloads/share/hightec_cn/aurixidelimited_1.9.6-L_Windows_x64.exe


导入英飞凌工程
 

导入英飞凌 ADS 中存在的工程,具体路径为:File→Import→Infineon→AURIX Development StudioProject

 

         然后点击 Next,在出现的界面选择选择 Infineon TC4xx Code Examples Repository 并选择 TC4xx 的例子(示例中选择的是"blinky" example for STD Kit TC499)。


更新 iLLD


导入工程后需要将工程库更新到最新版本,右键工程,选择 Project updater->Update iLLD

       在出现的界面中点击 finish 完成更新。



构建配置
     
      右键工程,通过 Build Configurations->Manage 配置 HighTec 的 TC4XX 编译器。

      打开界面如下:

选择 New 创建新的编译选项,输入名字然后在 Import predefined 栏选择 TriCoreApplication→External GCC→Debug 。



激活编译器配置

上一步完成之后,需要将工程的编译器改为新创建的。右键工程,选择Build Configuration->SetActive->HighTec(上一步创建时设置的名字)。

链接脚本

TC4XX 例子需要使用 HighTec 适配过的链接脚本。目前 HighTec 已经完成了相关的适配,可以通过附件获取。然后放入下图位置即可。



排除非必需文件夹

ArcEV 和 CpuGeneric 文件夹必须排除在工程之外。右键要排除的文件夹,选择 ResourceConfigurations→Exclude from build→HighTec (新创建的配置的名称)。


工程选项设置

右键工程,选择 Properties->C/C++ Build->Settings。



前缀和路径配置

HighTec 的 LLVM 工具链的前缀为空,路径选择编译器的安装路径。



编译选项配置

编译选项设置优化为 O0 和优化为 O2 的情况,两种优化在 Command 设置时有区别。

        优化为 O0 时

Command 配置为:clang -march=tc18 -merrata=cpu141 -fomit-frame-pointer

优化为 O2 时

        Command 配置为:clang -march=tc18 -merrata=cpu141

其他的配置为:

        AURIX Settings 中的-fstrict-volatile-bitfields 选项取消。



链接选项配置

链接选项配置如下:

        Command 配置为:clang -march=tc18
        从 Command line pattern 中删除-nocrt0
        General->Linker Script 选择为新的 HighTec 链接脚本


copy 指令配置

Command 更新为 llvm-objcopy 。



list 指令配置

Command 更新为 llvm-objdump 。



size 输出配置

Command 更新为 llvm-size 。



编译

上述所有配置完成后,右键工程,Build Project 即可成功编译

★登录大大通,了解更多详情,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑!
 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows 多网卡情况dns解析超时问题的排查

最近遇到一个问题 多网卡,多网络环境下,dns解析总是超时。 排查之后发现是dns配置的问题,一个有线网络配置的内网dns,一个无线网络配置的公网dns 访问公网时莫名的时不时出现超时现象 初步排查是dns解析的耗时太长,…

AI助手 - 月之暗面 Kimi.ai

前言 这是 AI工具专栏 下的第四篇,这一篇所介绍的AI,也许是截至今天(204-03-19)国内可访问的实用性最强的一款。 今年年初,一直看到有人推荐 Kimi,不过面对雨后春笋般的各类品质的AI,说实话也有…

添加与搜索单词 - 数据结构设计

题目链接 添加与搜索单词 - 数据结构设计 题目描述 注意点 addWord 中的 word 由小写英文字母组成search 中的 word 由 ‘.’ 或小写英文字母组成1 < word.length < 25 解答思路 为了加快查询速度&#xff0c;可以使用字典树存储单词&#xff0c;基本结构是&#xf…

STM32通信协议

STM32通信协议 STM32通信协议 STM32通信协议一、通信相关概念二、通信协议引脚作用三、通信方式四、采样方式五、电平信号六、通信对象 一、通信相关概念 通信接口 通信的目的&#xff1a;将一个设备的数据传送到另一个设备&#xff0c;扩展硬件系统 通信协议&#xff1a;制定…

基于Spring Boot+Vue的智慧图书管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 一、项目简介 如今社会上各行各业&…

Linux课程_____网络管理

一、查看接口信息 1. ifconfig 查看所有活动网络接口的信息 ifconfig -a 查看所有网络接口信息 ifconfig 直接加网络接口 查看指定网络接口信息 1.1查看指定接口IP [rootlocalhost ~]# ip addr show ens160 1.2设置网络接口的IP地址 # ifconfig eth0 192.168.152.133 …

服务器硬件基础知识和云服务器的选购技巧

概述 服务器硬件基础知识涵盖了构成服务器的关键硬件组件和技术&#xff0c;这些组件和技术对于服务器的性能、稳定性和可用性起着至关重要的作用。其中包括中央处理器&#xff08;CPU&#xff09;作为服务器的计算引擎&#xff0c;内存&#xff08;RAM&#xff09;用于数据临…

图片不想要的部分怎么去除?

图片不想要的部分怎么去除&#xff1f;随着数字摄影技术的发展&#xff0c;我们拍摄的照片数量越来越多。然而&#xff0c;有时候我们会发现在一张照片中有一些不想要的元素或者杂乱的背景。那么如何去除图片中的这些不想要的部分呢&#xff1f;首先&#xff0c;我们可以使用图…

BetterDisplay Pro for Mac(显示器校准软件) v2.0.11激活版

BetterDisplay Pro是一款由waydabber开发的Mac平台上的显示器校准软件&#xff0c;可以帮助用户调整显示器的颜色和亮度&#xff0c;以获得更加真实、清晰和舒适的视觉体验。 软件下载&#xff1a;BetterDisplay Pro for Mac v2.0.11激活版 以下是BetterDisplay Pro的主要特点&…

Python内置对象

Python是一种强大的、动态类型的高级编程语言&#xff0c;其内置对象是构成程序的基础元素。Python的内置对象包括数字、字符串、列表、元组、字典、集合、布尔值和None等&#xff0c;每种对象都有特定的类型和用途。 01 什么是内置对象 这些对象是编程语言的基础构建块&…

Covalent Network借助大规模的历史Web3数据集,推动人工智能发展

人工智能在众多领域中增强了区块链的实用性&#xff0c;反之亦然&#xff0c;区块链确保了 AI 模型所使用的数据的来源和质量。人工智能带来的生产力提升&#xff0c;将与区块链系统固有的安全性和透明度融合。 Covalent Network&#xff08;CQT&#xff09;正位于这两项互补技…

Django单表数据库操作

单表操作 测试脚本 当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可 单表删除 数据库操作方法: 1.all():查询所有的数据 2.filter():带有过滤条件的查询 3.get():直接拿数据对象,不存在则报错 4.first():拿queryset里面的第一个元素…

Python分析无人驾驶汽车在桂林市文旅行业推广的问卷

【项目背景】 通过市场调研、文本分析、访谈和问卷调查等方法&#xff0c;探讨&#xff1a; 网民对无人驾驶汽车出行服务的态度。无人驾驶安全员的行业背景。不同人群在旅游时的交通选择偏好。游客及当地居民对桂林市文旅路线的交通满意度。乘客对无人驾驶汽车的满意度。桂林…

Android Studio实现内容丰富的安卓民宿酒店预订平台

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看民宿 3.民宿预订 4.民宿预订支付&#xff0c; 5.支付订单 6.评论管…

LabVIEW NV色心频率扫描

LabVIEW NV色心频率扫描 通过LabVIEW软件开发一个能够实现对金刚石氮空位&#xff08;Nitrogen-Vacancy&#xff0c;NV&#xff09;色心的频率扫描系统。系统通过USB协议与硬件设备通信&#xff0c;对NV色心进行高精度的频率扫描&#xff0c;满足了频率在2.6 GHz到3.2 GHz范围…

使用Redis做缓存的小案例

如果不了解Redis&#xff0c;可以查看本人博客&#xff1a;Redis入门 Redis基于内存&#xff0c;因此查询速度快&#xff0c;常常可以用来作为缓存使用&#xff0c;缓存就是我们在内存中开辟一段区域来存储我们查询比较频繁的数据&#xff0c;这样&#xff0c;我们在下一次查询…

fs方法举例

fs.readFile() 读取文件 const fs require(node:fs) const path require(node:path) const s path.resolve(__dirname, ./hello.txt) const buf fs.readFileSync(s) console.log(buf.toString())输出的Buffer对象 用toString()方法转字符串之后 fs.appendFile() 创建新…

反射 Reflection

反射 反射的概念 反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息(比如成员变量&#xff0c;构造器&#xff0c;成员方法等等)&#xff0c;并能操作对象的属性及方法。反射在设计模式和框架底层都会用到加载完类之后&#xff0c;在堆中就产生了一个Class类型…

自定义类型:联合和枚举

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;魔法指针&#xff0c;进阶C&#xff0c;C语言&#xff0c;C语言题集&#xff0c;C语言实现游戏&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文(平均质量分78.8)&#xff0c;分…

1.IP复习课作业

1.IP复习课作业 1.为路由器各接口配置IP以及环回 R1 R2 R3 R4 R5 R6 2.配置dhcp为主机下发IP PC1 PC2 3.配置静态路由 R1 R2 R3 R4 R5 PC端通信 4.防止成环 R1 R2、4、5一样 5.修改优先级 R1 R2、3、4、5同样进行修改 6.均可访问R6环回 R5配置easy IP R1 ping R6环回 PC ping R…