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在线答疑解惑!
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode每日一题 翻转二叉树(二叉树)

题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3] 输出:[2,3,1]示…

Vmware安装Kali

镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/kali-images/kali-2023.3/kali-linux-2023.3-installer-amd64.iso 新建虚拟机: 新建虚拟机--典型--稍后安装操作系统--Linux--Debian 10.X 64 位(因为kali是基于debian开发的&#xff0…

软件推动开放自动化落地

当你唯一拥有的是一把锤子时,你周围的一切都是钉子。 软件是硬件设备的护城河,国际自动化厂商不遗余力地开发各种新型工业软件,其战略站在应用的制高点。以前我们追求硬件兼容,现在我们要致力于应用引领。如果我们拥有强大的SCADA…

基于python高校选课系统设计与实现flask-django-nodejs-php

随着互联网技术的不断发展,高校选课系统的建设和应用已成为当前高校教育改革的重要方向。选课系统作为高校教务管理的重要组成部分,对于提高教学质量、提高学生的学习效率、优化教学资源配置具有重要的意义。本论文旨在探讨高校选课系统的设计与实现。随…

跨越文化鸿沟:AI在全球化语境中的挑战与机遇

在全球化的今天,人工智能(AI)技术已经渗透到我们生活的方方面面,尤其是在语言翻译和文化交流方面发挥着重要作用。AI翻译工具和服务使得不同语言背景的人们能够跨越语言障碍,进行有效沟通。然而,随着AI应用…

零基础机器学习(3)之机器学习的一般过程

文章目录 一、机器学习一般过程1.数据获取2.特征提取3.数据预处理①去除唯一属性②缺失值处理A. 均值插补法B. 同类均值插补法 ③重复值处理④异常值⑤数据定量化 4.数据标准化①min-max标准化(归一化)②z-score标准化(规范化) 5.…

基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 网络架构与特征提取 4.2 输出表示 4.3损失函数设计 4.4预测阶段 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 load yolov2.mat% 加载…

让Chrome支持小于12px 的文字方式有哪些?区别?

文章目录 一、背景二、解决方案Zoom-webkit-transform:scale()-webkit-text-size-adjust:none 三、总结参考文献 一、背景 Chrome 中文版浏览器会默认设定页面的最小字号是12px,英文版没有限制 原由 Chrome 团队认为汉字小于12px就会增加识别难度 中文版浏览器 …

Cesium:按行列绘制3DTiles的等分线

作者:CSDN @ _乐多_ 本文将介绍如何使用 Cesium 引擎根据模型的中心坐标,半轴信息,绘制 3DTiles 对象的外包盒等分线。 外包盒是一个定向包围盒(Oriented Bounding Box),它由一个中心点(center)和一个包含半轴(halfAxes)组成。半轴由一个3x3的矩阵表示,这个矩阵是…

23.python标准库之turtle库

一、窗体函数 turtle.setup(width, height, startx, starty) width:窗口宽度 height:窗口高度 startx:窗口与屏幕左侧距离(单位象素) starty:窗口与屏幕顶部距离(单位象素) 二、画笔状态函数 三、画笔运动函数

【图解物联网】第2章 物联网的架构

2.1 物联网的整体结构 实现物联网时,物联网服务大体上发挥着两个作用。 第一是把从设备收到的数据保存到数据库,并对采集的数据进行分析。 第二是向设备发送指令和信息。 本章将会为大家介绍如何构建物联网服务,以…

MATLAB绘图

现学现用,用时再学。 plot函数:有两个向量被指定为参数,plot(x,y) 会生成 y 对 x 的图形 添加轴标签和标题: 通过调用一次 plot,多个 x-y 对组参数会创建多幅图形: 在每十个数据点处放置标记: 一个窗口绘制多个图形; 可在弹窗的插入选项上添加…

18个惊艳的可视化大屏(第28辑):房产楼盘领域

在房产楼盘领域,可视化的大屏可以提供以下九大价值: 展示楼盘信息 可视化的大屏可以用于展示楼盘的基本信息,包括楼盘名称、位置、户型、价格、面积等,帮助潜在客户快速了解楼盘的特点和优势。 展示楼盘效果图 通过大屏展示楼盘…

【数据结构】希尔排序

大家好,我是苏貝,本篇博客带大家了解希尔排序,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 基本思想二. 实现希尔排序(以数组升序举例)2.1 预排序2.2 排序 三…

Vulnhub靶机:Kioptrix_2014

一、介绍 运行环境:Virtualbox和vmware 攻击机:kali(192.168.56.101) 靶机:Kioptrix: 2014(192.168.56.108) 目标:获取靶机root权限和flag 靶机下载地址:https://ww…

uniapp套壳打包成apk

不管是vue项目还是uniapp项目,只要能打包成 index.html都可以通过uniapp打包成apk 1.首先把这个项目发布到线上 拿百度举例: 发布到百度服务器用 www.baidu.com能访问到 2.然后到uniapp上发布项目用默认的 vue2,如果你的项目是vue3也用vue2 3.废话我觉得说太多了,直接…

迈入编程世界:C 语言初体验

写在前面:OK啊,前面我们介绍了C语言开发环境的搭建,今天我们再来初步的认识一下C语言,了解C语言的基础框架、数据的表现形式以及输入和输出。 文章特点:不会很正经,不会很学术,不会很理论&#…

文件操作:文本文件(写/读)

文件操作可以将数据永久化&#xff0c;C中对文件操作需要包含头文件 < fstream > 文件类型分为两种&#xff1a; 1. 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2. 二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;…

供应链安全之被忽略的软件质量管理平台安全

背景 随着我国信息化进程加速&#xff0c;网络安全问题更加凸显。关键信息基础设施和企业单位在满足等保合规的基础上&#xff0c;如何提升网络安全防御能力&#xff0c;降低安全事件发生概率&#xff1f;默安玄甲实验室针对SonarQube供应链安全事件进行分析&#xff0c;强调供…

JVM 垃圾回收机制:探秘对象生死判定与高效回收算法

目录 一、JVM 对象生死判定 1.1 引用技术算法 1.2 可达性分型算法 二、引用 三、 回收方法区 四、垃圾回收算法 4.1 标记-清楚算法 4.2 标记-复制算法 4.3 标记-整理算法 JVM 程序计数器、虚拟机栈、本地方法栈随着线程而生&#xff0c;随着线程而灭。栈中的栈帧随着方法的…