HighTec编译器系列之01新建工程

news2025/1/10 20:27:01

HighTec编译器系列之01新建工程

继上篇《Hightec编译器系列之白嫖就是爽》小T告诉大家如何白嫖HighTec编译器长达一年之久之后,今天小T告诉大家如何进行HighTec编译器IDE的基础操作-即新建HighTec工程

以下是本期内容的行文大纲:

01新建工程

S1:创建空工程

1.1 点击如下按钮“Create HighTec Project ” 按照如下顺序进行创建空工程:

image-20240218220028057

1.2 创建工程名并选择对应的产物名称以及语言类型,本工程以Tricore, C语言为例进行讲解:

image-20240218220340059

1.3 点击如下“Finish” 按钮即可创建一个空的HighTec IDE工程:

image-20240218220447877

1.4 创建好的空工程如下图所示,仅包含默认的头文件包含路径,这些默认的头文件包含路径主要是包括一些编译器自带的库文件等:

image-20240218220606826

S2:添加源代码

2.1 基于S1步骤创建好空工程之后,接下来就是添加源代码,添加源代码方式非常简单粗暴,按照如下方式找到空工程根目录下然后直接将源代码复制粘贴即可:

右键点击空工程Demo然后选择**“Properties”** 便可以进入到该工程的编译配置界面:

image-20240218221304495

image-20240218221444407

image-20240218221735607

右键工程点击“**Refresh”**便可以看到上述添加的源代码目录:

image-20240218221931329

S3:添加头文件路径

3.1 右键Demo工程选择“Properties”便进入到如下界面,然后按照如下数字顺序点击便可以进入到添加头文件路径操作:

image-20240218222145857

3.2 点击如下图右侧的**“+”**按钮,然后选择“Workspace” ,进入到头文件选择界面:

image-20240218222429335

image-20240218222658487

上述操作就是表明将所有可能包含头文件的目录全部包含进去,以防止漏选,首次全部选择,后续可以针对性添加,展开后发现文件夹太多怎么办,不要着急,首先可以选中最开始点,然后按住Shift键,最后选择最后展开的目录,此时便可以将中间所有的目录全部选上。

添加好的头文件路径如下图所示:

image-20240218223432120

注意:相比HighTec IDE, Tasking或者ADS集成环境就不需要选择头文件路径,可以自动识别相应的头文件所在路径,非常友好,确实是英飞凌的亲儿子,果然不一般。

S4:修改CPU类型

接下来我们需要针对我们使用的CPU类型来选择对应的CPU型号,方法同上,还是右键点击工程进入到“Property”目录,然后按照如下数字顺序点击便可以进行选择,本Demo工程使用的CPU型号是TC397,所以选择TC39XX:

image-20240218223836108

注:这个CPU类型的更改很多小伙伴容易忘记,否则编译就会报莫名的错误,务必完成该步骤的配置。

S5: 修改Link脚本路径

5.1 编译到最后,我们都需要进入到Link阶段,因此有必要添加对应的lsl脚本文件来保证代码按照Link脚本进行内存分配,本工程根目录下已添加好对应的Link脚本文件如下图所示:

image-20240218224306484

5.2 添加好上述Link脚本之后,还需要指定Link脚本路径,还是要进入到该Demo工程的"Properties"界面,在界面中按照

image-20240218224756566

S6:编译执行

6.1 选中Demo工程,然后可通过点击右键选中“Build Project”选项便可以开启工程编译,当然也可以直接通过快捷键“Ctrl+B”来实现编译:

image-20240218224955752

6.2 如果需要清除之前生成的产物,那么便可以右键工程然后选择“Clean Project”来完成整个产物的清除:

image-20240218225145501

6.3 如果工程较大想提高编译速度,可以右键进入到工程的“Properties”界面,然后点击C/C++ Build-> Behavior -> Enable parallel build进行设置即可:

image-20240218225339020

注意事项:

  • ** 一般来说,你可以通过设备管理器查看当前电脑存在多少个核心,一般使能的多线程数目应不超过电脑总核心 2的原则来设置;*

  • HighTec IDE编译会自动生成makefile文件,然后通过Make指令来构建工程最终完成工程的编译;

  • 默认自动支持增量编译;

更多精彩内容,欢迎大家多多关注公众号“ADAS与ECU之吾见”,所有最新文章公众号首发。

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

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

相关文章

Cesium for Unreal 从源码编译到应用——插件编译

一、安装环境 Unreal Engine 5.3 CMake 3.17.5 Microsoft Visual Studio 2019 二、源码准备 下载cesium-unreal-samples工程。 git clone https://github.com/CesiumGS/cesium-unreal-samples.git 然后在工程目录创建Plugins文件夹,并下载cesium-unreal工程。 …

java常用应用程序编程接口(API)——Objects类和包装类

前言: Object类和Objects类是完全不同的两个类,之前有说过Object类,这次说一下Objects类。打好基础,daydayup! Object类可以看这篇:java常用应用程序编程接口(API)——Object类概述及常用方法 O…

IIC通信驱动硬件编程 (1)

1、IIC协议基础 I2C( IIC )属于两线式串行总线,由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于一主多从即一个主设备(Master),多个从设备(Slave))的总线结构,总线上的每个设备都有一个特定的设备地…

MR(混合现实)系统的开发流程

MR(混合现实)系统是一种将虚拟信息与真实世界环境相结合的技术,通过头戴式显示器、智能手机等设备将虚拟对象叠加在用户的真实感知中。它可以让用户与虚拟对象进行互动,并在真实环境中观察虚拟对象的行为。MR(混合现实…

this的指向问题总结

this一般会出现在函数里面,但是一般情况下只有在函数被调用执行时,才能确定this指向哪个对象。一般情况下this是指调用函数的对象。 1.在全局作用域下或者普通函数中this的指向一般都是window对象 window.fn(),普通函…

​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

欢迎来CILMY23的博客喔,本期系列为​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】,图文讲解各种字符串函数,带大家更深刻理解C语言中各种字符串函数的应用&am…

35年的卓越成就:威步在网络安全和软件授权领域持续领先

1989-2023:威步成立35年里程碑。这35年中,公司始终致力于业务连续性、技术进步和团队凝聚力。 ​全球信任与在地优势:威步凭借其全球渠道合作伙伴网络,确保国际客户像信赖本地优质企业一样信赖他们。 传统与创新:威步…

Solidworks:焊件(型材)结构构件设计

焊件(型材)结构构件设计是Solidworks的一大特色。使用这一功能,能够体会到这款软件的架构设计在逐步递进增加软件功能方面做出的特别努力。 设计一个三角形框架 正面: 换个角度观察: 再来一个练习,包含…

顺序表详解(SeqList)

本文使用C语言进行顺序表的代码实现。 博主将使用代码和相关知识相结合的方式进行讲解,简单易懂,懵懂的大学生一听就会~ 顺序表是一种线性表的存储结构,它将数据元素存储在一段连续的存储空间中,每个元素占据一个存储单元&#x…

Spring Security 认证授权安全框架

Spring Security概述 1.什么是Spring Security? Spring Security是一个Java框架,用于保护应用程序的安全性。它提供了一套全面的安全解决方案,包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念,可以轻松地集成到任…

白盒测试接口测试自动化测试

一、白盒测试:一种测试策略,允许我们检查程序的内部结构,对程序的逻辑结构进行检查,从中获取测试数据。白盒测试的对象基本是源程序,所以它又称为结构测试或逻辑驱动测试,白盒测试方法一般分为静态测试和动…

Cesium 问题:加载 gltf 格式的模型之后太小,如何让相机视角拉近

文章目录 问题分析问题 刚加载的模型太小,如何拉近视角放大 分析 在这里有两种方式进行拉近视角, 一种是点击复位进行视角拉近一种是刚加载就直接拉近视角// 模型三加载 this.damModel = new Cesium.Entity({name: "gltf模型",position:</

leetcode hot100零钱兑换Ⅱ

本题可以看出也是背包问题&#xff0c;但区别于之前的01背包问题&#xff0c;这个是完全背包问题的变形形式。 下面介绍01背包和完全背包的区别与联系&#xff1a; 01背包是背包中的物品只能用一次&#xff0c;不可以重复使用&#xff0c;而完全背包则是可以重复使用。01/完全…

一命通关动态规划dp

前言 这篇文章详细概括了动态规划的所有题型&#xff0c;以及各个题型的解决公式方法。如果看完这篇动态规划还是不会做题&#xff0c;我来给你补&#xff0c;我爱说点实话。 动态规划 何为动态规划&#xff1f; 动态规划&#xff0c;有一点暴力求解的感觉。用最通俗的语言来…

利用nbsp设置空格

想要实现上面效果&#xff0c;一开始直接<el-col :span"8" >{{ item.name }} </el-col> 或者<el-col :span"8" >{{ item.name }}</el-col>或者<el-col :span"8" >{{ item.name }}</el-col> 都无…

【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环”(python 排班表系列)

背景需求&#xff1a; 又到了开学季&#xff0c;新的自主游戏&#xff08;户外游戏&#xff09;安排表出炉了。 这张是贴在美术活动室的安排表&#xff0c;我需要转换成班级为单位的安排表&#xff0c;便于批量制作周计划。 设计思路&#xff1a; 1、一个班级每周轮到的一个场…

网工内推 | 上市公司、外企网工,厂商认证优先,最高18K*13薪

01 北京电旗通讯技术股份有限公司 招聘岗位&#xff1a;网络运维工程师 职责描述&#xff1a; 1.负责内部核心网络的运行监控、故障处理。 2.对网络性能进行监控和调优。 3.负责网络设备的规划选型。 4.设计网络架构拓扑图,制定网络规范。 5.分析处理复杂网络故障。 6.负…

sizeof()的易错点

你也可以传入一个变量的名字&#xff08;而不只是类型&#xff09;给 sizeof()&#xff0c;但在一些情况下&#xff0c;可能得不到你要的结果&#xff0c;所以要小心使用。例如&#xff0c;看看下面的代码片段&#xff1a; 在第一行&#xff0c;我们为 10 个整数的数组声明了空…

【前端】前端三要素之JavsScript基础

写在前面&#xff1a;本文仅包含JavaScript内容&#xff0c;DOM知识传送门在这里&#xff0c;BOM传送门在这里。 本文内容是假期中刷的黑马Pink老师视频&#xff08;十分感谢Pink老师&#xff09;&#xff0c;原文保存在个人的GitLab中&#xff0c;如果需要写的网页内容信息等可…

笔记:torch.roll

最近在准备写 swin transformer 的文章&#xff0c;记录下 torch.roll 的用法&#xff1a; >>> x torch.tensor([1, 2, 3, 4, 5, 6, 7, 8]).view(4, 2) >>> x tensor([[1, 2],[3, 4],[5, 6],[7, 8]]) 第0维度向下移1位&#xff0c;多出的[7,8]补充到顶部 &g…