首页 > 资讯 > > 基于AURIX™ Emulation device (ED)功能实现On-Chip Trace 对OS 进行分析

基于AURIX™ Emulation device (ED)功能实现On-Chip Trace 对OS 进行分析

订阅可获得最新品牌资讯,品牌资源和促销活动等,已有6人订阅
+订阅 已订阅
基于AURIX™ Emulation device (ED)功能实现On-Chip Trace 对OS 进行分析

1. Trace功能简介


Trace 功能用于跟踪记录cpu内部程序运行情况,进行实现代码覆盖率统计,CPU 负载分析,历史代码回溯,OS 调度分析等功能。其实现方式分为Off-Chip Trace 和On-Chip Trace 两种,Off-Chip Trace是指借助外部trace 工具连接目标控制器实现Trace 功能,On-Chip Trace 是指通过MCU 自身进行Trace功能的实现, 该方法的优点在于无需外接trace 设备即可实现Trace功能,便于调试的同时也节约了成本。那么是否所有的芯片都支持On-Chip Trace呢?显然并不是。On-Chip Trace的实现需要依赖于芯片本身的Emulation device (ED)功能,下面我们以AURIX™ TC39x ED为例来简单介绍一下其功能及具体使用方式。

2. AURIX™ TC39x ED简介


AURIX™  TC39x Emulation Devices提供了与TC39x标准系列相同的功能集,并具有额外的调试和跟踪功能。TC39xXE支持校准、快速原型设计和调试/仿真。其具有的4 MB扩展内存(EMEM),其中2MB可用于校准和跟踪,支持Multi-Core Debug Solution (MCDS)多核调试方案,支持Aurora Gigabit Trace (AGBT) ,CPU可以完全访问所有仿真资源,使所有类型的接口(如以太网)都能作为工具连接。

AURIX 其余系列 Emulation Devices描述参考英飞凌官网的如下链接:

AURIX™ TC2xx Emulation Devices - Infineon Technologies

AURIX™ TC37x Emulation devices - Infineon Technologies

3. On-Chip Trace实战演示


下面基于TC39x ED 型号的芯片演示On-Chip Trace 功能,调试器使用目前主流的Aurix调试器劳特巴赫, 397 上运行的操作系统采用车规级的CP Autosar OS。最终实现Task 调度分析,CPU 负载分析。

1) Trace 功能菜单介绍

Trace功能相关的菜单选项位于劳特巴赫主菜单的中间部分,各个下拉框的选项和含义如下图所示:

Trigger_0-1703788349021.png

2Trace功能的配置


Trace Configuration打开后的窗口如下图所示,如果使用OnChip Trace 功能,需要将METHOD 选为Onchip.

State 用于设置/显示 Trace 的状态,OFF是停止跟踪,ARM 是开始跟踪, Disable 是禁用, 若选中Disable ,则无法自动打开或者配置Trace 功能。

SZIE 用于设置/显示存储大小(若为EMEM ,则最大空间为2MB), Mode用于设置/显示Trace 数据的存储模式。

Trigger_1-1703788349030.png

3Trace MCDS 设置

MCDS 用于设置跟踪哪个CPU 的数据,以及跟踪哪些数据。时间戳的开启也是在这个页面设置。

Trigger_2-1703788349033.png

4ORTI文件导入


ORTI由Autosar OS 配置工具生成,本文中我们使用Vector 的davinci configurator进行生成,将该文件导入到劳特巴赫软件中可以用于解析OS 对应的符号表。导入Trace 后会多出一些如下图所示的跟OS Task 相关的功能选项。如采用命令行的方式导入,可采用如下命令:TASK.ORTI D:\ORTI_Path\Os_Trace.ORT

Trigger_3-1703788349038.png

 

5Task Switches断点的设置

设置Task 切换时的断点,将断点发生时的动作设置TraceEnable, 即可利用Trace 功能记录每次Task的切换。

Trigger_4-1703788349043.png

6) Trace 数据的录取

通过点击Arm开始录取Trace 数据, used 里面的蓝色进度调显示实际的Trace 数据占用的存储空间,如需停止录取,可点击OFF.

Trigger_5-1703788349048.png

7) CPU 负载和Task调度的查看


在Trace 数据录取完毕后,通过Perf 选项Task Runtime 可以查看CPU 负载和调度状态,并基于此来进行OS 性能的分析以及相关问题的排查

Trigger_6-1703788349052.png

Trigger_7-1703788349063.png

:戴墨镜微笑:劳特巴赫CMM脚本的运用

可采用以下的脚本实现上述操作的自动化配置

print "initializing ORTI support..."
TASK.ORTI D:\ORTI_Path\Os_Trace.ORT
system.memAccess.CPU ; allow to access to other memory while running
SYstem.CpuAccess.Enable ; allow to access cpu memory while running
Targetsystem
PRINT "load complete."
PRINT TASK.CONFIG(magic)
MCDS.SOURCE.Set CpuMux0.Core TriCore0
MCDS.SOURCE.Set CpuMux1.Core TriCore2
Break.Set TASK.CONFIG(magic[0]) /Write /TraceEnable
Break.Set TASK.CONFIG(magic[2]) /Write /TraceEnable
MCDS.TimeStamp ON
CLOCK.ON
MCDS.SOURCE.Set CpuMux0.Program OFF
MCDS.SOURCE.Set CpuMux1.Program OFF
MCDS.SOURCE.Set CpuMux0.WriteAddr ON
MCDS.SOURCE.Set CpuMux0.WriteData ON
MCDS.SOURCE.Set CpuMux1.WriteAddr ON
MCDS.SOURCE.Set CpuMux1.WriteData ON
ENDDO


点赞 (0)

收藏 (0)

最新文章

查看更多

热门标签

热门文章

唯样公众号二维码

扫描二维码,获取更多的唯样商城产品、技术资讯。
公众号:oneyac

上一篇:

感应加热原理与IGBT应用拓扑分析(上)

下一篇:

商业、建筑和农业车辆应用中TO-247PLUS分立封装的回流焊接

我的足迹

清空浏览历史

我的收藏 默认收藏夹

进入我的收藏>>

线

在线销售