Infineon英飞凌汽车电子生态圈

文章数:158 被阅读:336832

datasheet推荐 换一换
随便看看
账号入驻

AURIX™ TC4x 如何使用MathWorks Matlab工具箱自动生成PPU目标代码

最新更新时间:2024-10-16
    阅读数:

英家MCU之AURIX™

技术文章


摘要

英飞凌和MathWorks合作开发了新一代微处理器AURIX™  TC4x Hardware Support Package (HSP)。HSP通过两款软件插件可以方便实现TC4x TriCore™ CPU 和PPU的自动代码生成,结合芯片底层驱动软件,自动调用相关编译器,生成目标代码。配合TC4x 开发板,进一步实现PIL(Processor In the Loop)测试功能。


本文将对MathWorks提供的支持文档Get Started with SoC Blockset Support Package for Infineon AURIX™ Microcontrollers进行补充说明,针对操作过程中可能遇到的问题,给出解决方法。


工具链安装

请安装Matlab v2023b 及以上版本。完成后,请安装两款插件。可以在Matlab 软件界面右上角“Matlab help center”中搜索PPU,如图1,在下面界面中可以找到文档“Get started with SoC Blockset support package for Infineon AURIX™ Microcontrollers”。

图1 在Matlab help center中搜索PPU


点击打开该文档后,继续点击“Install SoC Blockset Support Package for Infineon AURIX™ Microcontrollers”。

图2 Get started with SoC Blockset support package for Infineon AURIX™ Microcontrollers


之后找到HSP安装说明文档,如图3所示,请按该说明文档,依次安装两个插件。需要注册登录MathWorks账号,才能安装add-on。

图3 安装Hardware support package (HSP)


成功安装后,下列两个插件会出现在“Add-On manager”中,如图4所示。第一个插件用于生成基于TC4x 的ANSI/ISO C/C++代码。第二个插件用于多核间通讯,包括PPU核。

图4 安装完成的插件


在插件安装过程中,可能出现下面问题。

1

问题一:点击“Install version 10.1r1”,找不到编译器Tasking安装路径。

图5 无法找到编译器TASKING安装路径


解决方法: 可以通过下列网址注册,获取3个月免费试用版TASKING SmartCode for AURIX TC4x: https://www.tasking.com/aurixdevstudio_limited

如果下载了TASKING和iLLD,即便这里显示not detected,也不要卡在这里,可以点击next,到validation那一步去指定路径。如果是下载的ADS_Limited并获取了smartcode的license,那么路径是:AURIX-Studio-limited-1.10.0-L\plugins\com.infineon.aurix.ads.tc4xx.tools_1.10.0\build_system\tools\Compilers\Tasking_10.1r1\ctc\bin


2

问题二:点击“iLLD for TC4x family”,无法访问相关链接。

图6 无法找到TC4x iLLD驱动软件


解决方法: 用户需要先注册MyInfineon账号:https://softwaretools.infineon.com/cart/welcome,如图7所示。注册完成后,联系英飞凌或在MyCases(使用说明请参考https://www.infineon.com/export/sites/default/en/about-infineon/company/contacts/support/images/Leaflet-Infineon-myCases-portal.pdf)中申请获取TC4x iLLD 驱动软件。

这里在validation一步指定iLLD路径文件夹时,要确保是包含iLLD_TC4xx_2_0_1_2_19_Package文件夹的路径,而不是iLLD_TC4xx的子路径,否则Matlab识别不出来。

图7 注册MyInfineon账号


PPU例程编译

在帮助页面“Get started with SoC Blockset…”,有个PPU例程“Get started with PPU acceleration…”。双击打开该模型。

图8 PPU例程


请按照帮助页面“Get started with SoC Blockset…”中两个文档对该PPU例程进行配置、验证、编译和下载。

图9 帮助文档


模型成功编译后,会生成Tricore CPU、PPU目标代码 ,如下所示。

图10 模型成功编译生成目标代码


在上述过程中,可能出现下列问题。

1

问题一:出现多核数据读写问题。

解决方法: 必须要事先安装两个插件:

图11 多核数据读写问题


2

问题二:模型编译错误,代码生成文件夹结构(CodeGenFolderStructure)需要定义。

解决方法: 在Matlab命令行中输入:Simulink.fileGenControl('set','CodeGenFolderStructure',Simulink.filegen.CodeGenFolderStructure.TargetEnvironmentSubfolder);

图12 代码生成文件夹结构未定义


3

问题三:函数未被定义为单元输入。

解决方法: 不要保存,关闭模型,之后重新打开模型,再次validate。

图13 函数未被定义为单元输入


4

问题四:无法保存某个模型。

解决方法: 在Matlab命令行输入save_system('tc4x_IpcPPU','SaveDirtyReferencedModels',true)

图14 无法保存某个模型


5

问题五:在编译阶段,报Error using coder.make.internal.

configureToolchain错误。

图15 编译阶段报错


解决办法: 需要下载Synopsys Metaware for AURIX™ TC4x,并在HSP的hardware Setup中进行配置。用户可以在下面网页注册获取3个月免费Metaware license: https://www.synopsys.com/cgi-bin/dwarc_prod/req1.cgi

图16 下载并配置Synopsys Metaware for AURIX™ TC4x


参考文献

[1] “Get Started with SoC Blockset Support Package for Infineon AURIX Microcontrollers”, https://ww2.mathworks.cn/help/soc/getting-started-with-infineon.html


欢迎关注微信公众号

英飞凌汽车电子生态圈

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved