dw网站制作模板,wordpress建地方门户,精准营销系统价值,如何使用上线了app建设网站Lauterbach使用指南之RunTime功能 前言
首先#xff0c;请问大家几个小小问题#xff0c;你清楚#xff1a;
Lauterbach这个工具是干什么用的吗#xff1f;在软件运行过程中如何测量两个运行point之间的runtime时间呢#xff1f;Lauterbach的RunTime功能具体应当如何来操… Lauterbach使用指南之RunTime功能
前言
首先请问大家几个小小问题你清楚
Lauterbach这个工具是干什么用的吗在软件运行过程中如何测量两个运行point之间的runtime时间呢Lauterbach的RunTime功能具体应当如何来操作获取我们想要的结果
今天我们来一起探索并回答这些问题。为了便于大家理解以下是本文的主题大纲 正文
Lauterbach工具基本介绍
Lauterbach公司是一家专业提供微处理器开发工具的公司其主要产品是TRACE32 PowerTools包括在线调试器、跟踪器、逻辑分析仪等。Lauterbach公司成立于1979年总部位于德国霍夫是全球最大的私营嵌入式系统调试工具供应商
Lauterbach公司的客户包括汽车、航空、电信、医疗、工业等领域的知名企业Lauterbach公司的软件支持多种微处理器架构如ARM、Intel、PowerPC、TriCore等可以用于调试、跟踪、分析、优化等目的
Lauterbach公司还提供了一种脚本语言叫做Practice可以用于自动化测试、创建图形化界面、初始化和配置TRACE32软件等同时也加入了Python脚本功能能够直接通过Python脚本便可以控制Lauterbach的相关自动化脚本编写
Lauterbach主要面向应用对象是嵌入式软件开发人员对于汽车电子开发那是必备的基本工具该工具能否熟练使用将决定你解决问题的效率因此有必要提高针对该工具的相关熟练使用意识该工具对于行业内部人员来说简称为LB。
后续小T也会针对Lauterbach其他功能做进一步的介绍欢迎大家多多关注。
RunTime功能应用场景
在我们调试软件的过程中我们经常需要测量程序从A点到B点的所需时间如果每次均通过记OStick的方式来测量都需要重新添加调试代码编译再次调试才能够完成这方面的测量如果我们想在不添加任何调试程序的情况下测量程序任意A点到B点所需的运行时间此时便可以使用到LB的RunTime功能。
LB通过RunTime功能便可以实现程序从任意A点到B点的运行时间让我们能够快速完成程序任意执行runtime时间的测量。
RunTime功能使用说明
接下来我们来了解下LB的RunTime功能的具体使用以下小T将从如下四个方面进行展开讲解
RunTime测量原理讲述RunTime实现的一个基本原理方法或者策略RunTime测量精度获取讲述RunTime的测量精度如何获取RunTime常见指令说明讲述RunTime功能模块对应的常见指令的基本作用RunTime测量结果确认讲述RunTime测量结果最终如何确认
如下图为RunTime的功能界面可通过如下的方式可以调出
图1 LB的RunTime功能界面 RunTime测量原理
如下图2所示列举了LB采用不同的测量信号方法同时也给出了基于不同测量信号方法所得出的RunTime测量精确度的一个定性评估。
图2 LB的RunTime测量原理 RunTime时间的测量原理可以发现有如上四种方式每种方式控制RunTime Start与Stop的方式其中CPU Running signal与“NEXUS Debug Status Message”两种测量方式精度最高另外两种次之。
对于绝大多数芯片架构而言一般基本上采用的是“Polling the PC”的方式来进行测量最小的Polling时间为1ms对于ARM7或者ARM9芯片架构一般采用的CPU running signal测量方法一般测量精度较高。
RunTime测量精度获取
如果需要获取当前RunTime的测量精度LB也提供了如下一条非常简洁的指令来获取当前RunTime功能的测量精度
RunTime.ACCURACY()
RunTime常见指令说明
为了便于大家及时查阅相关指令小T将LB的RunTime功能常见的指令及其功能说明整理如下表
图3 LB的RunTime常见指令说明 注意上述绝对时间的得出参考时间原点均为调用指令System.up或者RunTime.Init开始记时。
RunTime测量结果确认
如下图为执行RunTime.State指令或者上图1中通过菜单栏调出的最终结果我们需要能够看懂各时间参数含义 该RunTime的显示框中有refArefB, laststartactual这四纵栏有zerorefArefBlaststart这四项横栏对于refA列zero行下面对应的即为该ref A-zero得出的结果即Ref A的时间那么对于Ref B列与zero行对应的时间则为Ref B- zero对应的结果即Ref B的时间。
同理如果想知道最近一次执行Go到Break两者之间的时间则只需要看actual列与laststart行对应的时间即可如上图为30.100us即如果我们想知道程序运行A点至B点的所需时间可以提前在程序A点与B点分别打上断点待程序运行至A点后再点击“Go”指令运行至B点时就会停下此时查看actual列与laststart行对应的时间就为程序A点至B点的运行时间即每次只需要看最右下角的时间即可。
好了以上就是本次LB的RunTime功能的精华内容总结希望能够大家带来帮助也希望大家能够多多转发分享
更多精彩内容欢迎大家多多关注公号“ADAS与ECU之吾见”