Tracealyzer利用CortexM的ITM实现流跟踪

用tracealyzer快照模式,能够跟踪rtos系统的运行时间受限于硬件可用的ram大小,通常只能追踪几十秒的时间。使用流模式则不会存在这个问题,只要电脑硬盘空间足够,可用追踪几小时甚至几天的时间。
流模式需要提供一个可用于实时传输跟踪事件数据的通讯端口,例如使用j-linkk rtt、uart和usb等接口。很多cortexm3/m4/m7 等架构的芯片会配有 itm(instrument trace macrocell),来打包和传输 dwt 产生的事件。itm有 32个通道,通过swo进行串行传输。借助itm来实现流模式的数据传输,可以不受调试器的限制,只要使用的调试器支持swo调试都可以使用,但推荐使用速率较高的调试器。
itm能够提供较高的传输速度。经测试,renesas s7g2运行在240mhz,使用iar ewarm 7.1和i-jet调试器时,每秒可以传输73 400个事件,达到1175kb/s的传输速率。
使用arm-itm流模式
下文将以iar ewarm 8.40、i-jet调试器和tracealyzer 4.35为例说明如何配置和使用itm实现流模式跟踪。
note:
1、只有tracealyzer v4.1及更新的版本才支持itm流模式。
2、所使用的mcu须支持itm。itm对于mcu来说是一个可选的配置,不是所有的m3/m4/m7芯片都支持,但主流的芯片一般都支持。
一、将streamports下j-link_rtt内的源文件加入到工程。
图 1  arm itm实现的源文件
二、在trcconfig.h中配置
#define trc_cfg_hardware_port  trc_hardware
_port_arm_cortex_m
#define trc_cfg_recorder_mode trc_recorder
_mode_streaming
三、工程设置中选择调试接口,与实际所使用的一致,这里使用swd。
图 2 设置调试接口
四、启动trace,须使用vtraceenable(trc_start)。
五、进入iar ewarm的调试环境,点击上方的swo配置图标,打开swo设置。
图 3 打开ewarm的swo配置窗口
六、设置正确的cpu时钟,并勾选所使用的itm通道,默认使用通道1,确认之后退出并关闭iar ewarm。
图 4 ewarm swo设置
七、从工程目录下的settings目录,打开工程的*.dnx文件(ewarm 7.x的格式为*.dni)
图 5 dnx文件
将itmlogfile改成如下所示:
\.pipetracealyzer
保存文件后再打开iar,进入调试查看swo中的设置界面进行确认。
八、启动tracealyzer,psf streaming settings的target connection设置为name pipe,name与ewarm *dnx中设置的一致。ewarm与tracealyzer利用windows通信机制(命名管道-named pipe,在不相关进程之间实现通信)传递数据,由此,tracealyzer可以通过ewarm来实时获取跟踪数据。
图 6 设置流模式的连接方式
九、开启实时跟踪。需要先启动tracealyzer,live stream窗口中点“start session”之后,ewarm再进入调试,然后就可以实现实时跟踪。


物联网智能在建筑空间中有什么样的应用
猛玛发布传奇C1无线图传,让直播/监看永不黑屏!
长光辰芯发布8K APS-C画幅背照式堆栈CMOS图像传感器新品,CMOS图像传感器价格竞争加剧
MOSFET驱动器介绍及功耗计算
厚膜功能电路产品详细介绍
Tracealyzer利用CortexM的ITM实现流跟踪
fireflyAIO-3399J主板U-Boot使用介绍
机器学习之特征提取 VS 特征选择
SiC MOSFET电动汽车牵引逆变器设计
华为WatchGT2正式发布 售价229欧元起
集成电路_IC测试工作原理
显示器的显示接口有什么区别
物联网技术如何变得更安全
NTC热敏电阻选用要点及布置分析
Python怎样存储变量性能最优
LIBS煤质实时检测技术在电力行业的推广及应用
不再有那些挥之不去的烦扰, 益莱储ICDIA 2023分享测试设备租赁与资产优化管理方案
电化学传感器防水透气膜的特点是什么,它有哪些应用
学大数据好还是人工智能好?
在能量收集过程中功率变化的应对方案介绍