当前位置: 首页 > 专利查询>长安大学专利>正文

一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法技术

技术编号:22167664 阅读:32 留言:0更新日期:2019-09-21 10:54
一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法,包括:向被测工程代码添加追踪配置以及周期性的GPIO翻转,将交叉编译后的结果下载至被测目标,将每个被测目标的SWO接口输出以及每个被测目标用作翻转的GPIO连接至每个分布式采集设备;建立NTP服务器并完成GPS授时;将分布式采集设备作为NTP客户端与NTP服务器,完成所有分布式采集设备的时间同步;控制所有分布式采集设备同时启动被测目标,也启动时间戳采集以及SWO接口输出数据记录,记录所有GPIO翻转的Unix时间戳与SWO接口输出的追踪数据;完成GPIO时间戳与SWO输出数据的对齐。本发明专利技术能够提供高可信、高稳定的硬件辅助追踪数据。

An Embedded Hardware Aided Tracking Track Synchronization Method in Distributed Environment

【技术实现步骤摘要】
一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法
本专利技术属于嵌入式系统评测领域,具体涉及一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法,应对分布式嵌入式系统各个节点间的追踪轨迹数据不同步的问题。
技术介绍
对分布式嵌入式系统进行非侵入式系统状态评测,硬件辅助追踪是非常有限的技术手段,但是,硬件辅助追踪测试所得的由SWO(SerialWireOutput)接口输出的追踪轨迹数据本身是孤立的,不与外部时间关联;而且分布式嵌入式系统各个节点间的追踪轨迹数据也相互孤立,数据之间不同步,追踪轨迹数据连续、数据量大且不同步。虽然硬件辅助追踪单元可以输出内部增量时间戳,但其计数器只有21位,很快就会回零,不适用于长期记录,这就给完整程序的分析与系统状态评测带来了很大的阻碍,因此亟需一种有效的追踪轨迹同步方法。相关技术中,在对分布式嵌入式系统进行评测时,4位GPIO(General-purposeinput/output)向外输出追踪数据,在采集追踪数时,所有的分布式采集设备均需要带有独立的硬件触发功能以及时间戳标记功能的模块,这种方法仅能应对少量数据的同步需求且成本昂贵。
技术实现思路
本专利技术的目的在于针对上述现有技术中的问题,提供一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法,通过该轨迹同步方法为使用嵌入式硬件辅助追踪技术的测试者提供高可信、高稳定的硬件辅助追踪数据,从而极大程度上为系统评测与分析提供便利。为了实现上述目的,本专利技术采用的技术方案包括以下步骤:步骤一、向被测工程代码添加追踪配置以及周期性的GPIO翻转,进行交叉编译;步骤二、将交叉编译后的结果下载至被测目标,将每个被测目标的SWO接口输出连接至每个分布式采集设备,分布式采集设备同时连接每个被测目标用作翻转的GPIO;步骤三、建立NTP服务器并输入GPS数据,对NTP服务器完成GPS授时;步骤四、将所有的分布式采集设备作为NTP客户端与NTP服务器,并且通过网络进行连接,完成所有分布式采集设备的时间同步;步骤五、控制所有分布式采集设备同时启动被测目标,同时也启动时间戳采集以及SWO接口输出数据记录,记录所有GPIO翻转的Unix时间戳(从协调世界时1970年1月1日0时0分0秒起至这一次GPIO翻转时刻的总秒数)与SWO接口输出的追踪数据;步骤六、执行脚本完成GPIO时间戳与SWO输出数据的对齐。所述的步骤一执行被测工程代码的被测目标处理器内核为具有指令追踪宏单元ITM以及数据观察点与追踪单元DWT的ARMCortex-M3/M4内核或更高级别内核。所述的步骤一执行被测工程代码时,首先,开启指令追踪宏单元ITM以及数据观察点与追踪单元DWT并使能SWO接口,并配置数据观察点与追踪单元DWT监测GPIO翻转;在程序运行时,指令追踪宏单元ITM将数据观察点与追踪单元DWT监测到的GPIO翻转事件记录在追踪轨迹内并通过被测目标的SWO接口向外发出。所述的步骤六在进行GPIO时间戳与SWO输出数据对齐时,将观察点与追踪单元DWT记录的GPIO翻转以观察点的形式出现在追踪轨迹中,GPIO时间戳与这个观察点直接对齐。所述的步骤六在进行GPIO时间戳与SWO输出数据对齐时,如果在被测目标启动阶段,被测目标不能输出完整的追踪轨迹,此时GPIO时间戳在追踪轨迹中没有与之相对应的观察点与追踪单元DWT记录,通过脚本程序筛选出这些时间戳并将其删除。所述的指令追踪宏单元ITM内部增量时间戳由21位的计数器产生,记满后清0。所述的步骤四将分布式采集设备通过以太网或者无线局域网连接。所述的步骤五在记录GPIO翻转时,首先采取中断的方式采集GPIO翻转信号,然后再在中断的内部记录当前时刻的Unix时间戳作为GPIO时间戳。与现有技术相比,本专利技术具有如下的有益效果:由于GPIO翻转能够被外部设备捕获并标记时间戳,同时在现代32位嵌入式处理器中执行一次GPIO翻转的速度大约为数十个纳秒,不额外占用更多的程序执行时间,对程序运行的影响可忽略不计;GPIO翻转同时还可以被硬件辅助追踪单元中的DWT(DataWatchpointandTrace)记录并经ITM(InstrumentationTraceMacrocell)打包后由SWO接口输出,因此DWT可以作为桥梁,关联内外时间戳,而分布式采集设备间通过NTP(NetworkTimeProtocol)协议完成时钟同步。本专利技术以DWT为桥梁,关联ITM记录追踪数据的内部时间戳与外部时间戳,同时消除ITM记录数据与真实事件间的是时间延迟,方便测试人员以较高的时间准确度评测分析分布式系统的运行状况。附图说明图1本专利技术的同步方法原理框图;图2本专利技术实施例1的GPIO时间戳采集结果图;图3本专利技术实施例2分布式采集设备上运行的脚本流程图;图4本专利技术实施例2的GPIO时间戳采集结果图;图5本专利技术实施例2被测目标SWO的DWTWatchpoint对齐Unix时间戳后结果图。具体实施方式下面结合附图对本专利技术做进一步的详细说明。本专利技术分布式环境下嵌入式硬件辅助追踪轨迹同步方法,该方法用于同步追踪轨迹内外的时间戳,为追踪轨迹带来精确的时间度量,并消除追踪轨迹与真实事件间的时间延迟。具体包括以下步骤:步骤一、向被测工程代码添加追踪配置,开启ITM与DWT,同时向被测工程代码添加周期性的GPIO翻转,DWT监测这个用作翻转的GPIO,经过交叉编译后下载至被测目标;步骤二、将每个被测目标的SWO输出连接至每个分布式采集设备,将每个被测目标用作翻转的GPIO连接至分布式采集设备,SWO与GPIO连接至同一分布式采集设备;步骤三、建立NTP服务器,并将GPS连接至此NTP服务器,对NTP服务器完成GPS授时。NTP服务器通过与GPS模块的数据输出接口和PPS(PulsePerSecond)接口与卫星时钟保持一致,NTP服务器为局域网中的分布式采集提供精准的时钟源;步骤四、所有的分布式采集设备作为NTP客户端与NTP服务器通过以太网/无线局域网连接,完成所有分布式采集设备的时间同步;步骤五、控制器通过脚本控制所有分布式采集设备同时启动被测目标,启动时间戳采集软件与SWO输出数据记录软件,记录GPIO翻转的Unix时间戳与SWO输出的追踪数据;步骤六、执行脚本完成GPIO时间戳与SWO输出数据的对齐;步骤七、远程重启采集设备与目标,重复步骤一到步骤五,继续对目标进行测试。步骤六中的对齐方法,可以包括以下步骤:在被测目标启动阶段,被测目标不能输出完整的追踪轨迹,此时GPIO时间戳在追踪轨迹中没有与之相对应的DWT记录,需要脚本程序筛选出这些时间戳并将其删除,将有DWT记录的GPIO时间戳选出并将二者一一对应。实施例1为了测试多个分布式采集设备间的同步误差,实验选定chrony软件与UM220-III北斗/GPS导航模块搭建NTP系统,选定1个树莓派3B+作为NTP服务器,2个树莓派3B作为分布式采集设备,1个STM32F103RCT6开发板作为被测目标。被测目标执行STM32CubeMx生成的标准邮箱队列工程代码并在其中添加周期为1ms的GPIO翻转代码,设定两个分布式采集设备在同一时刻运行GPIO采集程序采集被测目标的GPIO翻转,并使用sys/time.h中的get本文档来自技高网...

【技术保护点】
1.一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法,其特征在于,包括以下步骤:步骤一、向被测工程代码添加追踪配置以及周期性的GPIO翻转,进行交叉编译;步骤二、将交叉编译后的结果下载至被测目标,将每个被测目标的SWO接口输出连接至每个分布式采集设备,分布式采集设备同时连接每个被测目标用作翻转的GPIO;步骤三、建立NTP服务器并输入GPS数据,对NTP服务器完成GPS授时;步骤四、将所有的分布式采集设备作为NTP客户端与NTP服务器,并且通过网络进行连接,完成所有分布式采集设备的时间同步;步骤五、控制所有分布式采集设备同时启动被测目标,同时也启动时间戳采集以及SWO接口输出数据记录,记录所有GPIO翻转的Unix时间戳与SWO接口输出的追踪数据;步骤六、执行脚本完成GPIO时间戳与SWO输出数据的对齐。

【技术特征摘要】
1.一种分布式环境下嵌入式硬件辅助追踪轨迹同步方法,其特征在于,包括以下步骤:步骤一、向被测工程代码添加追踪配置以及周期性的GPIO翻转,进行交叉编译;步骤二、将交叉编译后的结果下载至被测目标,将每个被测目标的SWO接口输出连接至每个分布式采集设备,分布式采集设备同时连接每个被测目标用作翻转的GPIO;步骤三、建立NTP服务器并输入GPS数据,对NTP服务器完成GPS授时;步骤四、将所有的分布式采集设备作为NTP客户端与NTP服务器,并且通过网络进行连接,完成所有分布式采集设备的时间同步;步骤五、控制所有分布式采集设备同时启动被测目标,同时也启动时间戳采集以及SWO接口输出数据记录,记录所有GPIO翻转的Unix时间戳与SWO接口输出的追踪数据;步骤六、执行脚本完成GPIO时间戳与SWO输出数据的对齐。2.根据权利要求1所述的分布式环境下嵌入式硬件辅助追踪轨迹同步方法,其特征在于:所述的步骤一执行被测工程代码的被测目标处理器内核为具有指令追踪宏单元ITM以及数据观察点与追踪单元DWT的ARMCortex-M3/M4内核或更高级别内核。3.根据权利要求2所述的分布式环境下嵌入式硬件辅助追踪轨迹同步方法,其特征在于:所述的步骤一执行被测工程代码时,首先,开启指令追踪宏单元ITM以及数据观察点与追踪单元DWT并使能SWO接口,并配置数据观察点与追踪单元DWT监测GPIO翻转;在程序...

【专利技术属性】
技术研发人员:马峻岩李易李尚荣张颖
申请(专利权)人:长安大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1