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